/*
 * EPR 2026 V028 — Enterprise UI / Typography Balance Theme
 * Presentation layer only. Business/system baseline remains Electronic-PR-V100.
 */

/* V306 — Responsive / Breakpoint Standardization.
 * Canonical screen breakpoint tiers for NEW shared/workspace CSS:
 *   Compact <= 430px | Mobile <= 700px | Tablet <= 900px | Workspace <= 1180px | Full HD >= 1600px.
 * Existing module-specific thresholds are compatibility-locked and remain unchanged until a module-specific visual redesign is approved.
 * CSS custom properties cannot parameterize media conditions portably; these tiers are governance/catalog authority, not runtime variables.
 * Media-query syntax only is normalized; thresholds, media types, cascade order, A4/PDF/print rules, and responsive behavior remain unchanged.
 */
:root{
  --epr26-navy:#0b2b4f;
  --epr26-navy-strong:#08223f;
  --epr26-blue:#1f6feb;
  --epr26-blue-hover:#195fcb;
  --epr26-bg:#f6f8fb;
  --epr26-surface:#ffffff;
  --epr26-surface-soft:#f9fbfd;
  --epr26-text:#182230;
  --epr26-muted:#687386;
  --epr26-muted-2:#8a94a5;
  --epr26-border:#e5eaf0;
  --epr26-border-strong:#d7dee8;
  --epr26-success:#16805d;
  --epr26-warning:#a96708;
  --epr26-danger:#bd3947;
  --epr26-purple:#7156b8;
  --epr26-sidebar-width:236px;
  --epr26-sidebar-collapsed-width:72px;
  --epr26-content-width:1480px;
  --epr26-radius:10px;
  --epr26-radius-lg:14px;
  --epr26-shadow:0 1px 2px rgba(16,24,40,.03),0 5px 18px rgba(16,24,40,.035);
  --epr26-font-ui:"Segoe UI",Tahoma,Arial,"Noto Sans Thai",sans-serif;
  --epr26-font-document:Tahoma,"Noto Sans Thai",Arial,sans-serif;

  /* V400 — Shared Page Header Typography Contract.
   * One source of truth for every epr2026ThemePageTitleArea() screen header. */
  --epr-page-header-breadcrumb-size:12px;
  --epr-page-header-breadcrumb-weight:500;
  --epr-page-header-breadcrumb-line-height:1.3;
  --epr-page-header-title-size:24px;
  --epr-page-header-title-weight:700;
  --epr-page-header-title-line-height:1.25;
  --epr-page-header-subtitle-size:13px;
  --epr-page-header-subtitle-weight:400;
  --epr-page-header-subtitle-line-height:1.4;
}

*{box-sizing:border-box}
html{background:var(--epr26-bg)}
body.epr2026-authenticated,body.epr2026-public{margin:0;background:var(--epr26-bg);color:var(--epr26-text);font-family:var(--epr26-font-ui)}
.epr2026-app{min-height:100vh}

/* Sidebar */
.epr2026-sidebar{position:fixed;inset:0 auto 0 0;width:var(--epr26-sidebar-width);z-index:120;display:flex;flex-direction:column;background:var(--epr26-navy);color:#fff;border-right:1px solid rgba(255,255,255,.05);transition:width .2s ease,transform .2s ease}
.epr2026-sidebar-brand-row{position:relative;min-height:82px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.epr2026-brand{min-width:0;flex:1;display:flex;align-items:center;gap:12px;padding:17px 16px;color:#fff;text-decoration:none}
.epr2026-brand-logo{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#fff;color:var(--epr26-navy);font:800 13px/1 "Segoe UI",Arial,sans-serif;letter-spacing:.02em}
.epr2026-brand-logo img{padding:4px}
.epr2026-brand-copy{min-width:0}.epr2026-brand-copy strong,.epr2026-brand-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epr2026-brand-copy strong{font-size:14px;font-weight:700;letter-spacing:.005em}.epr2026-brand-copy span{margin-top:3px;color:rgba(255,255,255,.52);font-size:10px;font-weight:500}
.epr2026-collapse-btn{position:absolute;right:-13px;top:26px;width:26px;height:26px;padding:0;border:1px solid #dce3eb;border-radius:50%;background:#fff;color:#596579;display:grid;place-items:center;font:700 17px/1 Arial;cursor:pointer;box-shadow:0 2px 6px rgba(16,24,40,.08);z-index:2}
.epr2026-collapse-btn:hover{color:var(--epr26-blue);border-color:#c4d0df}
.epr2026-nav{padding:20px 12px 12px;overflow:auto}
.epr2026-nav-section{padding:0 10px 8px;color:rgba(255,255,255,.37);font-size:10px;font-weight:700;letter-spacing:.12em}
.epr2026-nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:44px;margin:2px 0;padding:9px 10px;border-radius:8px;color:rgba(231,238,248,.82);text-decoration:none;font-size:13.5px;font-weight:600;line-height:1.3;transition:background .15s ease,color .15s ease,box-shadow .15s ease}
.epr2026-nav-link:hover{background:rgba(255,255,255,.075);color:#fff}.epr2026-nav-link.active{background:var(--epr26-blue);color:#fff;box-shadow:0 6px 14px rgba(31,111,235,.2)}
.epr2026-nav-link.active:before{display:none}
.epr2026-nav-icon{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;color:#c6d4ea;line-height:1}.epr2026-nav-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.epr2026-nav-link:hover .epr2026-nav-icon,.epr2026-nav-link.active .epr2026-nav-icon{color:#fff}.epr2026-nav-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epr2026-sidebar-spacer{flex:1}
.epr2026-public-access-card{margin:10px 14px 12px;padding:11px 10px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:9px}.epr2026-public-access-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#58c89a;box-shadow:0 0 0 3px rgba(88,200,154,.12)}.epr2026-public-access-card strong,.epr2026-public-access-card span{display:block}.epr2026-public-access-card strong{font-size:10px;color:rgba(255,255,255,.82)}.epr2026-public-access-card span{margin-top:2px;font-size:8px;color:rgba(255,255,255,.4)}

/* App shell + topbar */
.epr2026-main{min-height:100vh;margin-left:var(--epr26-sidebar-width);transition:margin-left .2s ease}
.epr2026-overlay{display:none;position:fixed;inset:0;z-index:110;padding:0;border:0;border-radius:0;background:rgba(8,23,42,.38)}
.epr2026-menu-btn{display:none;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid var(--epr26-border);border-radius:8px;background:#fff;color:var(--epr26-navy);align-items:center;justify-content:center;font-size:18px;cursor:pointer}
.epr2026-page-topbar,.epr2026-authenticated .topbar,.epr2026-authenticated .history-topbar,.epr2026-approval-themed .topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid var(--epr26-border);box-shadow:none;backdrop-filter:blur(10px)}
.epr2026-page-topbar-in,.epr2026-authenticated .topbar-in,.epr2026-authenticated .history-topbar-in,.epr2026-approval-themed .topbar-in{width:100%;max-width:var(--epr26-content-width);min-height:76px;margin:0 auto;padding:11px 26px;display:flex;align-items:center;gap:14px}
.epr2026-authenticated .topbar-in,.epr2026-approval-themed .topbar-in{display:block}
.epr2026-authenticated .topbar-head,.epr2026-approval-themed .topbar-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.epr2026-authenticated .topbar-copy,.epr2026-approval-themed .topbar-copy{display:flex;align-items:center;gap:14px;min-width:0}
/* V400 — Shared Page Header Typography Standard. Module CSS may control layout, not header type metrics. */
.epr2026-page-title-area{min-width:0;flex:1 1 auto;overflow:hidden}
.epr2026-page-title{display:block;margin:2px 0 0;padding:0;color:var(--epr26-text);font-family:var(--epr26-font-ui);font-size:var(--epr-page-header-title-size);font-weight:var(--epr-page-header-title-weight);line-height:var(--epr-page-header-title-line-height);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epr2026-page-subtitle{display:block;margin:3px 0 0;padding:0;color:var(--epr26-muted);font-family:var(--epr26-font-ui);font-size:var(--epr-page-header-subtitle-size);font-weight:var(--epr-page-header-subtitle-weight);line-height:var(--epr-page-header-subtitle-line-height);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Legacy selectors remain for historical read-only markup outside the shared component. */
.epr2026-topbar-title-group,.epr2026-page-heading{min-width:0}
.epr2026-page-heading h1,.epr2026-authenticated .top-title,.epr2026-authenticated .history-topbar h1,.epr2026-approval-themed .top-title{margin:2px 0 0;color:var(--epr26-text);font-family:var(--epr26-font-ui);font-size:var(--epr-page-header-title-size);font-weight:var(--epr-page-header-title-weight);line-height:var(--epr-page-header-title-line-height);letter-spacing:0}
.epr2026-page-heading p,.epr2026-authenticated .top-sub,.epr2026-authenticated .history-sub,.epr2026-approval-themed .top-sub{margin:3px 0 0;color:var(--epr26-muted);font-size:var(--epr-page-header-subtitle-size);font-weight:var(--epr-page-header-subtitle-weight);line-height:var(--epr-page-header-subtitle-line-height);letter-spacing:0}
.epr2026-authenticated .history-topbar .history-eyebrow{display:none}
.epr2026-breadcrumb{display:flex;align-items:center;gap:6px;min-width:0;margin:0 0 3px;color:var(--epr26-muted-2);font-family:var(--epr26-font-ui);font-size:var(--epr-page-header-breadcrumb-size);font-weight:var(--epr-page-header-breadcrumb-weight);line-height:var(--epr-page-header-breadcrumb-line-height);letter-spacing:0;white-space:nowrap;overflow:hidden}.epr2026-breadcrumb a{color:var(--epr26-muted);text-decoration:none}.epr2026-breadcrumb a:hover{color:var(--epr26-blue)}.epr2026-breadcrumb span[aria-current="page"]{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--epr26-muted-2)}.epr2026-breadcrumb-sep{flex:0 0 auto;color:#b3bac5}
.epr2026-page-actions,.epr2026-authenticated .top-actions,.epr2026-authenticated .history-top-actions,.epr2026-approval-themed .top-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.epr2026-primary-link{min-height:38px;padding:8px 14px;border:1px solid var(--epr26-blue);border-radius:8px;background:var(--epr26-blue);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:650 11px/1.2 "Segoe UI",Arial,sans-serif;white-space:nowrap;box-shadow:none}.epr2026-primary-link:hover{background:var(--epr26-blue-hover);border-color:var(--epr26-blue-hover);color:#fff}
.epr2026-home-btn{min-height:36px;padding:7px 11px;border:1px solid var(--epr26-border-strong);border-radius:8px;background:#fff;color:#465268;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 10px/1.2 "Segoe UI",Arial,sans-serif;white-space:nowrap}.epr2026-home-btn:hover{background:#f8fafc;border-color:#c7d0dc;color:var(--epr26-blue)}

/* Existing V100 action buttons adapted to the app shell */
.epr2026-authenticated .top-actions .btn-light,.epr2026-authenticated .top-actions .btn-danger,.epr2026-approval-themed .top-actions .btn-light{min-height:36px;padding:7px 11px;border-radius:8px;box-shadow:none;font-size:10px;font-weight:650}.epr2026-authenticated .top-actions .btn-light,.epr2026-approval-themed .top-actions .btn-light{background:#fff;border:1px solid var(--epr26-border-strong);color:#465268}.epr2026-authenticated .top-actions .btn-danger{background:#fff;border:1px solid #edcfd3;color:#ad3541}.epr2026-authenticated .send-status-badge{min-height:27px;padding:5px 8px;border-radius:8px;background:#edf8f3;border:1px solid #d1ecdf;color:#137053;font-size:9px;box-shadow:none}.epr2026-authenticated .send-status-icon{display:none}

/* Create Requisition top actions — V013 theme polish */
.epr2026-authenticated .top-actions .epr2026-action-status,.epr2026-authenticated .top-actions .epr2026-action-btn{min-height:36px;height:36px;margin:0;border-radius:8px;font-family:"Segoe UI",Tahoma,Arial,"Noto Sans Thai",sans-serif;font-size:10px;font-weight:650;line-height:1;letter-spacing:0;box-shadow:none;white-space:nowrap}
.epr2026-authenticated .top-actions .epr2026-action-status{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;background:#eef8f4;border:1px solid #d2eadf;color:#147052}
.epr2026-authenticated .top-actions .epr2026-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}
.epr2026-authenticated .top-actions .epr2026-action-btn-secondary{background:#fff;border:1px solid var(--epr26-border-strong);color:#465268}
.epr2026-authenticated .top-actions .epr2026-action-btn-secondary:hover:not(:disabled){background:#f7f9fc;border-color:#bdc8d6;color:var(--epr26-navy)}
.epr2026-authenticated .top-actions .epr2026-action-btn-danger{background:#fff;border:1px solid #edcfd3;color:#ad3541}
.epr2026-authenticated .top-actions .epr2026-action-btn-danger:hover:not(:disabled){background:#fff5f6;border-color:#e4b9bf;color:#982d38}
.epr2026-authenticated .top-actions .epr2026-action-btn:active:not(:disabled){transform:translateY(1px)}
.epr2026-authenticated .top-actions .epr2026-action-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(31,111,235,.12);border-color:#9ebbe2}
.epr2026-authenticated .top-actions .epr2026-action-btn-danger:focus-visible{box-shadow:0 0 0 3px rgba(189,57,71,.1);border-color:#dda8af}
.epr2026-authenticated .top-actions .epr2026-action-btn:disabled{background:#f7f8fa;border-color:#e5e9ef;color:#a0a9b7;cursor:not-allowed;opacity:1}
.epr2026-action-icon{flex:0 0 15px;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;color:currentColor}
.epr2026-action-icon svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Requester workspace */
.epr2026-requester-toolbar-wrap,.epr2026-approval-action-wrap{width:100%;max-width:var(--epr26-content-width);margin:18px auto 0;padding:0 26px}
.epr2026-authenticated .send-action-bar{width:100%;max-width:none;margin:0;padding:0;border:1px solid var(--epr26-border);border-radius:var(--epr26-radius-lg);background:#fff;box-shadow:var(--epr26-shadow);overflow:hidden}
.epr2026-authenticated .send-toolbar{background:#fff}.epr2026-authenticated .send-toolbar-section{padding:13px 15px;border-color:#edf0f4;background:#fff}.epr2026-authenticated .send-toolbar-label{color:var(--epr26-muted-2);font-size:8px;letter-spacing:.07em}.epr2026-authenticated .send-toolbar-name,.epr2026-authenticated .send-toolbar-value{color:#263246}.epr2026-authenticated .send-toolbar-help{color:#8b95a5}.epr2026-authenticated .send-action-btn{border-radius:8px;background:var(--epr26-blue);border-color:var(--epr26-blue);box-shadow:none}.epr2026-authenticated .send-action-btn:hover{background:var(--epr26-blue-hover);border-color:var(--epr26-blue-hover)}.epr2026-authenticated .send-action-warnings{border-top:1px solid #f1e2bf;background:#fffbf1}.epr2026-authenticated .config-warning{color:#805109}
.epr2026-authenticated .status{width:100%;max-width:1280px;margin:16px auto 0;padding:0 24px}.epr2026-authenticated .shell-requester{margin-top:18px;margin-bottom:54px}.epr2026-authenticated .paper{border-color:#dfe5ec;box-shadow:0 4px 18px rgba(17,35,58,.07)}
.epr2026-unsaved-indicator{display:none;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#fff8e8;color:#8a5a0c;border:1px solid #f1dfb5;font:650 9px/1 "Segoe UI",Arial,sans-serif;white-space:nowrap}.epr2026-unsaved-indicator.show{display:inline-flex}.epr2026-unsaved-indicator>span{font-size:7px}

/* Approval workspace */
.epr2026-approval-themed .approval-toolbar{width:100%;margin:0;display:block;border:1px solid var(--epr26-border);border-radius:var(--epr26-radius-lg);background:#fff;box-shadow:var(--epr26-shadow);overflow:hidden}
.epr2026-approval-themed .approval-toolbar-help{color:#8b95a5;font-size:10.5px}
.epr2026-approval-themed .approval-toolbar-state{margin:0;border-radius:0;padding:15px 17px}.epr2026-approval-themed .status{width:100%;max-width:1040px;margin:16px auto 0;padding:0 20px}.epr2026-approval-themed .shell{margin-top:18px;margin-bottom:52px;padding-left:20px;padding-right:20px}.epr2026-approval-themed .paper{border-color:#dfe5ec;box-shadow:0 4px 18px rgba(17,35,58,.07)}

/* History workspace */
.epr2026-authenticated .history-shell{width:100%;max-width:var(--epr26-content-width);margin:20px auto 52px;padding:0 26px}.epr2026-authenticated .history-filter-card,.epr2026-authenticated .history-list-card,.epr2026-authenticated .history-card,.epr2026-authenticated .history-detail-hero{border:1px solid var(--epr26-border);border-radius:var(--epr26-radius-lg);background:#fff;box-shadow:var(--epr26-shadow)}
.epr2026-authenticated .history-filter-card{padding:18px 19px}.epr2026-authenticated .history-filter-head{align-items:center}.epr2026-authenticated .history-filter-head h2{margin:0;color:var(--epr26-text);font-size:15px;font-weight:650}.epr2026-authenticated .history-filter-head .history-eyebrow{display:none}.epr2026-authenticated .history-count strong{color:var(--epr26-text);font-size:22px}.epr2026-authenticated .history-count span{color:var(--epr26-muted-2);font-size:10.5px}
.epr2026-authenticated .history-filter-form{margin-top:15px;gap:9px}.epr2026-authenticated .history-filter-form label>span{color:var(--epr26-muted-2);font-size:11px;font-weight:700;letter-spacing:.05em}.epr2026-authenticated .history-filter-form input,.epr2026-authenticated .history-filter-form select{height:38px;padding:7px 10px;border:1px solid var(--epr26-border-strong);border-radius:7px;background:#fff;color:var(--epr26-text);font-size:11px}.epr2026-authenticated .history-filter-form input:focus,.epr2026-authenticated .history-filter-form select:focus{border-color:#9db8dd;box-shadow:0 0 0 3px rgba(31,111,235,.08)}.epr2026-authenticated .history-filter-form button,.epr2026-authenticated .history-reset{height:38px;border-radius:7px;font-size:10px;font-weight:650}.epr2026-authenticated .history-filter-form button{background:var(--epr26-blue)}.epr2026-authenticated .history-reset{background:#f5f7fa;color:#596579}
.epr2026-authenticated .history-list-card{margin-top:14px}.epr2026-authenticated .history-list-table th{padding:11px 12px;background:#fafbfd;color:#7c8799;font-size:11px;font-weight:700;letter-spacing:.055em}.epr2026-authenticated .history-list-table td{padding:12px;border-bottom-color:#edf0f4;font-size:11px}.epr2026-authenticated .history-list-table tbody tr:hover{background:#fbfcfe}.epr2026-authenticated .history-pr-no{color:#245f9c}.epr2026-authenticated .history-view-link,.epr2026-authenticated .history-action .history-view-link{border:1px solid var(--epr26-border-strong);border-radius:7px;background:#fff;color:#465268}.epr2026-authenticated .history-view-link:hover{border-color:#aebdce;color:var(--epr26-blue);background:#f9fbfd}.epr2026-authenticated .history-detail-hero{padding:18px 20px}.epr2026-authenticated .history-detail-hero h2{color:var(--epr26-text)}.epr2026-authenticated .history-card-title{color:#637083;font-size:10.5px;letter-spacing:.06em}.epr2026-authenticated .history-security-note{color:#798496;background:transparent;border:0;padding-left:4px;padding-right:4px}

/* Status system */
.epr2026-status-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;white-space:nowrap}
.epr2026-status-pending{background:#fff8e8;color:#95610d;border-color:#f0e0b8}.epr2026-status-processing{background:#eef6ff;color:#1761a8;border-color:#d5e6f8}.epr2026-status-approved{background:#eef8f4;color:#147052;border-color:#d3ebdf}.epr2026-status-expired,.epr2026-status-withdrawn,.epr2026-status-other{background:#f4f6f8;color:#667386;border-color:#e3e7ec}.epr2026-status-rejected{background:#fff1f2;color:#ac3541;border-color:#f0d0d4}.epr2026-status-revision,.epr2026-status-revision_requested{background:#f5f1ff;color:#6d50a8;border-color:#e4dafa}

/* Empty state */
.epr2026-empty-state{text-align:center;padding:42px 20px;color:var(--epr26-muted)}.epr2026-empty-icon{width:42px;height:42px;margin:0 auto 11px;border:1px solid var(--epr26-border);border-radius:10px;background:#fafbfd;color:#667386;display:grid;place-items:center;font-size:17px}.epr2026-empty-state h2{margin:0 0 5px;color:var(--epr26-text);font-size:15px;font-weight:650}.epr2026-empty-state p{max-width:520px;margin:0 auto 15px;font-size:11px;line-height:1.55}

/* Toast */
.epr2026-toast-region{position:fixed;right:20px;top:88px;z-index:10050;display:grid;gap:8px;width:min(380px,calc(100vw - 28px));pointer-events:none}.epr2026-toast{transform:translateY(-6px);opacity:0;transition:.18s ease;display:grid;grid-template-columns:28px minmax(0,1fr) 26px;gap:8px;align-items:center;padding:10px;border:1px solid var(--epr26-border);border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(16,24,40,.12);color:var(--epr26-text);pointer-events:auto}.epr2026-toast.show{transform:none;opacity:1}.epr2026-toast.closing{transform:translateY(-4px);opacity:0}.epr2026-toast-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-weight:800}.epr2026-toast-success .epr2026-toast-icon{background:#eef8f4;color:#147052}.epr2026-toast-error .epr2026-toast-icon{background:#fff1f2;color:#ac3541}.epr2026-toast-info .epr2026-toast-icon{background:#eef6ff;color:#1761a8}.epr2026-toast-message{font:550 11px/1.45 "Segoe UI",Arial,sans-serif}.epr2026-toast-close{border:0;background:transparent;color:#8a94a5;font-size:17px;cursor:pointer}

/* Processing overlay */
.epr2026-operation-overlay{position:fixed;inset:0;z-index:10040;background:rgba(12,28,48,.38);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.epr2026-operation-overlay[hidden]{display:none}.epr2026-operation-card{width:min(390px,100%);padding:23px 22px;border:1px solid #e4e9ef;border-radius:12px;background:#fff;box-shadow:0 20px 46px rgba(12,28,48,.18);text-align:center}.epr2026-operation-card strong,.epr2026-operation-card span{display:block}.epr2026-operation-card strong{margin:13px 0 5px;color:var(--epr26-text);font-size:14px}.epr2026-operation-card>span:last-child{color:var(--epr26-muted);font-size:11px;line-height:1.5}.epr2026-spinner{width:32px;height:32px;margin:auto;border:3px solid #e4edf8;border-top-color:var(--epr26-blue);border-radius:50%;animation:epr26-spin .8s linear infinite}@keyframes epr26-spin{to{transform:rotate(360deg)}}

/* Confirmation */
.epr2026-confirm{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:20px}.epr2026-confirm[hidden]{display:none}.epr2026-confirm-backdrop{position:absolute;inset:0;background:rgba(12,28,48,.42);backdrop-filter:blur(2px)}.epr2026-confirm-card{position:relative;width:min(480px,100%);padding:21px;border:1px solid var(--epr26-border);border-radius:12px;background:#fff;box-shadow:0 24px 54px rgba(12,28,48,.2);display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px}.epr2026-confirm-icon{width:42px;height:42px;border-radius:9px;background:#eef6ff;color:var(--epr26-blue);display:grid;place-items:center;font-size:19px;font-weight:800}.epr2026-confirm-copy{min-width:0}.epr2026-confirm-eyebrow{color:#8791a0;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.epr2026-confirm-copy h2{margin:4px 0 5px;color:var(--epr26-text);font-size:17px;font-weight:700}.epr2026-confirm-copy p{margin:0;color:var(--epr26-muted);font-size:11px;line-height:1.55}.epr2026-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.epr2026-confirm-actions button{min-height:37px;padding:7px 13px;border-radius:7px;font-size:10px;font-weight:650;cursor:pointer}.epr2026-confirm-cancel{border:1px solid var(--epr26-border-strong);background:#fff;color:#536074}.epr2026-confirm-ok{border:1px solid var(--epr26-blue);background:var(--epr26-blue);color:#fff}

/* Login presentation is owned by assets/css/login.css in V022. */

/* Desktop collapsed sidebar */
.epr2026-sidebar-collapsed .epr2026-sidebar{width:var(--epr26-sidebar-collapsed-width)}.epr2026-sidebar-collapsed .epr2026-main{margin-left:var(--epr26-sidebar-collapsed-width)}.epr2026-sidebar-collapsed .epr2026-brand{padding-left:15px;padding-right:15px}.epr2026-sidebar-collapsed .epr2026-brand-copy,.epr2026-sidebar-collapsed .epr2026-nav-text,.epr2026-sidebar-collapsed .epr2026-nav-section,.epr2026-sidebar-collapsed .epr2026-public-access-card>div{display:none}.epr2026-sidebar-collapsed .epr2026-nav{padding:18px 10px}.epr2026-sidebar-collapsed .epr2026-nav-link{justify-content:center;padding:10px 8px}.epr2026-sidebar-collapsed .epr2026-nav-link.active:before{left:-10px}.epr2026-sidebar-collapsed .epr2026-nav-icon{width:22px;flex-basis:22px}.epr2026-sidebar-collapsed .epr2026-public-access-card{justify-content:center;padding-left:0;padding-right:0}.epr2026-sidebar-collapsed .epr2026-collapse-btn{right:-12px}

/* Tablet/mobile */
@media (max-width: 1050px){
  .epr2026-sidebar{transform:translateX(-100%);width:var(--epr26-sidebar-width);box-shadow:12px 0 30px rgba(8,23,42,.14)}.epr2026-sidebar.open{transform:none}.epr2026-main,.epr2026-sidebar-collapsed .epr2026-main{margin-left:0}.epr2026-collapse-btn{display:none}.epr2026-menu-btn{display:inline-flex}.epr2026-nav-open .epr2026-overlay{display:block}.epr2026-sidebar-collapsed .epr2026-brand-copy,.epr2026-sidebar-collapsed .epr2026-nav-text,.epr2026-sidebar-collapsed .epr2026-nav-section,.epr2026-sidebar-collapsed .epr2026-public-access-card>div{display:block}.epr2026-sidebar-collapsed .epr2026-public-access-card{justify-content:flex-start;padding:11px 10px}.epr2026-requester-toolbar-wrap,.epr2026-approval-action-wrap{padding-left:18px;padding-right:18px}.epr2026-page-topbar-in,.epr2026-authenticated .topbar-in,.epr2026-authenticated .history-topbar-in,.epr2026-approval-themed .topbar-in{padding-left:18px;padding-right:18px}
}
@media (max-width: 700px){
  .epr2026-page-topbar-in,.epr2026-authenticated .topbar-in,.epr2026-authenticated .history-topbar-in,.epr2026-approval-themed .topbar-in{min-height:68px;padding:10px 13px}.epr2026-page-topbar-in,.epr2026-authenticated .topbar-head,.epr2026-approval-themed .topbar-head,.epr2026-authenticated .history-topbar-in{align-items:flex-start}.epr2026-authenticated .topbar-copy,.epr2026-approval-themed .topbar-copy{flex:1;align-items:flex-start}.epr2026-page-title,.epr2026-page-heading h1,.epr2026-authenticated .top-title,.epr2026-authenticated .history-topbar h1,.epr2026-approval-themed .top-title{font-size:var(--epr-page-header-title-size)}.epr2026-page-subtitle,.epr2026-page-heading p,.epr2026-authenticated .top-sub,.epr2026-authenticated .history-sub,.epr2026-approval-themed .top-sub{display:none}.epr2026-page-actions{align-self:center}.epr2026-authenticated .top-actions,.epr2026-approval-themed .top-actions{max-width:52%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-end;padding-bottom:2px}.epr2026-authenticated .top-actions .epr2026-action-status,.epr2026-authenticated .top-actions .epr2026-action-btn{flex:0 0 auto}.epr2026-requester-toolbar-wrap,.epr2026-approval-action-wrap{margin-top:12px;padding:0 10px}.epr2026-authenticated .send-action-bar{border-radius:10px}.epr2026-approval-themed .approval-toolbar{border-radius:10px}.epr2026-authenticated .history-shell{padding:0 10px;margin-top:12px}.epr2026-toast-region{right:12px;top:76px}.epr2026-confirm-card{grid-template-columns:38px minmax(0,1fr);padding:17px}.epr2026-confirm-icon{width:38px;height:38px}.epr2026-confirm-actions{flex-direction:column-reverse}.epr2026-confirm-actions button{width:100%}
}
@media (max-width: 600px){
  .epr2026-authenticated .top-actions{width:100%;max-width:100%;overflow:visible;flex-wrap:wrap;justify-content:flex-start}
  .epr2026-authenticated .top-actions .epr2026-action-status{width:auto;min-width:0;flex:0 0 auto;margin-top:0}
  .epr2026-authenticated .top-actions .epr2026-action-btn{flex:1 1 calc(50% - 4px);min-width:128px}
}
@media (max-width: 520px){
  .epr2026-page-actions .epr2026-primary-link{font-size:0}.epr2026-page-actions .epr2026-primary-link:after{content:"+ New PR";font-size:10px}.epr2026-home-btn span:last-child{display:none}.epr2026-approval-themed .top-actions .epr2026-home-btn{flex:0 0 36px;padding:7px}.epr2026-operation-card{padding:20px 16px}.epr2026-login .login-shell{display:block}.epr2026-login-art{display:none}.epr2026-login-panel{min-height:100vh;padding:20px}
}
@media print{
  .epr2026-sidebar,.epr2026-overlay,.epr2026-menu-btn,.epr2026-toast-region,.epr2026-operation-overlay,.epr2026-confirm,.epr2026-unsaved-indicator,.epr2026-page-topbar,.epr2026-requester-toolbar-wrap,.epr2026-approval-action-wrap{display:none!important}
  .epr2026-main,.epr2026-sidebar-collapsed .epr2026-main{margin-left:0!important}
}

.epr2026-nav-section-spaced{margin-top:14px}




/* V027 — Sidebar Navigation Icon Standardization */
.epr2026-sidebar .epr2026-nav-icon{font-size:0}
.epr2026-sidebar .epr2026-nav-icon svg{width:21px;height:21px}
.epr2026-sidebar-collapsed .epr2026-nav-link{gap:0}


/* ==========================================================================
   EPR 2026 V060 — Global Type / Status Indicator Standard
   Rounded rectangle + inline SVG icon + value (no semantic dot).
   Visible words “Status” and “Type” are intentionally excluded from badges.
   ========================================================================== */
.epr-ui-indicator,.epr2026-outline-badge{
  --epr-indicator-color:#52647a;
  --epr-indicator-border:#b8c4d1;
  --epr-indicator-bg:#fff;
  --epr-indicator-accent:#64748b;
  display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;
  min-height:34px;max-width:100%;padding:6px 12px;box-sizing:border-box;
  border:1px solid var(--epr-indicator-border);border-radius:8px;
  background:var(--epr-indicator-bg);color:var(--epr-indicator-color);
  font:700 13px/1.2 var(--epr26-font-ui);letter-spacing:0;
  white-space:nowrap;vertical-align:middle;box-shadow:none;
}
.epr-ui-indicator__icon,.epr2026-outline-badge .epr2026-outline-icon{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;
  width:16px;height:16px;color:var(--epr-indicator-accent);
}
.epr-ui-indicator__icon svg,.epr2026-outline-badge .epr2026-outline-icon svg{
  width:16px;height:16px;display:block;stroke:currentColor;
}
.epr-ui-indicator__value,.epr2026-outline-badge .epr2026-outline-label{
  min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--epr-indicator-color);
  font-size:13px;font-weight:700;line-height:1.2;
}
/* Status semantic variants. */
.epr2026-outline-status.epr2026-status-ready,
.epr2026-outline-status.epr2026-status-approved,
.epr2026-outline-status.epr2026-status-active,
.epr2026-outline-status.epr2026-status-configured,
.epr2026-outline-status.epr2026-status-writable,
.epr2026-outline-status.epr2026-status-accepted{--epr-indicator-color:#11673e;--epr-indicator-border:#7fc59e;--epr-indicator-bg:#fff;--epr-indicator-accent:#18874d}
.epr2026-outline-status.epr2026-status-submitted{--epr-indicator-color:#194f82;--epr-indicator-border:#8cb8e8;--epr-indicator-bg:#fff;--epr-indicator-accent:#2376d1}
.epr2026-outline-status.epr2026-status-pending,
.epr2026-outline-status.epr2026-status-processing,
.epr2026-outline-status.epr2026-status-unknown,
.epr2026-outline-status.epr2026-status-waiting{--epr-indicator-color:#805600;--epr-indicator-border:#e8c56a;--epr-indicator-bg:#fff;--epr-indicator-accent:#d89b00}
.epr2026-outline-status.epr2026-status-revision,
.epr2026-outline-status.epr2026-status-revision_requested{--epr-indicator-color:#95500a;--epr-indicator-border:#d8a875;--epr-indicator-bg:#fff;--epr-indicator-accent:#c76a15}
.epr2026-outline-status.epr2026-status-rejected,
.epr2026-outline-status.epr2026-status-failed,
.epr2026-outline-status.epr2026-status-expired,
.epr2026-outline-status.epr2026-status-disabled,
.epr2026-outline-status.epr2026-status-needs_attention{--epr-indicator-color:#b42318;--epr-indicator-border:#e59a9a;--epr-indicator-bg:#fff;--epr-indicator-accent:#d92d20}
.epr2026-outline-status.epr2026-status-withdrawn,
.epr2026-outline-status.epr2026-status-cancelled,
.epr2026-outline-status.epr2026-status-inactive,
.epr2026-outline-status.epr2026-status-draft,
.epr2026-outline-status.epr2026-status-other{--epr-indicator-color:#475569;--epr-indicator-border:#b8c2cf;--epr-indicator-bg:#fff;--epr-indicator-accent:#64748b}
/* Type uses one teal family so Type does not compete with workflow Status. */
.epr2026-outline-type{--epr-indicator-color:#0f7379;--epr-indicator-border:#82c6cb;--epr-indicator-bg:#fff;--epr-indicator-accent:#168b91}
/* Legacy helper classes inherit the same V060 geometry. */
.epr2026-status-badge{min-height:34px;padding:6px 12px;border-radius:8px;font:700 13px/1.2 var(--epr26-font-ui);background:var(--epr-indicator-bg,#fff);color:var(--epr-indicator-color,#52647a);border-color:var(--epr-indicator-border,#b8c4d1)}
.epr2026-authenticated .send-status-badge.epr2026-outline-badge{width:auto;min-width:0;min-height:34px;margin:0;padding:6px 12px;border-radius:8px;background:var(--epr-indicator-bg);border-color:var(--epr-indicator-border);color:var(--epr-indicator-color);font:700 13px/1.2 var(--epr26-font-ui)}
@media (max-width: 700px){.epr-ui-indicator,.epr2026-outline-badge{max-width:100%}}
@media print{.epr-ui-indicator,.epr2026-outline-badge{box-shadow:none!important}}


/* ======================================================================
 * EPR 2026 V074 — Global Screen Typography Balance
 * Screen UI only. Print/PDF document typography is intentionally untouched.
 * ====================================================================== */
@media screen{
  .epr2026-breadcrumb{font-size:var(--epr-page-header-breadcrumb-size)}
  .epr2026-primary-link{font-size:11.5px}
  .epr2026-public-access-card strong{font-size:10.5px}
  .epr2026-public-access-card span{font-size:9px}

  .epr2026-authenticated .send-toolbar-label{font-size:10px}
  .epr2026-unsaved-indicator{font-size:10.5px}
  .epr2026-toast-message{font-size:11.5px}
  .epr2026-confirm-eyebrow{font-size:10px}
  .epr2026-confirm-actions button{font-size:11px}

  .epr2026-authenticated .history-count span{font-size:11px}
  .epr2026-authenticated .history-filter-form label>span{font-size:11.5px}
  .epr2026-authenticated .history-filter-form input,
  .epr2026-authenticated .history-filter-form select{font-size:12px}
  .epr2026-authenticated .history-filter-form button,
  .epr2026-authenticated .history-reset{font-size:11px}
  .epr2026-authenticated .history-list-table th{font-size:11.5px}
  .epr2026-authenticated .history-list-table td{font-size:12px}
  .epr2026-authenticated .history-card-title{font-size:11px}
  .epr2026-status-badge{font-size:11px}
}
/* V126 scheduled maintenance notice */
.epr2026-maintenance-banner{position:fixed;z-index:10020;top:10px;left:calc(var(--epr26-sidebar-width) + 18px);right:18px;display:flex;justify-content:center;gap:10px;padding:9px 14px;border:1px solid #d9a91d;border-radius:9px;background:#fff8dc;color:#654b00;box-shadow:0 8px 20px rgba(16,24,40,.1);font:600 12px/1.4 "Segoe UI",Arial,sans-serif}.epr2026-sidebar-collapsed .epr2026-maintenance-banner{left:calc(var(--epr26-sidebar-collapsed-width) + 18px)}@media(max-width:900px){.epr2026-maintenance-banner{left:12px;right:12px;top:8px;flex-direction:column;gap:2px}}@media print{.epr2026-maintenance-banner{display:none!important}}
.epr2026-session-warning{position:fixed;right:18px;bottom:18px;z-index:10030;padding:10px 14px;border-radius:9px;background:#713b13;color:#fff;font:600 12px/1.4 "Segoe UI",Arial,sans-serif;box-shadow:0 8px 20px rgba(16,24,40,.18)}@media print{.epr2026-session-warning{display:none!important}}

/* ==========================================================================
   EPR 2026 V300 — Full HD Typography & UI Scale Enhancement
   Screen-only responsive typography authority for 1600px+ desktop displays.
   V274 A4/PDF/print document typography remains intentionally untouched.
   ========================================================================== */
:root{
  --epr300-body:15px;
  --epr300-page-title:var(--epr-page-header-title-size);
  --epr300-page-subtitle:var(--epr-page-header-subtitle-size);
  --epr300-section-title:20px;
  --epr300-card-title:17px;
  --epr300-label:13.5px;
  --epr300-control:14.5px;
  --epr300-table-head:12px;
  --epr300-table-body:13.5px;
  --epr300-helper:12px;
  --epr300-breadcrumb:var(--epr-page-header-breadcrumb-size);
}
@media screen and (min-width: 1600px){
  body.epr2026-authenticated,
  body.epr2026-public{font-size:var(--epr300-body);line-height:1.5}

  /* Shared shell / navigation */
  .epr2026-sidebar-brand-row{min-height:82px}
  .epr2026-brand-copy strong{font-size:15px!important}
  .epr2026-brand-copy span{font-size:11px!important}
  .epr2026-nav-section{font-size:11px!important}
  .epr2026-nav-link{min-height:46px;font-size:14.5px!important}
  .epr2026-page-topbar-in,
  .epr2026-authenticated .topbar-in,
  .epr2026-authenticated .history-topbar-in,
  .epr2026-approval-themed .topbar-in{min-height:82px;padding-top:13px;padding-bottom:13px}
  .epr2026-page-title,
  .epr2026-page-heading h1,
  .epr2026-authenticated .top-title,
  .epr2026-authenticated .history-topbar h1,
  .epr2026-approval-themed .top-title{font-size:var(--epr300-page-title)!important;line-height:var(--epr-page-header-title-line-height);letter-spacing:0}
  .epr2026-page-subtitle,
  .epr2026-page-heading p,
  .epr2026-authenticated .top-sub,
  .epr2026-authenticated .history-sub,
  .epr2026-approval-themed .top-sub{font-size:var(--epr300-page-subtitle)!important;line-height:var(--epr-page-header-subtitle-line-height);letter-spacing:0}
  .epr2026-breadcrumb{font-size:var(--epr300-breadcrumb)!important}
  .epr2026-primary-link{min-height:42px;padding:9px 16px;font-size:14px!important}
  .epr2026-home-btn{min-height:40px;padding:8px 13px;font-size:13px!important}
  .epr-ui-indicator,.epr2026-outline-badge,.epr2026-status-badge{font-size:13.5px!important}

  /* Common working controls — document/A4 content is excluded below. */
  body.epr2026-authenticated input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body.epr2026-authenticated select,
  body.epr2026-authenticated textarea{font-size:var(--epr300-control)!important}

  /* Dashboard */
  .epr2026-dashboard-page .dashboard-range-form select,
  .epr2026-dashboard-page .dashboard-refresh{font-size:14px!important}
  .epr2026-dashboard-page .dashboard-kpi-copy small{font-size:14px!important}
  .epr2026-dashboard-page .dashboard-kpi-copy strong{font-size:32px!important}
  .epr2026-dashboard-page .dashboard-kpi-copy em{font-size:12px!important}
  .epr2026-dashboard-page .dashboard-card-head h2{font-size:17px!important}
  .epr2026-dashboard-page .dashboard-card-link{font-size:12.5px!important}
  .epr2026-dashboard-page .dashboard-status-legend>div,
  .epr2026-dashboard-page .dashboard-status-legend strong{font-size:12px!important}

  /* To Do */
  .todo-page-body .todo-refresh{font-size:14px!important}
  .todo-page-body .todo-kpi small{font-size:14px!important}
  .todo-page-body .todo-kpi em{font-size:12px!important}
  .todo-page-body .todo-tabs a{font-size:13px!important}
  .todo-page-body .todo-filter-label{font-size:13.5px!important}
  .todo-page-body .todo-filter input,
  .todo-page-body .todo-filter select,
  .todo-page-body .todo-filter button,
  .todo-page-body .todo-filter>a,
  .todo-page-body .todo-filter>.todo-filter-clear.is-disabled{height:44px;font-size:14px!important}
  .todo-page-body .todo-table th{font-size:12px!important}
  .todo-page-body .todo-table td{font-size:13.5px!important}
  .todo-page-body .todo-table td>strong{font-size:14px!important}
  .todo-page-body .todo-table td>small{font-size:12px!important}
  .todo-page-body .todo-priority,.todo-page-body .todo-status{font-size:11.5px!important}
  .todo-page-body .todo-actions button,.todo-page-body .todo-actions a{font-size:12.5px!important}
  .todo-page-body .todo-table-footer,.todo-page-body .todo-pagination a,.todo-page-body .todo-pagination strong{font-size:12px!important}

  /* Projects */
  .projects-page-body .project-primary-btn,.projects-page-body .project-secondary-btn{min-height:44px;font-size:14px!important}
  .projects-page-body .v186-project-kpi-label{font-size:13.5px!important}
  .projects-page-body .v186-project-kpi-hint{font-size:12px!important}
  .projects-page-body .project-card-head h2{font-size:20px!important}
  .projects-page-body .project-card-head p{font-size:13px!important}
  .projects-page-body .project-filter-label{font-size:13.5px!important}
  .projects-page-body .project-filter input,.projects-page-body .project-filter select,.projects-page-body .v186-project-usage-filter,
  .projects-page-body .project-filter-apply,.projects-page-body .project-filter-clear{height:44px;font-size:14px!important}
  .projects-page-body .project-table-wrap th{font-size:12px!important}
  .projects-page-body .project-table-wrap td{font-size:13.5px!important}

  /* My PR History */
  body.history-list-mode .history-filter-head h2,body.history-detail-mode .history-filter-head h2{font-size:17px!important}
  body.history-list-mode .history-filter-form label>span,body.history-detail-mode .history-filter-form label>span{font-size:13.5px!important}
  body.history-list-mode .history-filter-form input,body.history-list-mode .history-filter-form select,
  body.history-detail-mode .history-filter-form input,body.history-detail-mode .history-filter-form select,
  body.history-list-mode .history-filter-form button,body.history-list-mode .history-reset,
  body.history-detail-mode .history-filter-form button,body.history-detail-mode .history-reset{height:42px;font-size:14px!important}
  body.history-list-mode .history-list-table th,body.history-detail-mode .history-list-table th{font-size:12px!important}
  body.history-list-mode .history-list-table td,body.history-detail-mode .history-list-table td{font-size:13.5px!important}
  body.history-list-mode .history-card-title,body.history-detail-mode .history-card-title{font-size:12px!important}

  /* Settings / Members / Access / Approvers */
  body.settings-page .settings-page-head-copy>span{font-size:11px!important}
  body.settings-page .settings-page-head-copy h2{font-size:22px!important}
  body.settings-page .settings-page-head-copy p{font-size:14px!important}
  body.settings-page .settings-page-context-note,
  body.settings-page .settings-effectiveness-summary,
  body.settings-page .settings-backup-scope,
  body.settings-page .settings-storage-boundary{font-size:13px!important}
  body.settings-page .settings-primary-link{min-height:42px;font-size:14px!important}
  body.settings-page .settings-grid label>span,
  body.settings-page .settings-readonly-grid label>span,
  body.settings-page .document-number-profile-grid label>span{font-size:13.5px!important}
  body.settings-page table th{font-size:12px!important}
  body.settings-page table td{font-size:13.5px!important}
  body.settings-page .settings-editor-modal-head h2,body.settings-page .settings-editor-modal-head h3{font-size:20px!important}
  body.settings-page .settings-editor-modal-head p{font-size:13px!important}
  body.settings-page .settings-editor-modal-actions>a,body.settings-page .settings-editor-modal-actions button{font-size:13.5px!important}

  /* Reports */
  .report-shell .report-filters label,.report-shell .report-ms{font-size:13px!important}
  .report-shell .report-filters input,.report-shell .report-filters select{height:42px;font-size:14px!important}
  .report-shell .report-filter-actions a,.report-shell .report-filter-actions button,.report-shell .report-export{height:42px;font-size:13.5px!important}
  .report-shell .report-toolbar,.report-shell .report-pagination{font-size:13px!important}
  .report-shell .report-table th{font-size:12px!important}
  .report-shell .report-table td{font-size:13.5px!important}
  .report-shell .report-card strong{font-size:17px!important}
  .report-shell .report-card span{font-size:13px!important}
  .report-shell .report-chart-grid h3{font-size:16px!important}
  .report-shell .report-bar-row{font-size:12.5px!important}

  /* Create Requisition launcher */
  .requisition-launcher-body .requisition-launcher-intro h1{font-size:32px!important}
  .requisition-launcher-body .requisition-launcher-intro p{font-size:14px!important}
  .requisition-launcher-body .requisition-launcher-card-copy h2{font-size:17px!important}
  .requisition-launcher-body .requisition-launcher-card-copy p{font-size:12.5px!important}
  .requisition-launcher-body .requisition-launcher-prefix strong{font-size:13.5px!important}
  .requisition-launcher-body .requisition-launcher-disabled-label{font-size:11px!important}

  /* Requisition editor UI only. A4/PDF document nodes are explicitly restored below. */
  .epr2026-create-requisition-page .create-requisition-runtime-warning span,
  .epr2026-create-requisition-page .create-requisition-readiness{font-size:12.5px!important}
  .epr2026-create-requisition-page .create-requisition-document-head strong{font-size:16px!important}
  .epr2026-create-requisition-page .create-requisition-document-head span{font-size:12px!important}
  .epr2026-create-requisition-page .create-requisition-field label{font-size:13.5px!important}
  .epr2026-create-requisition-page .create-requisition-field input,
  .epr2026-create-requisition-page .create-requisition-field select{height:42px;font-size:14.5px!important}
  .epr2026-create-requisition-page .create-requisition-table th{font-size:11.5px!important}
  .epr2026-create-requisition-page .create-requisition-table th span{font-size:10px!important}
  .epr2026-create-requisition-page .create-requisition-table td input,
  .epr2026-create-requisition-page .create-requisition-table td select{height:34px;font-size:13px!important}
  .epr2026-create-requisition-page .create-requisition-item-no{font-size:13px!important}
  .epr2026-create-requisition-page .create-requisition-row-actions>span{font-size:12px!important}
  .epr2026-create-requisition-page .create-requisition-mini-btn{height:36px;font-size:12.5px!important}
  .epr2026-create-requisition-page .create-requisition-inline label,
  .epr2026-create-requisition-page .create-requisition-section-title,
  .epr2026-create-requisition-page .create-requisition-comment label,
  .epr2026-create-requisition-page .create-requisition-support strong{font-size:13.5px!important}
  .epr2026-create-requisition-page .create-requisition-inline input,
  .epr2026-create-requisition-page .create-requisition-purpose textarea,
  .epr2026-create-requisition-page .create-requisition-comment input{font-size:13.5px!important}

  /* Strong isolation: V300 is a web-shell enhancement, never a document-font migration. */
  .create-requisition-a4-page{font-size:initial!important;line-height:normal!important}
}

/* ==========================================================================
   EPR 2026 V302 — CSS Architecture & Full HD Typography Completion
   Version-neutral UI typography aliases for screen presentation only.
   Existing V300 Full HD values remain the parent authority; these aliases let
   page modules consume one shared scale without duplicating literal sizes.
   A4/PDF/print typography is intentionally excluded.
   ========================================================================== */
:root{
  --epr-ui-font:var(--epr26-font-ui);
  --epr-ui-fhd-body:var(--epr300-body);
  --epr-ui-fhd-page-title:var(--epr300-page-title);
  --epr-ui-fhd-page-subtitle:var(--epr300-page-subtitle);
  --epr-ui-fhd-section-title:var(--epr300-section-title);
  --epr-ui-fhd-card-title:var(--epr300-card-title);
  --epr-ui-fhd-label:var(--epr300-label);
  --epr-ui-fhd-control:var(--epr300-control);
  --epr-ui-fhd-table-head:var(--epr300-table-head);
  --epr-ui-fhd-table-body:var(--epr300-table-body);
  --epr-ui-fhd-small:12px;
  --epr-ui-fhd-micro:11.5px;
  --epr-ui-fhd-tiny:11px;
  --epr-ui-fhd-control-height:42px;
}
@media screen and (min-width: 1600px){
  /* Shared micro-copy omitted from V300's first-pass Full HD coverage. */
  .epr2026-public-access-card strong{font-size:var(--epr-ui-fhd-micro)}
  .epr2026-public-access-card span{font-size:var(--epr-ui-fhd-tiny)}
  .epr2026-unsaved-indicator{font-size:var(--epr-ui-fhd-micro)}
  .epr2026-confirm-eyebrow{font-size:var(--epr-ui-fhd-tiny)}
  .epr2026-confirm-copy p,.epr2026-operation-card>span:last-child{font-size:var(--epr-ui-fhd-small)}
  .epr2026-confirm-actions button{font-size:12.5px}
  .epr2026-toast-message{font-size:12.5px}
}


/* ==========================================================================
   V371 — Sidebar Account Card / Role Badge (option 4).
   Screen presentation only. No role grants, presence polling, or new actions.
   Keep the shell widths, navigation, document and print rules unchanged.
   ========================================================================== */
@media screen {
  .epr2026-account-card {
    flex:0 0 auto;
    min-width:0;
    margin:10px 12px 8px;
    padding:14px 12px 10px;
    border:1px solid rgba(171,202,238,.16);
    border-radius:12px;
    background:rgba(255,255,255,.025);
    font-family:var(--epr26-font-ui);
  }
  .epr2026-account-identity {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-width:0;
  }
  .epr2026-account-avatar {
    position:relative;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:12px;
    background:linear-gradient(145deg,#249aff 0%,var(--epr26-blue) 60%,#5553ed 100%);
    box-shadow:0 4px 12px rgba(0,16,45,.16);
    color:#fff;
    font-size:17px;
    font-weight:750;
    line-height:1;
    letter-spacing:.02em;
  }
  .epr2026-account-copy { min-width:0; }
  .epr2026-account-name {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    overflow-wrap:anywhere;
    color:#fff;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
  }
  .epr2026-account-role {
    display:block;
    margin-top:3px;
    overflow-wrap:anywhere;
    color:#c6d8ee;
    font-size:11px;
    font-weight:500;
    line-height:1.4;
  }
  .epr2026-account-provider {
    display:block;
    margin-top:3px;
    color:#a9bfd9;
    font-size:10px;
    font-weight:400;
    line-height:1.4;
  }
  .epr2026-account-badges {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    margin-top:11px;
  }
  .epr2026-account-role-badge,
  .epr2026-account-session {
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:26px;
    max-width:100%;
    padding:4px 7px;
    border:1px solid rgba(157,198,249,.24);
    border-radius:8px;
    background:rgba(50,130,231,.13);
    color:#c1dcff;
    font-size:10px;
    font-weight:600;
    line-height:1.25;
    white-space:nowrap;
  }
  .epr2026-account-role-badge svg { flex:0 0 14px; width:14px; height:14px; }
  .epr2026-account-role-badge--admin { border-color:rgba(255,211,94,.26); background:rgba(233,178,41,.12); color:#ffda77; }
  .epr2026-account-role-badge--unknown { border-color:rgba(183,202,226,.26); background:rgba(183,202,226,.08); color:#c6d8ee; }
  .epr2026-account-session { border-color:rgba(66,214,158,.23); background:rgba(10,164,112,.13); color:#8aefc3; }
  .epr2026-account-session-dot { flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:#39dfa0; }
  .epr2026-account-actions {
    display:grid;
    gap:2px;
    margin-top:12px;
    padding-top:8px;
    border-top:1px solid rgba(171,202,238,.15);
  }
  .epr2026-account-logout-form { margin:0; min-width:0; }
  .epr2026-account-card .epr2026-account-action {
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-width:0;
    min-height:38px;
    margin:0;
    padding:8px;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    box-shadow:none;
    color:#d6e5f7;
    font:600 12px/1.3 var(--epr26-font-ui);
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .epr2026-account-action svg { flex:0 0 20px; width:20px; height:20px; }
  .epr2026-account-action-text { min-width:0; overflow-wrap:anywhere; }
  .epr2026-account-card .epr2026-account-action:hover,
  .epr2026-account-card .epr2026-account-action.is-current {
    border-color:rgba(137,185,248,.2);
    background:rgba(73,143,237,.16);
    color:#fff;
  }
  .epr2026-account-card .epr2026-account-action:active { background:rgba(73,143,237,.25); color:#fff; }
  .epr2026-account-card .epr2026-account-action:focus-visible { outline:2px solid #92c5ff; outline-offset:2px; color:#fff; }
  .epr2026-sidebar-version {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    margin:0 16px;
    padding:8px 0 14px;
    color:#aec3df;
    font:500 10px/1.4 var(--epr26-font-ui);
    letter-spacing:.015em;
  }
  .epr2026-sidebar-version > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .epr2026-sidebar-version strong { flex:0 0 auto; color:#c6d8ee; font-size:10px; font-weight:650; }
}
/* Match the existing shell's 1050px mobile/collapse threshold; do not move it. */
@media screen and (min-width:1051px) {
  .epr2026-sidebar-collapsed .epr2026-account-card { margin:10px 8px 8px; padding:10px 4px 6px; }
  .epr2026-sidebar-collapsed .epr2026-account-identity { grid-template-columns:minmax(0,1fr); gap:0; }
  .epr2026-sidebar-collapsed .epr2026-account-avatar { width:38px; height:38px; margin:auto; border-radius:11px; font-size:15px; }
  .epr2026-sidebar-collapsed .epr2026-account-avatar::after { content:""; position:absolute; right:-2px; bottom:-2px; width:9px; height:9px; border:2px solid var(--epr26-navy); border-radius:50%; background:#39dfa0; }
  .epr2026-sidebar-collapsed .epr2026-account-copy,
  .epr2026-sidebar-collapsed .epr2026-account-badges,
  .epr2026-sidebar-collapsed .epr2026-account-action-text,
  .epr2026-sidebar-collapsed .epr2026-sidebar-version { display:none; }
  .epr2026-sidebar-collapsed .epr2026-account-actions { gap:4px; margin-top:10px; padding-top:8px; }
  .epr2026-sidebar-collapsed .epr2026-account-card .epr2026-account-action { min-height:40px; padding:8px 0; justify-content:center; gap:0; }
}
@media screen and (max-width:1050px) {
  .epr2026-account-card .epr2026-account-action { min-height:42px; }
}
@media screen and (min-width:1600px) {
  .epr2026-account-name { font-size:13.5px; }
  .epr2026-account-provider { font-size:10.5px; }
  .epr2026-account-card .epr2026-account-action { font-size:13px; min-height:40px; }
  .epr2026-sidebar-version,.epr2026-sidebar-version strong { font-size:10.5px; }
}
/* Keep both navigation and account actions reachable in short/landscape windows. */
@media screen and (max-height:600px) {
  .epr2026-account-card { max-height:calc(100vh - 170px); max-height:calc(100dvh - 170px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#55799f transparent; }
}
@media screen and (prefers-reduced-motion:reduce) {
  .epr2026-account-card .epr2026-account-action { transition:none; }
}

/* ==========================================================================\n   V399 — Global Button Component Standardization\n   Source-of-truth component geometry for authenticated EPR action buttons.\n   Existing page/action classes remain for behavior and layout only.\n   Explicit .epr-btn adoption replaces page-by-page size/weight contracts.\n   Tabs, pagination, segmented controls, badges, inputs and navigation cards\n   are intentionally outside this component family.\n   ========================================================================== */
:root {
  --epr-btn-primary: #1f6feb;
  --epr-btn-primary-hover: #195fcb;
  --epr-btn-secondary-bg: #ffffff;
  --epr-btn-secondary-border: #cbd5e1;
  --epr-btn-secondary-text: #334155;
  --epr-btn-secondary-hover-bg: #f8fafc;
  --epr-btn-danger: #bd3947;
  --epr-btn-danger-hover-bg: #fff4f5;
  --epr-btn-disabled-bg: #f1f5f9;
  --epr-btn-disabled-border: #dbe3ec;
  --epr-btn-disabled-text: #94a3b8;
  --epr-btn-focus: rgba(31,111,235,.26);
}

:is(button,a,span).epr-btn {
  --epr-btn-height: 40px;
  --epr-btn-font-size: 14px;
  --epr-btn-font-weight: 600;
  --epr-btn-radius: 8px;
  --epr-btn-pad-x: 14px;
  --epr-btn-icon-size: 16px;
  appearance: none;
  box-sizing: border-box !important;
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: var(--epr-btn-height) !important;
  height: var(--epr-btn-height) !important;
  padding: 0 var(--epr-btn-pad-x) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: var(--epr-btn-radius) !important;
  font-family: var(--epr26-font-ui,"Segoe UI",Tahoma,Arial,"Noto Sans Thai",sans-serif) !important;
  font-size: var(--epr-btn-font-size) !important;
  font-weight: var(--epr-btn-font-weight) !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease !important;
}

:is(button,a,span).epr-btn--sm {
  --epr-btn-height: 34px;
  --epr-btn-font-size: 13px;
  --epr-btn-font-weight: 600;
  --epr-btn-radius: 7px;
  --epr-btn-pad-x: 10px;
  --epr-btn-icon-size: 14px;
}

:is(button,a,span).epr-btn--lg {
  --epr-btn-height: 44px;
  --epr-btn-font-size: 14px;
  --epr-btn-font-weight: 700;
  --epr-btn-radius: 8px;
  --epr-btn-pad-x: 18px;
  --epr-btn-icon-size: 16px;
}

:is(button,a,span).epr-btn--icon {
  flex: 0 0 var(--epr-btn-height) !important;
  width: var(--epr-btn-height) !important;
  min-width: var(--epr-btn-height) !important;
  max-width: var(--epr-btn-height) !important;
  padding: 0 !important;
}

:is(button,a,span).epr-btn :is(svg,img),
:is(button,a,span).epr-btn > svg,
:is(button,a,span).epr-btn > img {
  width: var(--epr-btn-icon-size) !important;
  height: var(--epr-btn-icon-size) !important;
  flex: 0 0 var(--epr-btn-icon-size) !important;
}

:is(button,a,span).epr-btn--primary {
  background: var(--epr-btn-primary) !important;
  border-color: var(--epr-btn-primary) !important;
  color: #fff !important;
}
:is(button,a,span).epr-btn--primary:hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--epr-btn-primary-hover) !important;
  border-color: var(--epr-btn-primary-hover) !important;
  color: #fff !important;
}

:is(button,a,span).epr-btn--secondary {
  background: var(--epr-btn-secondary-bg) !important;
  border-color: var(--epr-btn-secondary-border) !important;
  color: var(--epr-btn-secondary-text) !important;
}
:is(button,a,span).epr-btn--secondary:hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--epr-btn-secondary-hover-bg) !important;
  border-color: #9fb0c4 !important;
  color: #1e3a5f !important;
}

:is(button,a,span).epr-btn--danger {
  background: #fff !important;
  border-color: var(--epr-btn-danger) !important;
  color: var(--epr-btn-danger) !important;
}
:is(button,a,span).epr-btn--danger:hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--epr-btn-danger-hover-bg) !important;
  border-color: var(--epr-btn-danger) !important;
  color: #9f2f3c !important;
}

:is(button,a,span).epr-btn:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px var(--epr-btn-focus) !important;
}
:is(button,a,span).epr-btn:is(:disabled,[aria-disabled="true"]) {
  background: var(--epr-btn-disabled-bg) !important;
  border-color: var(--epr-btn-disabled-border) !important;
  color: var(--epr-btn-disabled-text) !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  pointer-events: none;
}
:is(button,a,span).epr-btn[hidden] { display:none !important; }

@media (max-width:640px) {
  :is(button,a,span).epr-btn--lg {
    height: auto !important;
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    white-space: normal !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  :is(button,a,span).epr-btn { transition:none !important; }
}

