/* Shared screen-only visual layer. No changes to routes, permissions, wizard
   visibility, scrolling ownership, stock states, or printed documents. */
@media screen {
 .portal-modern{
  --jr-black:#171717;--jr-ink:#202020;--jr-gray-100:#f6f6f7;--jr-gray-200:#ebebee;
  --jr-gray-300:#dedee3;--jr-focus:#737373;--jr-control-height:46px;
  --modern-radius:14px;--modern-shadow:0 2px 8px #18181b05;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;
 }
 .portal-modern.portal-system-v2 :is(h1,h2,h3,h4,h5,h6){font-family:inherit;letter-spacing:-.025em;font-weight:700;line-height:1.3;text-wrap:pretty}
 .portal-modern.portal-system-v2 :is(.small,small){font-size:.8125rem!important;line-height:1.5}
 .portal-modern.portal-system-v2 .text-muted{color:#62626a!important}
 .portal-modern.portal-system-v2 :is(.portal-view-frame,.modal-body) :is(h1,h2){scroll-margin-top:90px}
 .portal-modern.portal-system-v2 :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #6d6d75!important;outline-offset:3px!important}
 .portal-modern.portal-system-v2 .portal-view-frame{overflow-x:visible;padding-bottom:32px}
 .portal-modern.portal-system-v2 .portal-view-frame>:is(.dashboard-page,.hr-page){background:transparent!important}
 .portal-modern.portal-system-v2 .dashboard-page>:is(.container,.container-fluid){padding:28px clamp(16px,2.5vw,36px)!important}
 .portal-modern.portal-system-v2 .hr-page{padding:28px clamp(16px,2.5vw,36px)!important}

 /* Navigation stays familiar, but quieter and easier to scan. */
 .portal-modern.portal-system-v2 :is(.portal-sidebar,.portal-sidebar-inner){background:#141416!important}
 .portal-modern.portal-system-v2 .portal-sidebar{border-right:1px solid #29292d!important}
 .portal-modern.portal-system-v2 .portal-brand{border-bottom:0;gap:10px}
 .portal-modern.portal-system-v2 .portal-brand img{border-radius:10px}
 .portal-modern.portal-system-v2 .portal-brand b{font-size:16px;letter-spacing:-.02em}
 .portal-modern.portal-system-v2 .portal-brand small{font-size:10px!important;letter-spacing:.08em;color:#a8a8b0}
 .portal-modern.portal-system-v2 .portal-account>span{font-size:10px!important;color:#a8a8b0}
 .portal-modern.portal-system-v2 .portal-account>b{font-weight:600}
 .portal-modern.portal-system-v2 .portal-workspace-picker{border:1px solid #3b3b40;border-radius:12px;background:#202024}
 .portal-modern.portal-system-v2 :is(.workspace-current,.workspace-chooser>summary){min-height:58px;padding:10px 12px}
 .portal-modern.portal-system-v2 :is(.workspace-current,.workspace-chooser>summary) b{font-size:16px;font-weight:650}
 .portal-modern.portal-system-v2 :is(.workspace-current,.workspace-chooser>summary) small{font-size:10px!important;letter-spacing:.05em;color:#b8b8c0}
 .portal-modern.portal-system-v2 .workspace-scope{color:#b8b8c0!important;font-size:11px!important;border-color:#39393e}
 .portal-modern.portal-system-v2 .portal-menu-search{border:1px solid #3e3e44!important;border-radius:10px!important;background:#202024!important;min-height:44px!important}
 .portal-modern.portal-system-v2 .portal-menu-search :is(input,button){background:transparent!important;color:#f5f5f5!important}
 .portal-modern.portal-system-v2 .portal-menu-search>i{color:#c9c9d0!important}
 .portal-modern.portal-system-v2 .portal-menu-search input::placeholder{color:#b1b1ba!important}
 .portal-modern.portal-system-v2 .portal-menu-search:focus-within{outline:2px solid #bdbdc5;outline-offset:2px}
 .portal-modern.portal-system-v2 .portal-menu-label{color:#9696a1!important;letter-spacing:.08em!important;font-size:10px!important;font-weight:650!important;margin:18px 12px 8px!important}
 .portal-modern.portal-system-v2 .admin-organized-nav .admin-nav-section{border:0!important;margin:3px 0!important}
 .portal-modern.portal-system-v2 .admin-organized-nav summary{background:transparent!important;border:0!important;border-radius:9px;padding:10px 12px!important;font-weight:600;font-size:14px!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .admin-organized-nav details[open]>summary,.portal-modern.portal-system-v2 .admin-organized-nav summary:hover{background:#25252a!important}
 .portal-modern.portal-system-v2 .admin-nav-links{border-color:#424249;margin-left:23px;padding-left:6px}
 .portal-modern.portal-system-v2 .portal-nav a{border:0!important;border-radius:9px;min-height:44px!important;padding:10px 12px!important;margin:3px 0;gap:10px;color:#d4d4db!important}
 .portal-modern.portal-system-v2 .portal-nav a>i:first-child{width:22px!important;height:22px!important;flex-basis:22px!important;font-size:17px;background:transparent!important;border:0!important}
 .portal-modern.portal-system-v2 .portal-nav a>span{font-weight:500!important;font-size:14px!important}
 .portal-modern.portal-system-v2 .portal-nav a:hover{background:#29292e!important;color:#fff!important;transform:none!important}
 .portal-modern.portal-system-v2 .portal-nav a.active{background:#fff!important;color:#151515!important}
 .portal-modern.portal-system-v2 .portal-nav a.active :is(i,span){color:#151515!important}
 .portal-modern.portal-system-v2 .portal-sidebar-footer{border-color:#34343b!important;background:#141416!important}
 .portal-modern.portal-system-v2 .portal-sidebar-footer a{border:1px solid #3a3a42!important;border-radius:8px;background:transparent!important;font-weight:500}
 .portal-modern.portal-system-v2 .portal-sidebar-footer a:hover{background:#fff!important;color:#111!important}
 .portal-modern.portal-system-v2 .portal-utility-bar{border-color:#e4e4e8!important;min-height:70px!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .portal-utility-context span{font-size:10px!important;letter-spacing:.08em!important;font-weight:600!important;color:#73737d!important}
 .portal-modern.portal-system-v2 .portal-utility-context b{font-weight:650!important;font-size:16px!important}
 .portal-modern.portal-system-v2 :is(.portal-utility-actions a,.portal-secure-status){border:1px solid #e2e2e7!important;border-radius:9px;font-size:13px!important;font-weight:500;box-shadow:none}
 .portal-modern.portal-system-v2 .portal-secure-status{border-color:transparent!important;color:#62626c!important;background:transparent!important}
 .portal-modern.portal-system-v2 .portal-mobile-header{background:#141416!important}
 .portal-modern.portal-system-v2 .portal-mobile-header>button{border:1px solid #48484f;border-radius:9px}

 /* Page headings: one readable title, short description, stable actions. */
 .portal-modern.portal-system-v2 :is(.staff-role-heading,.inventory-heading,.inventory-command-hero,.supplier-simple-hero,.finance-command,.budget-command,.hr-page-hero,.repair-workspace-heading,.warranty-workspace-heading){
  border:1px solid #e0e0e5!important;border-radius:16px!important;box-shadow:var(--modern-shadow)!important;
  background:#fff!important;color:#171717!important;padding:24px!important;margin-bottom:24px;
 }
 .portal-modern.portal-system-v2 :is(.staff-role-heading,.inventory-heading,.inventory-command-hero,.supplier-simple-hero,.finance-command,.budget-command,.hr-page-hero) h1{font-size:clamp(24px,2.4vw,32px)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.035em!important;color:#171717!important;margin:7px 0 10px!important;text-transform:none!important}
 .portal-modern.portal-system-v2 :is(.staff-role-heading,.inventory-heading,.inventory-command-hero,.supplier-simple-hero,.finance-command,.budget-command,.hr-page-hero) p{font-size:14px!important;line-height:1.65!important;max-width:720px;color:#60606b!important;margin:0!important}
 .portal-modern.portal-system-v2 :is(.staff-role-heading>span,.inventory-heading .eyebrow,.inventory-command-hero .eyebrow,.supplier-simple-hero small,.finance-command small,.budget-command-copy>span,.hr-page-hero .eyebrow){color:#70707a!important;font-size:10px!important;font-weight:650!important;letter-spacing:.08em!important}
 .portal-modern.portal-system-v2 :is(.inventory-actions,.hr-hero-actions){gap:8px}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-heading{grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:24px}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-actions .btn{min-height:46px!important;border-color:#dedee3!important;background:#fff!important;color:#222!important;font-size:13px!important;font-weight:600!important}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-actions .btn-dark{background:#171717!important;color:#fff!important;border-color:#171717!important}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-actions .btn>i{border:0;width:20px;height:20px;flex-basis:20px}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-actions .btn:hover{background:#efeff2!important;color:#171717!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .inventory-primary-actions .btn{border:1px solid #dedee3!important;background:#fff!important;color:#222!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .inventory-primary-actions #addInventoryItem{background:#171717!important;color:#fff!important;border-color:#171717!important}
 .portal-modern.portal-system-v2 .inventory-primary-actions .btn small{color:inherit!important;font-size:12px!important;font-weight:400;opacity:.85}
 .portal-modern.portal-system-v2 .inventory-hero-guide{color:#55555f;background:#f5f5f7;border-color:#e0e0e5;border-radius:9px}
 .portal-modern.portal-system-v2 .inventory-hero-guide span{color:#55555f}
 .portal-modern.portal-system-v2 .inventory-command-hero+.alert{border:1px solid #dedee5!important;background:#fff!important;font-weight:400!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .inventory-simple-guide{border:1px solid #e0e0e5;background:#e8e8ec;border-radius:12px;box-shadow:none;margin:0 0 24px;overflow:hidden}
 .portal-modern.portal-system-v2 .inventory-simple-guide>span{padding:14px;background:#fafafb}
 .portal-modern.portal-system-v2 .inventory-simple-guide i{border:0;background:#f0f0f3;border-radius:8px}
 .portal-modern.portal-system-v2 .inventory-simple-guide b{font-size:12px;font-weight:600}

 /* Shared surfaces. Do not clip menus or add hover transforms. */
 .portal-modern.portal-system-v2 :is(.card,.table-card,.dashboard-card,.stat-card,.form-card,.job-order-card,.sales-repair-card,.supplier-simple-card,.supplier-order-card,.phone-work-card,.admin-phone-product,.sales-shop-card,.accessory-product-card,.warranty-card,.warranty-claim-card,.finance-budget-card,.budget-ledger,.finance-records,.hr-panel,.hr-card,.refurb-panel){
  border:1px solid #dedee3!important;border-radius:var(--modern-radius)!important;box-shadow:var(--modern-shadow)!important;
 }
 .portal-modern.portal-system-v2 :is(.card,.stat-card,.job-order-card,.sales-repair-card,.supplier-simple-card,.supplier-order-card,.phone-work-card,.admin-phone-product,.sales-shop-card,.accessory-product-card):hover{transform:none!important;box-shadow:0 4px 14px #18181b09!important}
 .portal-modern.portal-system-v2 :is(.card-header,.card-footer){border-color:#e5e5e9!important;padding:16px 20px}
 .portal-modern.portal-system-v2 .stat-card{padding:20px!important}
 .portal-modern.portal-system-v2 .stat-card strong{font-size:30px!important;font-weight:650!important;letter-spacing:-.035em}
 .portal-modern.portal-system-v2 .stat-card>i{font-size:21px;color:#555!important}
 .portal-modern.portal-system-v2 .stat-card>span{font-size:13px!important;font-weight:500!important}
 .portal-modern.portal-system-v2 :is(.role-section-heading,.admin-section-heading) h2{font-size:20px!important;font-weight:650!important;line-height:1.35}
 .portal-modern.portal-system-v2 :is(.role-section-heading,.admin-section-heading) span{font-size:10px!important;color:#777781;letter-spacing:.08em}
 .portal-modern.portal-system-v2 :is(.role-section-heading,.admin-section-heading) p{font-size:13px;color:#64646e;line-height:1.55}
 .portal-modern.portal-system-v2 :is(.admin-priority-grid,.admin-health-grid,.role-action-queue,.staff-tools,.role-workflow)>a{
  border:1px solid #dedee3!important;border-radius:14px!important;background:#fff!important;color:#202020!important;
  box-shadow:var(--modern-shadow)!important;transform:none!important;padding:20px!important;
 }
 .portal-modern.portal-system-v2 :is(.admin-priority-grid,.admin-health-grid,.role-action-queue,.staff-tools,.role-workflow)>a:hover{border-color:#9696a0!important;background:#fafafa!important;color:#111!important}
 .portal-modern.portal-system-v2 :is(.admin-priority-grid,.admin-health-grid,.role-action-queue,.staff-tools,.role-workflow)>a small{color:#686872!important;font-weight:400!important}
 .portal-modern.portal-system-v2 :is(.admin-priority-grid,.admin-health-grid)>a b{font-size:28px!important;font-weight:650!important;color:#171717!important}
 .portal-modern.portal-system-v2 :is(.admin-priority-grid,.admin-health-grid,.staff-tools)>a>i{background:#f1f1f4!important;color:#303038!important;border-radius:10px!important;border:0!important}
 .portal-modern.portal-system-v2 .role-action-queue>a>span{border:0!important;background:#f1f1f4!important;color:#171717!important;border-radius:10px}
 .portal-modern.portal-system-v2 .role-action-queue>a strong{font-size:16px!important;font-weight:650!important}
 .portal-modern.portal-system-v2 .role-action-queue>a small{font-size:13px!important}
 .portal-modern.portal-system-v2 .role-action-queue{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}
 .portal-modern.portal-system-v2 .role-action-queue>a{grid-template-columns:48px minmax(0,1fr) 18px;gap:16px;min-height:108px}
 .portal-modern.portal-system-v2 .role-action-queue>a>span{width:48px;min-width:0}
 .portal-modern.portal-system-v2 .role-action-queue>a>span b{font-size:22px;font-weight:650}
 .portal-modern.portal-system-v2 .role-action-queue>a>em{min-width:0}
 .portal-modern.portal-system-v2 .admin-finance-panel{border:1px solid #dedee3;border-radius:14px;box-shadow:none;overflow:hidden}
 .portal-modern.portal-system-v2 .admin-finance-panel>div{padding:18px;border-color:#e5e5e9}
 .portal-modern.portal-system-v2 .admin-finance-panel b{font-size:22px;font-weight:650;letter-spacing:-.025em}
 .portal-modern.portal-system-v2 .portal-work-guide{margin:24px 0;border:1px solid #dedee3;border-radius:14px;background:#fff}
 .portal-work-guide>summary{display:flex;align-items:center;gap:14px;padding:18px 20px;min-height:64px;cursor:pointer;list-style:none}
 .portal-work-guide>summary::-webkit-details-marker{display:none}.portal-work-guide>summary>span{display:grid;gap:3px;flex:1}.portal-work-guide>summary b{font-size:15px;font-weight:600}.portal-work-guide>summary small{color:#686872}.portal-work-guide[open]>summary{border-bottom:1px solid #e5e5e9}.portal-work-guide[open]>summary>i:last-child{transform:rotate(180deg)}
 .portal-modern.portal-system-v2 .portal-work-guide .role-workflow{padding:16px;margin:0;gap:12px}
 .portal-modern.portal-system-v2 .role-workflow>a b{font-size:15px!important}
 .portal-modern.portal-system-v2 .role-workflow>a em{font-size:12px}

 /* Forms: consistent labels, 46px controls, subtle borders, visible focus. */
 .portal-modern.portal-system-v2 :is(label,.form-label){font-family:inherit;font-size:14px;font-weight:600;letter-spacing:normal;text-transform:none;line-height:1.45}
 .portal-modern.portal-system-v2 :is(.form-control,.form-select){border:1px solid #cfcfd6!important;border-radius:9px!important;background:#fff!important;color:#202020!important;font-size:15px!important;min-height:46px;line-height:1.5!important;padding:11px 13px!important}
 .portal-modern.portal-system-v2 .form-select{padding-right:38px!important}
 .portal-modern.portal-system-v2 :is(.form-control,.form-select):focus{border-color:#666670!important;box-shadow:0 0 0 3px #18181b0d!important}
 .portal-modern.portal-system-v2 :is(.form-control,.form-select)::placeholder{color:#787882!important;font-weight:400}
 .portal-modern.portal-system-v2 :is(.form-control,.form-select):disabled,.portal-modern.portal-system-v2 :is(.form-control,.form-select)[readonly]{background:#f0f0f3!important;color:#666670!important}
 .portal-modern.portal-system-v2 .input-group{display:flex;flex-wrap:nowrap;align-items:stretch;min-width:0}
 .portal-modern.portal-system-v2 .input-group>.form-control{flex:1 1 0%;width:1%;min-width:0}
 .portal-modern.portal-system-v2 .input-group-text{border:1px solid #cfcfd6!important;border-radius:9px!important;background:#f5f5f7!important;color:#43434d!important;font-size:15px!important;font-weight:600;min-width:44px}
 .portal-modern.portal-system-v2 .input-group>:not(:first-child){border-top-left-radius:0!important;border-bottom-left-radius:0!important}
 .portal-modern.portal-system-v2 .input-group>:not(:last-child){border-top-right-radius:0!important;border-bottom-right-radius:0!important}
 .portal-modern.portal-system-v2 .form-check-input{border:1px solid #91919b!important;border-radius:5px!important;accent-color:#171717}
 .portal-modern.portal-system-v2 .form-check-input[type=radio]{border-radius:50%!important}
 .portal-modern.portal-system-v2 .form-check-input:checked{background-color:#171717!important;border-color:#171717!important}
 .portal-modern.portal-system-v2 .form-text{font-size:13px!important;color:#696973;line-height:1.5}
 .portal-modern.portal-system-v2 .supplier-choice-button{border:1px solid #d4d4dc!important;border-radius:11px!important;padding:16px;min-height:88px;box-shadow:none!important;transform:none!important;transition:background-color .15s,border-color .15s}
 .portal-modern.portal-system-v2 .supplier-choice-button:hover{border-color:#84848e!important;background:#f5f5f7}
 .portal-modern.portal-system-v2 .supplier-choice-button.active{background:#171717!important;color:#fff!important;border-color:#171717!important;box-shadow:inset 0 0 0 1px #171717!important}
 .portal-modern.portal-system-v2 .supplier-choice-button b{font-size:14px;font-weight:600;line-height:1.4}
 .portal-modern.portal-system-v2 .supplier-choice-button small{font-size:12px!important;line-height:1.5}
 .portal-modern.portal-system-v2 .supplier-choice-button.active small{color:#e4e4e8!important}
 .portal-modern.portal-system-v2 .supplier-choice-button>i{border:0;border-radius:8px;background:#f0f0f3;color:#31313b}
 .portal-modern.portal-system-v2 .supplier-choice-button.active>i{background:#fff!important;color:#171717!important}
 .portal-modern.portal-system-v2 .is-invalid,.portal-modern.portal-system-v2 .was-validated :is(.form-control,.form-select):invalid{border-color:#a83232!important}

 /* Actions retain their behavior and hierarchy, not their oversized lettering. */
 .portal-modern.portal-system-v2 .btn{border-width:1px!important;border-radius:9px!important;font-family:inherit;font-size:14px!important;font-weight:600!important;text-transform:none!important;letter-spacing:normal!important;line-height:1.4!important;padding:10px 15px!important;min-height:44px!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .btn-sm{min-height:38px!important;font-size:13px!important;padding:8px 11px!important}
 .portal-modern.portal-system-v2 .btn-lg{min-height:50px!important;font-size:16px!important;padding:12px 20px!important}
 .portal-modern.portal-system-v2 :is(.btn-dark,.btn-primary){background:#171717!important;border-color:#171717!important;color:#fff!important}
 .portal-modern.portal-system-v2 :is(.btn-dark,.btn-primary):hover{background:#35353a!important;color:#fff!important}
 .portal-modern.portal-system-v2 :is(.btn-outline-dark,.btn-light,.btn-outline-light){background:#fff!important;color:#29292f!important;border-color:#d1d1d9!important}
 .portal-modern.portal-system-v2 :is(.btn-outline-dark,.btn-light,.btn-outline-light):hover{background:#f1f1f4!important;border-color:#9696a1!important;color:#171717!important}
 .portal-modern.portal-system-v2 .btn i{color:inherit!important}
 .portal-modern.portal-system-v2 .btn:disabled{opacity:.5!important}
 .portal-modern.portal-system-v2 :is(.btn-link,.dropdown-item){text-transform:none!important;letter-spacing:normal!important}
 .portal-modern.portal-system-v2 .badge{border-radius:6px!important;font-size:11px!important;font-weight:600!important;letter-spacing:.01em;padding:5px 8px!important}
 .portal-modern.portal-system-v2 .alert{border-width:1px!important;border-radius:10px!important;padding:14px 16px!important;font-size:14px!important}

 /* Tables are calm, readable and keep their existing server-side paging. */
 .portal-modern.portal-system-v2 .table-responsive{border-color:#e0e0e5;border-radius:12px}
 .portal-modern.portal-system-v2 .table thead th{background:#f4f4f6!important;color:#51515b!important;border-color:#e0e0e5!important;padding:14px 16px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.015em;text-transform:none!important}
 .portal-modern.portal-system-v2 .table tbody td{padding:15px 16px!important;border-color:#ededf0!important;font-size:14px;line-height:1.5}
 .portal-modern.portal-system-v2 .table tbody td b{font-weight:600}
 .portal-modern.portal-system-v2 .table tbody tr:not(.stock-out):not(.stock-low):hover>*{background:#f8f8fa!important}
 .portal-modern.portal-system-v2 .table tbody td.text-end{font-variant-numeric:tabular-nums}
 .portal-modern.portal-system-v2 .page-link{border:1px solid #dedee5!important;border-radius:8px!important;color:#404049!important;background:#fff!important;min-width:40px;min-height:40px;font-weight:600;font-size:13px;box-shadow:none!important}
 .portal-modern.portal-system-v2 .page-item.active .page-link{background:#171717!important;color:#fff!important;border-color:#171717!important}
 .portal-modern.portal-system-v2 .page-item.disabled .page-link{background:#f2f2f4!important;color:#878790!important}
 .portal-modern.portal-system-v2 :is(.nav-tabs,.nav-pills) .nav-link{border:1px solid #dedee5!important;border-radius:9px!important;font-size:14px;font-weight:600;padding:10px 15px;box-shadow:none!important}
 .portal-modern.portal-system-v2 :is(.nav-tabs,.nav-pills) .nav-link.active{background:#171717!important;color:#fff!important;border-color:#171717!important}
 .portal-modern.portal-system-v2 :is(.nav-tabs,.nav-pills) .nav-link.active i{color:inherit!important}
 .portal-modern.portal-system-v2 .dropdown-menu{border:1px solid #dedee5!important;border-radius:12px!important;padding:6px!important;box-shadow:0 12px 32px #18181b1a!important}
 .portal-modern.portal-system-v2 .dropdown-item{border-radius:7px;min-height:42px;font-size:14px;font-weight:500}
 .portal-modern.portal-system-v2 .dropdown-item:hover,.portal-modern.portal-system-v2 .dropdown-item:focus{background:#f0f0f3!important;color:#171717!important}
 .portal-modern.portal-system-v2 .dropdown-item:hover :is(i,small){color:inherit!important}
 .portal-modern.portal-system-v2 .portal-table-scroll-hint{background:#f2f2f5;color:#5a5a64;border-color:#dedee5}

 /* Modal surfaces only: retain existing body scroll and viewport safety rules. */
 .portal-modern.portal-system-v2 .modal-content{border:1px solid #dedee5!important;border-radius:16px!important;box-shadow:0 22px 70px #0003!important}
 .portal-modern.portal-system-v2 .modal-header{padding:20px 22px!important;min-height:76px;border-bottom:1px solid #343439!important;background:#19191c!important}
 .portal-modern.portal-system-v2 .modal-header :is(h1,h2,h3,.modal-title){font-size:clamp(20px,2vw,25px)!important;line-height:1.3!important;font-weight:650!important;letter-spacing:-.02em!important}
 .portal-modern.portal-system-v2 .modal-header small{font-size:10px!important;font-weight:600!important;letter-spacing:.08em!important}
 .portal-modern.portal-system-v2 .modal-header p{font-size:13px!important;line-height:1.55!important}
 .portal-modern.portal-system-v2 .modal-header .btn-close{width:40px!important;height:40px!important;flex-basis:40px!important;min-width:40px;border-radius:9px!important;border:1px solid #777!important;box-sizing:border-box;padding:10px!important;flex-shrink:0}
 .portal-modern.portal-system-v2 .modal-body{background:#fafafb!important;padding:22px 22px 30px!important}
 .portal-modern.portal-system-v2 .modal-footer{border-top:1px solid #e2e2e7!important;padding:14px 20px!important;min-height:70px;gap:10px!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .modal-backdrop.show{opacity:.5}
 .portal-modern.portal-system-v2 :is(.self-password-account,.self-password-step,.self-password-privacy){border:1px solid #dedee5!important;border-radius:12px!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .self-password-step{grid-template-columns:36px minmax(0,1fr);padding:18px!important;gap:14px;background:#fff!important}
 .portal-modern.portal-system-v2 .self-password-step>b{display:grid!important;place-items:center!important;border-radius:8px;height:36px!important;width:36px!important;min-height:0!important;padding:0!important;font-size:16px!important;line-height:1!important}
 .portal-modern.portal-system-v2 .first-password-input{border:1px solid #cfcfd6!important;border-radius:9px!important;box-shadow:none!important;outline:0!important;overflow:hidden}
 .portal-modern.portal-system-v2 .first-password-input:focus-within{border-color:#666670!important;box-shadow:0 0 0 3px #18181b0d!important}
 .portal-modern.portal-system-v2 .first-password-input>.form-control{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important}
 .portal-modern.portal-system-v2 .first-password-input>i{background:#f1f1f4!important;color:#34343d!important;border:0!important}
 .portal-modern.portal-system-v2 .first-password-input>button{border:0!important;background:#fff!important;color:#292932!important}
 .portal-modern.portal-system-v2 .self-password-footer [data-self-password-save] small{color:inherit!important}
 .portal-modern.portal-system-v2 .portal-swal-popup{border:1px solid #dedee5!important;border-radius:18px!important;box-shadow:0 22px 70px #0003!important;font-family:inherit!important}
 .portal-modern.portal-system-v2 .portal-swal-title{font-size:26px!important;line-height:1.3!important;font-weight:650!important;letter-spacing:-.02em}

 /* Common custom workspaces receive the same surface treatment. */
 .portal-modern.portal-system-v2 :is(.repair-process-overview,.supplier-simple-workspace){border:1px solid #dedee5!important;border-radius:14px!important;background:#fff;box-shadow:var(--modern-shadow)!important}
 .portal-modern.portal-system-v2 .supplier-simple-hero .btn-light{background:#171717!important;color:#fff!important;border-color:#171717!important}
 .portal-modern.portal-system-v2 .supplier-type-switcher>a{border:1px solid #dedee5!important;border-radius:12px;box-shadow:none!important;min-height:88px}
 .portal-modern.portal-system-v2 .supplier-simple-summary>div{border-color:#e3e3e8!important}
 .portal-modern.portal-system-v2 .supplier-simple-summary i{border-radius:8px}
 .portal-modern.portal-system-v2 .finance-periods{border:0;background:transparent;gap:8px}
 .portal-modern.portal-system-v2 .finance-periods a{border:1px solid #dedee5;border-radius:9px;background:#fff;color:#292932;min-height:58px}
 .portal-modern.portal-system-v2 .finance-periods a small{color:#666670!important;letter-spacing:normal!important;font-weight:400!important;font-size:11px!important}
 .portal-modern.portal-system-v2 .finance-periods a>i{border:0;background:#f1f1f4;color:#34343d;border-radius:7px}
 .portal-modern.portal-system-v2 .finance-periods a.active{background:#171717;color:#fff;border-color:#171717}
 .portal-modern.portal-system-v2 .finance-periods a.active small{color:#d1d1da!important}
 .portal-modern.portal-system-v2 .finance-periods a.active>i{background:#fff;color:#171717}
 .portal-modern.portal-system-v2 .finance-hero-totals strong{font-size:clamp(24px,3vw,36px)!important;font-weight:650!important;letter-spacing:-.03em;overflow-wrap:anywhere}
 .portal-modern.portal-system-v2 :is(.finance-hero-totals,.finance-metric-grid) article{border-color:#e2e2e7!important}
 .portal-modern.portal-system-v2 :is(.finance-hero-totals,.finance-metric-grid) article>i{border-radius:9px;border:0}
 .portal-modern.portal-system-v2 :is(.finance-hero-totals,.finance-metric-grid) em{font-size:12px!important;line-height:1.5!important}
 .portal-modern.portal-system-v2 .admin-health-grid{border:0;box-shadow:none;background:transparent;gap:12px}
 .portal-modern.portal-system-v2 .admin-priority-grid>a>i{display:grid;place-items:center;width:44px;min-width:44px;height:44px;font-size:23px}
 .portal-modern.portal-system-v2 .admin-priority-grid>a.priority-danger{border-left:3px solid #a43a3a!important}
 .portal-modern.portal-system-v2 .admin-priority-grid>a.priority-warning{border-left:3px solid #9b751d!important}
 .portal-modern.portal-system-v2 :is(.inventory-filters,.inventory-directory,.inventory-health-summary>div,.inventory-summary-button,.phone-status-workspace,.phone-stock-toolbar,.sales-shop-toolbar,.phone-report-disclosure,.supplier-simple-summary,.supplier-simple-filters,.finance-overview,.budget-summary,.budget-ledger,.payroll-period-panel,.hr-filter-bar){border:1px solid #dedee5!important;border-radius:12px!important;box-shadow:var(--modern-shadow)!important}
 .portal-modern.portal-system-v2 .phone-status-workspace>header{background:#f5f5f7!important;color:#202020!important;border-bottom:1px solid #e3e3e8!important;min-height:0;padding:16px 20px}
 .portal-modern.portal-system-v2 .phone-status-workspace>header small{color:#696973!important}
 .portal-modern.portal-system-v2 .phone-status-workspace>header h2{font-size:18px!important;color:#202020!important}
 .portal-modern.portal-system-v2 .phone-status-workspace>header p{color:#64646e!important;font-size:14px!important}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tabs{background:#fff!important;border-top:0!important;gap:8px;padding:12px}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab{border:1px solid #dddde4!important;min-height:68px!important;padding:12px!important}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab>i{background:#f1f1f4;color:#34343d;border:0;border-radius:8px;width:32px;height:32px;flex-basis:32px}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab.active{background:#171717!important;border-color:#171717!important;color:#fff!important;box-shadow:none!important}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab small{border:0;background:#f1f1f4!important;color:#34343d!important;border-radius:5px;min-width:24px;height:24px}
 .portal-modern.portal-system-v2 :is(.phone-status-tabs,.supplier-order-status-tabs) :is(a,button){border-radius:8px!important;box-shadow:none!important;font-weight:600;min-height:44px}
 .portal-modern.portal-system-v2 :is(.supplier-simple-card,.supplier-order-card)>header h3{font-size:20px;font-weight:650}
 .portal-modern.portal-system-v2 .supplier-simple-card :is(b,strong){font-weight:650}
 .portal-modern.portal-system-v2 .supplier-simple-card>section b{font-size:14px}
 .portal-modern.portal-system-v2 .supplier-simple-card>ul li{font-size:13px}
 .portal-modern.portal-system-v2 .supplier-simple-progress span{border-radius:7px;font-size:12px}
 .portal-modern.portal-system-v2 .supplier-simple-next{border-radius:9px}
 .portal-modern.portal-system-v2 .supplier-simple-next b{font-size:14px}
 .portal-modern.portal-system-v2 .inventory-health-card>i{border-radius:9px}
 .portal-modern.portal-system-v2 :is(.refurb-panel-head,.refurb-panel-foot){border-color:#dedee5!important}
 .portal-modern.portal-system-v2 .refurb-final-block{border:1px solid #dedee5!important;border-radius:12px;background:#fff}
 .portal-modern.portal-system-v2 :is(.technician-phone-command,.technician-phone-task,.technician-phone-search){border:1px solid #dedee5!important;border-radius:14px!important;box-shadow:var(--modern-shadow)!important}
 .portal-modern.portal-system-v2 .technician-phone-command>header{background:#f5f5f7;color:#202020;border-radius:13px 13px 0 0;padding:20px}
 .portal-modern.portal-system-v2 .technician-phone-command>header :is(p,small){color:#63636d!important}
 .portal-modern.portal-system-v2 .technician-phone-command>header h2{font-size:20px;font-weight:650}
 .portal-modern.portal-system-v2 .technician-phone-command>header strong{border:1px solid #dedee5;border-radius:8px;background:#fff;padding:8px 12px}
 .portal-modern.portal-system-v2 .technician-phone-command>nav{background:#fff;gap:8px;padding:12px;border-radius:0 0 13px 13px}
 .portal-modern.portal-system-v2 .technician-phone-command>nav :is(button,a){border:1px solid #dedee5;border-radius:9px;box-shadow:none!important;min-height:66px}
 .portal-modern.portal-system-v2 .technician-phone-command>nav :is(button,a)>i{border-radius:8px;width:32px;height:32px}
 .portal-modern.portal-system-v2 .technician-phone-command>nav :is(button,a) em{border:0;background:#f1f1f4;color:#34343d;border-radius:5px}
 .portal-modern.portal-system-v2 .technician-task-next{border:1px solid #dedee5;border-radius:10px}
 .portal-modern.portal-system-v2 .technician-task-facts{border:1px solid #e0e0e5;background:#e0e0e5;border-radius:9px;overflow:hidden}
 .portal-modern.portal-system-v2 .technician-phone-task>header,.portal-modern.portal-system-v2 .technician-phone-task>footer{border-color:#e0e0e5}
 .portal-modern.portal-system-v2 :is(.people-pay-nav,.payroll-period-simple,.payroll-range-picker,.payroll-overview-simple,.payroll-tip-pool,.payroll-employee-row){border:1px solid #dedee5!important;border-radius:12px!important;box-shadow:var(--modern-shadow)!important}
 .portal-modern.portal-system-v2 .people-pay-nav{gap:8px;border:0!important;background:transparent;box-shadow:none!important}
 .portal-modern.portal-system-v2 .people-pay-nav>a{border:1px solid #dedee5!important;border-radius:10px;padding:14px 16px;min-height:66px}
 .portal-modern.portal-system-v2 .people-pay-nav>a>b{border:0;border-radius:7px;background:#f0f0f3;color:#292932}
 .portal-modern.portal-system-v2 .people-pay-nav>a.active>b{background:#fff;color:#171717}
 .portal-modern.portal-system-v2 .payroll-period-simple>a{background:#171717!important;color:#fff!important}
 .portal-modern.portal-system-v2 .payroll-period-simple>a:first-child{border-radius:11px 0 0 11px}
 .portal-modern.portal-system-v2 .payroll-period-simple>a:last-child{border-radius:0 11px 11px 0}
 .portal-modern.portal-system-v2 .payroll-range-picker input{border:1px solid #cfcfd6;border-radius:9px;font:inherit;min-width:0;width:100%;padding:10px}
 .portal-modern.portal-system-v2 .payroll-range-picker label>span{font-size:13px;font-weight:600;text-transform:none}
 .portal-modern.portal-system-v2 .payroll-range-picker>header p{font-size:13px;line-height:1.5}

 /* Login only; public shop and document layouts are not restyled. */
 .public-site:has(.modern-login) :is(.mobile-action-bar,.messenger-float){display:none!important}
 .modern-login{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f6f6f7!important;padding:36px 20px!important}
 .modern-login .portal-login-shell{max-width:1160px!important;border:1px solid #e0e0e5!important;border-radius:22px!important;box-shadow:0 8px 40px #18181b08!important;overflow:hidden;gap:0!important}
 .modern-login .portal-login-story{background:#171719!important;padding:40px!important;min-height:0!important;justify-content:flex-start}
 .modern-login .portal-login-message{margin:36px 0 28px!important;padding:0!important}
 .modern-login .portal-login-message h1{font-family:inherit;font-size:clamp(28px,3.4vw,44px)!important;font-weight:650!important;letter-spacing:-.045em!important;line-height:1.15!important;text-transform:none!important;color:#fff!important}
 .modern-login .portal-login-message>span{font-size:10px!important;letter-spacing:.08em!important;color:#b6b6c0!important}
 .modern-login .portal-login-message p{font-size:15px!important;line-height:1.7!important;color:#c1c1ca!important}
 .modern-login .portal-login-role-grid>div{border:1px solid #44444b!important;border-radius:10px!important;background:#232327!important}
 .modern-login .portal-login-role-grid{border:0!important;background:transparent!important;gap:10px!important;box-shadow:none!important}
 .modern-login .portal-login-role-grid b{color:#fff!important;font-size:14px!important;font-weight:600!important}
 .modern-login .portal-login-role-grid>div>i{border:0!important;border-radius:8px;background:#34343a!important;color:#fff!important}
 .modern-login .portal-login-role-grid small{font-size:12px!important;color:#c4c4cc!important}
 .modern-login .portal-login-access{background:#fff!important;padding:40px!important}
 .modern-login .portal-login-card{width:100%;max-width:480px;border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important}
 .modern-login .portal-login-heading h2{font-family:inherit;font-size:30px!important;font-weight:650!important;letter-spacing:-.03em!important;line-height:1.3!important}
 .modern-login .portal-login-heading>span{font-size:10px!important;letter-spacing:.08em!important;color:#74747e!important}
 .modern-login .portal-login-heading p{font-size:14px!important;color:#62626c!important;line-height:1.6!important}
 .modern-login .portal-login-form label>span{font-size:13px!important;font-weight:600!important;letter-spacing:normal;text-transform:none}
 .modern-login .portal-login-input{border:1px solid #cfcfd6!important;border-radius:10px!important;box-shadow:none!important;overflow:hidden;background:#fff!important}
 .modern-login .portal-login-input :is(input,button){border:0!important;background:#fff!important;color:#171717!important;box-shadow:none!important;min-height:50px;font-size:16px!important}
 .public-site .modern-login .portal-login-input input.form-control{border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;min-width:0}
 .modern-login .portal-login-input>i{display:grid;place-items:center;align-self:stretch;height:auto!important;min-width:44px;background:#f5f5f7!important;color:#4f4f59!important;border:0!important}
 .modern-login .portal-login-input:focus-within{outline:2px solid #85858f;outline-offset:2px}
 .modern-login .portal-login-submit{border:1px solid #171717!important;border-radius:10px!important;background:#171717!important;color:#fff!important;box-shadow:none!important;font-size:15px!important;min-height:54px}
 .modern-login .portal-login-submit b{text-transform:none;font-weight:600;font-size:15px!important}
 .modern-login .portal-login-submit small{font-size:12px!important;font-weight:400;color:#d4d4dc!important}
 .modern-login :is(.portal-attendance-kiosk-link,.portal-forgot-trigger){border:1px solid #e1e1e6!important;border-radius:10px!important;background:#fff!important;color:#292932!important;min-height:62px;padding:12px!important;box-shadow:none!important}
 .modern-login :is(.portal-attendance-kiosk-link,.portal-forgot-trigger) small{font-size:12px!important;color:#686872!important;line-height:1.5}
 .modern-login :is(.portal-attendance-kiosk-link,.portal-forgot-trigger)>i:first-child{border-radius:8px;background:#f1f1f4!important;color:#171717!important}
 .modern-login :is(.portal-attendance-kiosk-link,.portal-forgot-trigger):hover{background:#f6f6f8!important}
 .modern-login .alert{border-width:1px!important;border-radius:10px!important;font-size:14px}
 .modern-login .portal-test-accounts{border:1px solid #e1e1e6!important;border-radius:12px!important;padding:16px!important;background:#f8f8fa!important;box-shadow:none!important}
 .modern-login .portal-test-account-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
 .modern-login .portal-test-account-grid .test-account-button{display:flex!important;align-items:flex-start;gap:8px;min-width:0;min-height:0!important;padding:12px!important;border:1px solid #d7d7df!important;border-radius:9px!important;background:#fff!important;color:#222!important;box-shadow:none!important;text-align:left}
 .modern-login .portal-test-account-grid .test-account-button>span{min-width:0;overflow-wrap:anywhere;display:grid;gap:3px}
 .modern-login .portal-test-account-grid .test-account-button b{font-size:13px!important;font-weight:650!important;text-transform:none;line-height:1.4}
 .modern-login .portal-test-account-grid .test-account-button small{font-size:11px!important;color:inherit!important;line-height:1.4}
 .modern-login .portal-test-account-grid .test-account-button>i{font-size:16px!important;background:transparent!important;color:inherit!important;width:auto!important;height:auto!important;flex:none}
 .modern-login .portal-test-account-grid .test-account-button>i:last-child{display:none}
 .modern-login .portal-test-account-grid .test-account-button[aria-pressed=true]{background:#171717!important;color:#fff!important;border-color:#171717!important}
 .modern-login .test-accounts-heading{margin-bottom:12px}.modern-login .test-accounts-heading>span,.modern-login .local-test-selection{font-size:12px!important;line-height:1.5!important;color:#62626c!important}
}
@media screen and (max-width:1199.98px){
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-heading{grid-template-columns:minmax(0,1fr)}
 .portal-modern.portal-system-v2 :is(.form-control,.form-select){font-size:16px!important}
 .portal-modern.portal-system-v2 .portal-secure-status{display:none}
}
@media screen and (max-width:767.98px){
 .portal-modern.portal-system-v2 .role-action-queue{grid-template-columns:minmax(0,1fr)}
 .portal-modern.portal-system-v2 .dashboard-page>:is(.container,.container-fluid),.portal-modern.portal-system-v2 .hr-page{padding:18px 12px!important}
 .portal-modern.portal-system-v2 :is(.staff-role-heading,.inventory-heading,.inventory-command-hero,.supplier-simple-hero,.finance-command,.budget-command,.hr-page-hero){padding:18px!important;border-radius:12px!important;margin-bottom:18px;gap:18px}
 .portal-modern.portal-system-v2 :is(.inventory-actions,.hr-hero-actions){width:100%}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab{gap:7px;min-height:58px!important;padding:10px!important}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab>i{width:24px;height:24px;flex-basis:24px;font-size:14px}
 .portal-modern.portal-system-v2 .phone-status-workspace .phone-status-tab b{font-size:12px}
 .portal-modern.portal-system-v2 .modal-header{padding:14px 16px!important;gap:12px!important}
 .portal-modern.portal-system-v2 .modal-body{padding:16px 14px 28px!important}
 .portal-modern.portal-system-v2 .modal-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;min-height:0}
 .portal-modern.portal-system-v2 :is(.admin-priority-grid,.admin-health-grid,.role-action-queue,.staff-tools,.role-workflow)>a{padding:16px!important}
 .portal-modern.portal-system-v2 .portal-work-guide .role-workflow{grid-template-columns:1fr!important}
 .modern-login{padding:16px 12px!important}.modern-login .portal-login-story{padding:24px!important}.modern-login .portal-login-access{padding:24px!important}.modern-login .portal-login-shell{border-radius:16px!important}
 .modern-login .portal-login-message h1{font-size:30px!important}.modern-login .portal-login-role-grid{gap:8px!important}
}
@media screen and (max-width:575.98px){
 .portal-modern.portal-system-v2 .modal:not(.repair-guided-inline-modal) .modal-content{border-radius:0!important}
 .portal-modern.portal-system-v2 .phone-stock-page .inventory-actions{grid-template-columns:minmax(0,1fr)}
}
@media screen and (prefers-reduced-motion:reduce){.portal-modern :is(a,button,summary){transition:none!important;scroll-behavior:auto!important}}
