*{box-sizing:border-box} :root{--ink:#142e3d;--muted:#647683;--navy:#102b3b;--teal:#007a72;--line:#dce5e8;--bg:#f4f6f5;--white:#fff}body{margin:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}h1,h2,h3,p{margin:0 0 14px}h1{font-size:30px;letter-spacing:-.9px;line-height:1.2}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:17px}small{font-size:12px;display:block;color:var(--muted)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#d6e4eb;padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:white;font-size:19px;font-weight:750;letter-spacing:2px;text-decoration:none!important;margin-bottom:38px}.brand-icon{background:#139085;color:white;display:grid;place-items:center;width:39px;height:42px;border-radius:10px;font-size:24px;font-weight:800}.brand small{font-size:10px;color:#aec3cc;letter-spacing:.3px;font-weight:400}.nav-caption{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#88a5b4;margin:25px 12px 10px}.sidebar>.nav-caption{margin-top:0}.sidebar nav>a{display:flex;align-items:center;gap:12px;color:#c3d6df;padding:10px 13px;border-radius:7px;margin:3px 0;font-size:14px}.sidebar nav>a:hover,.sidebar nav>a.selected{background:#234755;color:#fff;text-decoration:none}.sidebar nav>a.selected{border-left:3px solid #3dc0af;padding-left:10px}.sidebar-bottom{margin-top:auto;padding:36px 10px 0;font-size:12px;color:#c3d6df}.sidebar-bottom small{color:#89a6b4;margin:5px 0}.status-dot{display:inline-block;width:7px;height:7px;background:#5bd2b5;border-radius:50%;margin-right:5px}.main{min-width:0}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.crumb{color:#b9c7cd;margin:0 13px}.user-bar{display:flex;gap:25px;align-items:center;text-align:right}.user-bar small{font-size:11px}.workspace{max-width:1510px;margin:auto;padding:34px 40px}.page-heading{margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--teal);margin-bottom:10px}.eyebrow.light{color:#7edbca}.welcome-panel{background:#e5efeb;border:1px solid #d5e4dc;border-radius:12px;padding:30px;display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.welcome-panel h2{font-size:26px;margin-top:12px}.welcome-panel p{max-width:580px;color:#506c69;margin-bottom:0}.phase-mark{font-size:65px;line-height:1;color:#7da598;text-align:right;font-weight:700}.phase-mark small{font-size:9px;letter-spacing:1.6px;margin-top:15px;color:#476f62}.pill{font-size:10px;font-weight:750;letter-spacing:1px;border-radius:5px;background:#d5e8df;color:#276452;padding:6px 9px;display:inline-block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px;color:var(--ink);text-decoration:none!important}.metric>span{font-size:12px;color:var(--muted)}.metric strong{font-size:35px;display:block;margin:10px 0 13px;font-weight:650}.metric:hover{border-color:#9cc7bb}.two-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:11px;padding:26px;margin-bottom:24px;min-width:0}.panel.flush{padding:0}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.section-heading>a{font-size:12px;white-space:nowrap;padding-top:5px}.empty{text-align:center;padding:34px 20px 45px}.empty-symbol{font-size:30px;display:inline-grid;place-items:center;width:60px;height:60px;background:#eef3f1;color:#6c9989;border-radius:14px;margin:0 0 19px}.empty p{color:var(--muted);max-width:400px;margin:0 auto 23px;font-size:14px}.steps{list-style:none;counter-reset:step;padding:0;margin:23px 0 0}.steps li{counter-increment:step;position:relative;padding:0 0 18px 45px}.steps li:before{content:counter(step);position:absolute;left:0;top:0;background:#edf3f0;color:#24785e;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:12px;font-weight:750}.steps p{font-size:13px;color:var(--muted);margin-top:3px;margin-bottom:3px}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:23px 0}.roadmap>div{border-top:3px solid #dbe5e7;padding-top:16px}.roadmap>.current{border-color:var(--teal)}.roadmap p{font-size:13px;color:var(--muted);margin-top:7px}.muted{color:var(--muted)}.small{font-size:12px}.lead{margin-bottom:24px}.button{display:inline-flex;justify-content:center;align-items:center;border-radius:6px;padding:10px 17px;font-weight:650;font-size:13px;border:1px solid transparent;text-decoration:none!important;min-height:42px}.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:#046b65}.button.secondary{background:#fff;color:var(--ink);border-color:#cbd9de}.button.danger{background:#fff3f1;color:#9d3c31;border-color:#f0cdc7}.wide{width:100%}.link-button{border:0;background:transparent;color:var(--teal);padding:4px;font-size:12px}.stack{display:flex;flex-direction:column;gap:18px}.stack>.panel{margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600}label small{font-weight:400;margin-top:6px}input,textarea,select{width:100%;display:block;margin-top:7px;padding:10px 12px;border:1px solid #cbd7dc;border-radius:6px;color:var(--ink);background:#fff;font-weight:400;min-height:42px}textarea{resize:vertical}input::placeholder{color:#98a6af}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:2px solid #007a7218}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;border-top:1px solid var(--line);padding-top:21px;font-size:13px}.notice{padding:16px 20px;border:1px solid #d6e3e7;border-radius:8px;background:#edf3f5;margin-bottom:22px;font-size:13px}.notice.success{background:#edf7ef;border-color:#c8e5d0;color:#285f3c}.notice.error{background:#fff4ef;border-color:#edcfc1;color:#90482d}.notice ul{margin:6px 0 0;padding-left:20px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.search{display:flex;align-items:center;gap:10px;max-width:450px;flex:1}.search input{margin:0}.padded{padding:24px 26px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{color:var(--muted);font-weight:600}thead{background:#f8faf9;font-size:11px;text-transform:uppercase;letter-spacing:.7px}th,td{padding:15px 22px;border-bottom:1px solid #e9eeef;vertical-align:top}tr:last-child>td{border-bottom:0}td small{margin-top:5px}td input{min-width:95px;margin:0}.code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.table-link{display:block;font-size:11px;margin-top:5px}.badge{display:inline-block;font-size:11px;font-weight:650;border-radius:5px;padding:4px 8px;background:#edf0f2;color:#586977;white-space:nowrap}.badge.submitted{background:#fff1cc;color:#88652c}.badge.approved{background:#e6effc;color:#3c67a1}.badge.applied{background:#e4f3eb;color:#25744c}.badge.rejected{background:#fbeae5;color:#a15440}.tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:22px;border-bottom:1px solid var(--line)}.tabs>a{padding:10px 15px;color:var(--muted);font-size:13px;white-space:nowrap;border-bottom:2px solid transparent}.tabs>a.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:650}.proposal-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.proposal-row:last-child{border-bottom:0}.proposal-row small{margin-top:5px;font-size:11px}.facts{margin:15px 0}.facts>div{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:18px;padding:13px 0;border-bottom:1px solid #e7edef;font-size:13px}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.repeat-container{margin-top:20px}.repeat-row{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:end;gap:14px;margin-bottom:15px}.repeat-row .link-button{padding-bottom:12px}.user-edit{display:grid;grid-template-columns:1.2fr 1.2fr .7fr auto;align-items:start;gap:14px;border-bottom:1px solid var(--line);padding:20px 0}.user-edit>button{margin-top:26px}.inset{padding:17px 20px;background:#f5f8f6;border-radius:7px;font-size:13px}.inset p{margin:7px 0 0}.pagination{padding:12px 24px}.pagination ul{list-style:none;display:flex;gap:20px;padding:0}.pagination .disabled{color:var(--muted)}.button-row{display:flex;gap:10px;flex-wrap:wrap}details summary{cursor:pointer;color:var(--teal);font-size:12px}pre{max-width:650px;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f6;padding:16px;border-radius:6px;font-size:11px;text-transform:none;font-weight:400}footer{font-size:11px;color:#8998a1;margin-top:38px}.access-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.access-intro{background:var(--navy);color:#fff;padding:48px 64px;display:flex;flex-direction:column;justify-content:space-between;gap:55px}.access-intro h1{font-size:44px;font-weight:600;line-height:1.18;letter-spacing:-1.6px}.access-intro p{max-width:450px;color:#b7cbd4;margin-top:25px;line-height:1.8;font-size:16px}.access-intro>small{color:#89a8b8}.intro-facts{display:flex;flex-wrap:wrap;gap:22px;font-size:11px;color:#b6d6cf;margin-top:35px}.access-form{max-width:570px;width:100%;padding:70px 50px;margin:auto}.access-form h2{font-size:29px;margin-top:20px}.access-form form{margin-top:28px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1150px){.workspace{padding:28px}.topbar{padding:0 28px}.metric-grid{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.access-intro{padding:40px}.access-intro h1{font-size:37px}.user-edit{grid-template-columns:1fr 1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{padding:18px}.sidebar .brand{margin-bottom:12px}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav>a{white-space:nowrap}.nav-caption,.sidebar-bottom{display:none}.topbar{height:auto;padding:18px;gap:10px;align-items:flex-start}.workspace{padding:22px 16px}.metric-grid{gap:10px}.metric{padding:17px}.welcome-panel{padding:24px}.phase-mark{display:none}.form-grid,.roadmap{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar{flex-wrap:wrap}.search{min-width:100%}.panel{padding:20px}.padded{padding:20px}.repeat-row{grid-template-columns:1fr}.repeat-row .link-button{justify-self:end}.access-shell{grid-template-columns:1fr}.access-intro{padding:28px;gap:20px}.access-intro h1{font-size:30px}.access-intro p,.intro-facts,.access-intro>small{display:none}.access-form{padding:35px 25px}.access-intro .brand{margin-bottom:0}h1{font-size:26px}.user-bar{gap:12px}.user-edit{grid-template-columns:1fr}.user-edit>button{margin-top:0}.section-heading{flex-wrap:wrap}.facts>div{grid-template-columns:1fr;gap:5px}}


/* Workspace shell: compact desktop navigation and an accessible mobile drawer. */
:root{--sidebar-width:236px}
.icon{flex-shrink:0;vertical-align:middle}
.shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100dvh;overflow-y:auto;padding:22px 14px 18px}
.sidebar-brand{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.sidebar .brand{margin:0 6px 25px;gap:11px;font-size:18px;letter-spacing:1.8px}
.brand-icon{flex-shrink:0;width:36px;height:38px;border-radius:9px;font-size:23px}
.brand-copy{white-space:nowrap}
.sidebar nav{display:block}
.sidebar nav>a{position:relative;min-height:42px;padding:10px 12px;gap:12px;font-size:13px;margin:3px 0;border-left:0}
.sidebar nav>a.selected{padding-left:12px;border-left:0;background:#274958}
.sidebar nav>a.selected:before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;background:#68c7b9;border-radius:0 3px 3px 0}
.sidebar .nav-caption{display:block;margin:21px 12px 9px;font-size:10px;letter-spacing:1.3px;color:#9cb5c1}.sidebar .nav-status-caption{margin-top:15px;margin-bottom:5px;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:#9ab3bd}
.sidebar-bottom{display:flex;align-items:baseline;gap:5px;padding:24px 12px 0;font-size:12px}
.sidebar-bottom small{font-size:11px;margin:3px 0}
.status-dot{flex-shrink:0}
.topbar{position:sticky;top:0;z-index:10;height:68px;padding:0 28px;gap:20px}
.topbar-location{display:flex;align-items:center;gap:15px;min-width:0}
.breadcrumb{display:flex;align-items:center;white-space:nowrap;color:var(--muted);font-size:12px}
.breadcrumb>span:last-child{color:var(--ink)}
.crumb{margin:0 11px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;padding:0;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--ink)}
.icon-button:hover{background:#edf3f1}
.sidebar-toggle,.sidebar-close,.nav-overlay{display:none}
.js-ready .sidebar-toggle{display:inline-flex}
.user-bar{gap:20px;min-width:0;font-size:12px}
.user-identity{max-width:220px;overflow-wrap:anywhere}
.environment-badge{border:1px solid #d9e7e1;color:#466c5f;background:#f1f7f4;border-radius:5px;padding:4px 8px;font-size:10px;white-space:nowrap}
.workspace{max-width:none;margin:0;padding:26px 28px}
.page-heading{margin-bottom:16px}
h1{font-size:27px;letter-spacing:-.7px}
h2{font-size:18px}
.lead{margin-bottom:22px;font-size:14px}
.panel{padding:22px;margin-bottom:20px;border-radius:9px}
.panel.flush{padding:0}
.panel>p.muted{font-size:13px}
.padded{padding:20px 22px}
.metric-grid{gap:16px;margin-bottom:22px}
.metric{position:relative;padding:18px 20px;border-radius:9px}
.metric>.icon{position:absolute;right:18px;top:18px;color:#6b9488}
.metric>span{padding-right:26px;display:block}
.metric strong{font-size:32px;margin:10px 0 6px}
.metric small{font-size:11px}
.two-columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}
.quick-links{display:grid;grid-template-columns:1fr;gap:3px}
.quick-links>a{display:flex;align-items:center;gap:12px;color:var(--ink);padding:11px 8px;border-bottom:1px solid #edf1ef;font-size:13px}
.quick-links>a:last-child{border-bottom:0}
.quick-links>a:hover{background:#f1f7f4;text-decoration:none;border-radius:6px}
.quick-links .icon{color:#64897d}
.quick-arrow{margin-left:auto;color:var(--muted)}
.empty{padding:28px 18px}
.empty-symbol{height:46px;width:46px;margin-bottom:14px}
.empty-symbol .icon{width:25px;height:25px}
.empty p{font-size:13px}
.workspace-note{background:transparent;border-style:dashed;margin-top:4px;color:var(--muted);font-size:12px}
.workspace-note b{color:var(--ink)}
th,td{padding:13px 17px}
.table-wrap{max-width:100%}
footer{margin-top:24px;font-size:10px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;padding:10px 18px;border:2px solid var(--teal);border-radius:6px}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.sidebar :focus-visible{outline-color:#86dccb}
#main-content:focus{outline:none}
@media(min-width:901px){
    .sidebar-collapsed{--sidebar-width:76px}
    .sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}
    .sidebar-collapsed .brand{margin:0 8px 25px}
    .sidebar-collapsed .nav-label,.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-caption span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    .sidebar-collapsed .sidebar nav>a{justify-content:center;padding-left:0;padding-right:0}
    .sidebar-collapsed .sidebar .nav-caption{height:1px;margin:18px 9px 12px;background:#35505e}
    .sidebar-collapsed .sidebar-bottom{justify-content:center;padding-left:0;padding-right:0}
}
@media(min-width:901px) and (max-width:1150px){.two-columns{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
    .shell{grid-template-columns:minmax(0,1fr)}
    .sidebar{position:static;height:auto}
    .js-ready .sidebar{position:fixed;inset:0 auto 0 0;width:260px;height:100dvh;z-index:40;transform:translateX(-100%);visibility:hidden;box-shadow:10px 0 30px #102b3b22}
    .js-ready.nav-open .sidebar{transform:translateX(0);visibility:visible}
    .js-ready.nav-open{overflow:hidden}
    .sidebar .brand{margin:0 6px 25px}
    .sidebar .sidebar-close{color:#d6e4eb;border-color:#42606f;margin-bottom:25px}
    .sidebar .sidebar-close:hover{background:#274958}
    .js-ready .sidebar-close{display:inline-flex}
    .js-ready .nav-overlay:not([hidden]){display:block;position:fixed;inset:0;z-index:30;border:0;border-radius:0;background:#102b3b66}
    .sidebar nav{display:block;overflow:visible}
    .sidebar .sidebar-bottom{display:flex}
    .topbar{height:66px;padding:0 18px;align-items:center}
    .topbar-location{gap:10px}
    .user-bar{gap:14px}
    .workspace{padding:23px 18px}
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .two-columns{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .form-grid .full{grid-column:auto}
}
@media(max-width:600px){
    .breadcrumb{display:none}
    .topbar{padding:0 14px;gap:8px}
    .user-bar{gap:12px;font-size:11px}
    .user-identity{max-width:170px}
    .environment-badge{display:none}
    .workspace{padding:21px 14px}
    h1{font-size:24px}
    .metric-grid{gap:10px}
    .metric{padding:15px 13px}
    .metric>.icon{display:none}
    .metric>span{padding-right:0;font-size:11px}
    .metric strong{font-size:28px}
    .metric small{font-size:10px}
    .panel{padding:18px}
    .panel.flush{padding:0}
    .padded{padding:18px}
    .form-actions{align-items:flex-start;flex-wrap:wrap}
    /* Keep wide operational tables usable without widening the page. */
    .panel table:not(.mobile-cards){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .panel table:not(.mobile-cards) th,.panel table:not(.mobile-cards) td{white-space:nowrap}
    .panel .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .button{min-height:44px}
    .link-button{min-height:44px;padding:8px}
}

/* People describe the organisation; roles separately describe software access. */
.role-options,.permission-fieldset,.settings-fieldset{border:0;padding:0;margin:0;min-width:0}
.role-options legend{font-size:13px;font-weight:650;padding:0;margin-bottom:12px}
.role-options legend small{font-weight:400;margin-top:4px}
.role-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:7px;padding:12px;font-size:12px;font-weight:500;background:#fafcfb;cursor:pointer}
.check-option input[type=checkbox],.permission-check input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--teal);flex-shrink:0;cursor:pointer}
.check-option:has(input:checked){background:#edf6f1;border-color:#9dc9b9}
.check-option:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}
.permission-check{display:flex;justify-content:center;align-items:center;min-height:26px}
.permission-table th:not(:first-child),.permission-table td{text-align:center}
.permission-table th{white-space:nowrap}
.permission-table tbody th{text-transform:none;font-size:13px;letter-spacing:0;color:var(--ink);min-width:120px}
.permission-table{min-width:650px}
.read-access{color:var(--teal);font-size:11px}
.setting-permission{margin-top:15px;max-width:430px}
.permission-fieldset:disabled input{cursor:default}
.settings-fieldset:disabled input,.settings-fieldset:disabled textarea,.settings-fieldset:disabled select{color:var(--ink);opacity:1;background:#f7f9f8}
.person-card{border-top:1px solid var(--line);padding:20px 0}
.person-card:last-child{padding-bottom:0}
.person-card h3{font-size:16px;margin-bottom:7px}
.person-card p{margin-bottom:6px}
.person-card h3 .badge{margin-left:8px;vertical-align:middle}
.role-badges{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.user-details>summary,.role-edit-details>summary{font-size:13px;font-weight:600;padding:10px 0}
.user-details form,.role-edit-details .form-grid{margin-top:17px}
.role-edit-details{margin-top:14px}
.panel.role-edit-details{margin-top:0}
.role-panel .section-heading{align-items:center}
.role-panel h2{margin-bottom:5px}
.user-identity small{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.role-choice-grid{grid-template-columns:1fr}.role-panel .section-heading{align-items:flex-start}.permission-table{min-width:610px}.user-identity small{max-width:170px}.person-card h3 .badge{margin:6px 0;display:table}}

.setting-permissions{margin-top:15px}

/* Operations Platform module navigation and workspace launcher. */
.sidebar .nav-module{margin:3px 0}
.sidebar .nav-module>summary,.nav-planned{position:relative;display:flex;align-items:center;gap:11px;padding:9px 11px;min-height:39px;border-radius:7px;font-size:12px;font-weight:500;list-style:none}
.sidebar .nav-module>summary{color:#d6e4eb}
.sidebar .nav-module>summary::-webkit-details-marker{display:none}
.sidebar .nav-module>summary:hover,.sidebar .nav-module[open]>summary,.nav-module-active>summary{background:#234755;color:#fff}
.nav-chevron{margin-left:auto;font-size:19px;line-height:1}
.nav-module[open] .nav-chevron{transform:rotate(90deg)}
.nav-planned{color:#b2c6d0}
.nav-planned .icon{opacity:.75}
.nav-state{margin-left:auto;color:#93adba;font-size:9px;letter-spacing:.1px}
.nav-children{padding:4px 0 5px 12px;margin:0 0 4px 19px;border-left:1px solid #35515f}
.nav-children>a{position:relative;display:flex;align-items:center;gap:9px;min-height:36px;padding:8px 7px;color:#c3d6df;border-radius:6px;margin:2px 0;font-size:12px}
.nav-children>a .icon{width:17px;height:17px}
.nav-children>a:hover,.nav-children>a.selected{background:#274958;color:#fff;text-decoration:none}
.nav-children>a.selected:before{content:'';position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:#68c7b9}
.sidebar-bottom{font-size:10px;line-height:1.6;color:#9cb5c1;padding-top:20px}
.workspace-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}
.workspace-welcome h2{font-size:19px;font-weight:550;margin:0 0 5px}
.workspace-welcome p{color:var(--muted);font-size:13px;margin:0}
.workspace-date{font-size:11px;color:var(--muted);white-space:nowrap}
.module-section{margin-top:28px}
.module-section>.section-heading{margin-bottom:16px;align-items:center}
.module-section h2{margin:0}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.module-card{display:block;position:relative;min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:18px;color:var(--ink);text-decoration:none!important}
.module-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.module-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:8px;background:#eef4f1;color:#457b68}
.module-card h3{font-size:15px;margin-bottom:6px}
.module-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
.module-card .badge{font-size:9px}
.module-card.available{border-color:#b3d1c5;box-shadow:inset 0 3px 0 #4a9c88}
.module-card.available:hover{border-color:var(--teal);background:#f8fcfa}
.module-card.planned{background:#fafbf9}
.module-card.planned .module-icon{background:#eff2f2;color:#7b9198}
.module-open{display:block;margin-top:14px;color:var(--teal);font-size:11px;font-weight:650}
.recent-section{margin-top:24px}
@media(min-width:901px){
    .sidebar-collapsed .nav-module>summary,.sidebar-collapsed .nav-planned{justify-content:center;padding:10px 0}
    .sidebar-collapsed .nav-state,.sidebar-collapsed .nav-chevron{display:none}
    .sidebar-collapsed .nav-children{margin:0;padding:3px 0;border:0}
    .sidebar-collapsed .nav-children>a{justify-content:center;padding:8px 0}
    .sidebar-collapsed .nav-children>a.selected:before{left:0}
}
@media(max-width:1150px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-date{display:none}}
@media(max-width:600px){.module-grid{grid-template-columns:1fr}.workspace-welcome{margin-bottom:20px}.workspace-welcome h2{font-size:18px}.module-section>.section-heading{align-items:flex-start;gap:7px}.module-section>.section-heading>.small{font-size:11px}.sidebar .nav-module>summary,.nav-planned{font-size:13px}}

/* Workspace review: action-first navigation and compact business screens. */
[hidden]{display:none!important}.work-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.work-metrics .metric strong{font-size:30px;margin:5px 0}.setup-list>a{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}.setup-list>a:last-child{border:0}.setup-list small{margin-left:auto}.step-state{font-size:21px;color:#9aaca8}.step-state.done{color:var(--teal)}.compact.empty{padding:22px 10px}.available-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planned-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.planned-grid h3{font-size:15px}.planned-overview>summary{font-size:15px;font-weight:650}.nav-count{margin-left:auto;background:#31535e;color:#fff;font-size:11px;border-radius:12px;padding:1px 7px}.planned-navigation .nav-planned{font-size:12px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:20px}.filter-bar label{flex:1;min-width:145px}.filter-bar input,.filter-bar select{margin-top:5px}.filter-bar>a:not(.button){padding:10px 3px;font-size:13px}.role-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.role-directory{padding:18px;position:sticky;top:90px}.role-directory h2{font-size:17px}.role-directory nav{margin-top:15px}.role-option{display:block;padding:12px;border-radius:7px;color:var(--ink);margin:3px 0;font-size:13px}.role-option small{margin-top:4px}.role-option.selected{background:#e7f2ef;box-shadow:inset 3px 0 var(--teal)}.role-option:hover{background:#f0f5f3;text-decoration:none}.role-editor .form-grid{margin-bottom:20px}.role-editor>.inset{margin-top:20px}.role-editor .permission-table th,.role-editor .permission-table td{padding:12px 10px}.sticky-actions{position:sticky;bottom:0;background:#fff;z-index:3;padding:14px 0;margin-top:20px;border-top:1px solid var(--line)}.dirty-status{color:#9a6811;font-size:12px}.effective-access{margin:15px 0}.effective-access>summary{font-size:13px;font-weight:600}.effective-access ul{font-size:13px;columns:2;padding-left:20px}.effective-access .notice{margin-top:12px}.required-hint{font-weight:400;font-size:10px;color:var(--muted);margin-left:5px}.field-fixed{display:flex;flex-direction:column;gap:5px;align-self:start;padding:0 0 3px}.field-fixed .field-label{font-weight:600}.field-fixed strong{min-height:42px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#f4f7f6;font-weight:400;font-size:16px}.field-fixed small{color:var(--muted);font-size:12px}.code-preview{order:-1;border:1px solid #bcdbd3;background:#f1f8f5;padding:15px 18px;border-radius:8px}.code-preview output{display:block;font-size:22px;font-family:ui-monospace,monospace;margin-top:6px;color:var(--teal)}.select-search{margin-bottom:5px;background:#f8faf9;min-height:35px;padding:7px 10px;font-size:12px}.repeat-row:has([data-component-unit]){grid-template-columns:minmax(0,2fr) minmax(100px,1fr) 55px auto}.component-unit{align-self:center}.component-unit output{display:block;padding:10px 0}.field-error{color:#9d3c31;margin-top:5px;font-weight:400}.error-summary a{color:inherit;text-decoration:underline}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b84f3b;background:#fff9f7}.changed-row{background:#fffaf0}.change-table th{color:var(--ink);width:25%}.change-table td{width:37.5%;overflow-wrap:anywhere}.change-table .badge{display:block;width:max-content;margin-top:4px;font-size:9px}.status-timeline{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0 0 20px}.status-timeline li{padding:7px 13px;background:#edf1f0;border-radius:20px;color:var(--muted);font-size:12px}.status-timeline li.current{background:var(--teal);color:#fff}.status-timeline li.rejected{background:#a15440}.history-event{padding:20px;margin-bottom:14px}.history-event h2{font-size:17px;margin-bottom:5px}.history-event p{margin-bottom:8px;font-size:13px}.history-event time{white-space:nowrap;font-size:12px;color:var(--muted)}.history-event details{margin-top:12px}.history-event details>summary{font-size:13px}.history-event .technical-details>summary{font-size:11px;color:var(--muted)}.history-event details .table-wrap{margin-top:12px}.technical-details pre{max-width:none;max-height:350px;overflow:auto}.effective-date{max-width:400px;margin-bottom:18px}.recovery-key{display:block;overflow-wrap:anywhere;user-select:all;font-size:16px;padding:15px;background:#fff;border-radius:5px;margin:15px 0}dialog{width:min(580px,calc(100% - 28px));max-height:85vh;border:1px solid var(--line);border-radius:12px;padding:25px;color:var(--ink);box-shadow:0 20px 80px #102b3b44}dialog::backdrop{background:#102b3b88}dialog ul{padding-left:20px;font-size:14px}dialog .button-row{justify-content:flex-end;margin-top:25px}.breadcrumb{flex-wrap:wrap;font-size:12px}.breadcrumb .crumb{margin:0 7px}.environment-badge{font-weight:600}
@media(min-width:901px){.sidebar-collapsed .nav-count{display:none}}
@media(max-width:1100px){.role-workspace{grid-template-columns:220px minmax(0,1fr)}.breadcrumb{max-width:420px}}
@media(max-width:900px){.role-workspace{grid-template-columns:1fr}.role-directory{position:static}.role-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:235px;overflow:auto}.effective-access ul{columns:1}.history-event .section-heading{flex-wrap:wrap}}
@media(max-width:600px){.work-metrics,.available-grid,.planned-grid{grid-template-columns:1fr}.work-metrics .metric{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.work-metrics .metric strong{grid-row:1/3;grid-column:2}.work-metrics .metric small{grid-column:1}.filter-bar label{min-width:100%}.environment-badge{display:inline-block;font-size:9px;padding:2px 5px}.topbar .user-bar{gap:8px}.user-identity small{font-size:9px}.user-identity b{font-size:11px}.role-directory nav{grid-template-columns:1fr}.permission-table{min-width:0}.permission-table thead{display:none}.permission-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0;border-bottom:1px solid var(--line)}.permission-table th{grid-column:1/-1;padding:6px!important}.permission-table tr>td:nth-child(2){display:none}.permission-table td{border:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px!important;font-size:10px}.permission-table td::before{content:attr(data-label);min-height:32px;font-weight:600;color:var(--muted)}.repeat-row:has([data-component-unit]){grid-template-columns:1fr 70px}.repeat-row:has([data-component-unit])>label:first-child{grid-column:1/-1}.repeat-row:has([data-component-unit])>.remove-row{grid-column:1/-1}.mobile-cards thead,.change-table thead{display:none}.mobile-cards tr,.change-table tr{display:block;padding:12px 8px;border-bottom:1px solid var(--line)}.mobile-cards th,.mobile-cards td,.change-table th,.change-table td{display:block;width:auto;border:0;padding:6px 10px}.mobile-cards td[data-label]::before,.change-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;text-transform:uppercase;margin-bottom:3px}.change-table th{font-size:14px}.change-table .badge{display:inline-block;margin-left:8px}.history-event time{white-space:normal}.sticky-actions{gap:8px;flex-wrap:wrap}.form-actions .dirty-status{order:3;flex-basis:100%}.history-event{padding:16px}.role-editor{padding:18px}}

.workspace-company{display:block;padding:12px 10px;margin:-10px 0 18px;border:1px solid #35505d;border-radius:7px;color:#e1eeef;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.workspace-company small{color:#93b0b8;text-transform:uppercase;letter-spacing:1px;font-size:9px;margin-bottom:4px}.workspace-company:hover{text-decoration:none;background:#24414e}@media(min-width:901px){.sidebar-collapsed .workspace-company{display:none}}
/* Company document onboarding */
.company-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.company-intro h2{font-size:26px;margin:7px 0}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.08em;color:var(--muted,#64748b)}.company-start{align-items:start}.company-how{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.company-how li{margin:10px 0}.identity-group{border-top:1px solid #e2e8f0;padding:18px 0}.identity-group summary{font-weight:650;cursor:pointer}.identity-group summary span{margin-left:12px}.identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0 6px}.identity-grid dt{font-size:12px;color:#64748b;margin-bottom:7px}.identity-grid dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.identity-grid small{display:block;margin-top:8px}.pending-note{color:#936019}.document-card{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid #e2e8f0}.document-card h3{margin:7px 0;overflow-wrap:anywhere}.document-actions{display:flex;flex-direction:column;align-items:start;gap:16px;min-width:210px}.document-source{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;max-width:38em}.document-value{white-space:pre-line;overflow-wrap:anywhere}.document-upload input[type=file]{max-width:100%;padding:12px;font-size:13px}.source-lines{max-height:440px;overflow:auto;background:#f6f8fb;padding:18px 18px 18px 60px;font-family:monospace;line-height:1.9}.source-lines li{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:10px}.certificate-reminders{border-left:4px solid #d99836}.page-tools{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}
@media(max-width:760px){.company-intro,.document-card{display:block}.company-intro .badge{margin-top:10px}.identity-grid{grid-template-columns:1fr}.document-actions{margin-top:18px}.page-tools{flex-wrap:wrap}.source-lines{padding-left:40px}}
.checkbox{display:flex;align-items:center;justify-content:flex-start;gap:10px}.checkbox input[type=checkbox],.mobile-cards input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}.module-permission-table th small,.permission-fixed small{display:block;font-size:11px;font-weight:400;margin-top:6px;color:#687986}.permission-fixed{font-size:12px}.planned-permission{color:#7c8893;background:#fafbfc}.planned-permission th{font-weight:500}.permission-details{margin:22px 0;padding:16px;background:#f8fafb;border:1px solid #e0e6ea;border-radius:8px}.permission-details summary{cursor:pointer;font-weight:600}.module-permission-table td small[data-module-mixed]{font-size:10px;display:block;color:#936019;margin-top:5px}.setting-permissions small{display:block;margin-top:4px;font-weight:400;color:#687986}
.brand-company-name{display:block;max-width:145px;white-space:normal;overflow-wrap:anywhere;letter-spacing:0;font-size:18px;line-height:1.2}.sidebar-collapsed .brand-company-name{display:none}@media(max-width:900px){.sidebar-collapsed .brand-company-name{display:block}}
.module-permission-table{table-layout:fixed;min-width:0}.module-permission-table th,.module-permission-table td{padding:12px 8px;white-space:normal;overflow-wrap:anywhere}.module-permission-table th:first-child{width:34%;min-width:0}.module-permission-table thead th:not(:first-child){width:16.5%;font-size:10px;letter-spacing:.2px}.module-permission-table td input{min-width:18px}.module-permission-table .read-access{font-size:11px}@media(max-width:600px){.module-permission-table th:first-child{width:auto}}
.document-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:16px 0}.document-dates dt{font-size:11px;color:var(--muted)}.document-dates dd{margin:5px 0 0;font-size:13px}@media(max-width:600px){.document-dates{grid-template-columns:1fr;gap:12px}}
.document-dates{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.document-dates{grid-template-columns:1fr}}
/* Compact company profile and register */
.company-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.company-heading h2{margin:0 0 4px;font-size:25px}.company-heading p{margin:0;font-size:13px}.company-heading-actions{display:flex;align-items:center;gap:14px}.company-core-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:0;margin:10px 0}.company-detail-row{display:grid;grid-template-columns:135px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #edf0f2}.company-detail-row dt{color:var(--muted);font-size:12px}.company-detail-row dd{margin:0;min-width:0;font-size:13px}.company-detail-value{white-space:pre-line;overflow-wrap:anywhere}.company-source{display:block;font-size:10px;margin-top:5px}.company-detail-row .pending-note{font-size:10px;margin-top:5px}.inline-edit{margin-top:6px;font-size:11px}.inline-edit summary{color:var(--teal);cursor:pointer}.inline-edit form{margin:14px 0}.company-additional{padding-top:15px}.company-additional summary,.company-upload-panel>summary,.company-approval-panel>summary{font-size:14px;font-weight:650;cursor:pointer}.company-additional summary span{font-weight:400;margin-left:10px}.company-additional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}.company-additional-grid h3{font-size:14px;margin-bottom:0}.company-additional-grid dl{margin:0}.company-profile-note{margin:18px 0 0}.company-document-table th,.company-document-table td{padding:14px 10px}.company-document-table td:first-child{max-width:260px;overflow-wrap:anywhere}.company-document-table .button{padding:8px 12px;min-height:36px;white-space:nowrap}.table-dates{margin:0}.table-dates dt{font-size:10px;color:var(--muted)}.table-dates dd{margin:2px 0 9px;white-space:nowrap;font-size:12px}.table-dates dd:last-child{margin-bottom:0}.document-versions{font-size:11px;margin-top:10px}.document-versions summary{cursor:pointer;color:var(--teal)}.document-versions a{display:block;margin:6px 0}.register-help{margin:18px 0 0}.company-upload-panel>p{margin-top:15px}.company-upload-panel .document-upload{max-width:620px}.company-approval-panel>summary{margin-bottom:8px}.company-register>.section-heading{margin-bottom:6px}
@media(max-width:1100px){.company-detail-row{grid-template-columns:110px minmax(0,1fr);gap:10px}.company-core-fields{column-gap:24px}}
@media(max-width:760px){.company-heading{align-items:start;flex-direction:column}.company-heading-actions{flex-wrap:wrap}.company-core-fields,.company-additional-grid{grid-template-columns:1fr}.company-detail-row{grid-template-columns:115px minmax(0,1fr)}.company-register .section-heading{flex-wrap:wrap}.company-document-table td:first-child{max-width:none}}

.workspace :is(details,section)[id]{scroll-margin-top:90px}
.company-heading{margin-bottom:16px}.company-core-fields{margin-top:6px}.company-detail-row{padding:10px 0}.company-additional-grid{margin-top:16px}.company-document-table th,.company-document-table td{padding:10px}.company-profile-note,.register-help{margin-top:14px}

#save-review .button-row{gap:12px}#save-review li{overflow-wrap:anywhere;margin-bottom:8px}

.people-access-table{table-layout:fixed}.people-access-table th,.people-access-table td{padding:14px 10px;overflow-wrap:anywhere}.people-access-table th:first-child{width:19%}.people-access-table th:nth-child(4){width:23%}.people-access-table .role-badges{margin:0;gap:6px}.people-access-table .role-badges .badge{white-space:normal}.people-access-table .button{padding:8px 10px;min-height:36px}.user-detail-row>td{background:#f6f9f8;padding:20px!important}.user-detail-content{padding:4px}.user-detail-content h3{font-size:15px}.user-detail-content input[type=checkbox]{min-width:18px}.user-detail-content .user-details{background:#fff;padding:16px;border-radius:8px}@media(max-width:600px){.people-access-table th:first-child{width:auto}.user-detail-row>td{padding:12px!important}}

.employee-records-table{table-layout:fixed;min-width:900px}.employee-records-table th,.employee-records-table td{padding:14px 10px;overflow-wrap:anywhere}.employee-records-table th{overflow-wrap:normal;letter-spacing:.3px}.employee-records-table th:nth-child(2){width:17%}.employee-records-table th:nth-child(7){width:17%}.employee-records-table .code{white-space:nowrap;font-size:12px}.employee-records-table .button{padding:8px 10px;min-height:36px}.employee-records-table .employee-empty{padding:24px 10px;color:var(--muted)}@media(max-width:600px){.employee-records-table{min-width:0}.employee-records-table th:nth-child(2),.employee-records-table th:nth-child(7){width:auto}}

.capacity-table input{min-width:95px}.capacity-table td:first-child input{min-width:165px}
.holiday-notice{max-width:900px;margin:24px auto}.holiday-notice h2,.holiday-notice h3{text-align:center}
@media print{body:has(.holiday-notice){background:#fff}.shell:has(.holiday-notice){display:block}body:has(.holiday-notice) .sidebar,body:has(.holiday-notice) .topbar,body:has(.holiday-notice) .page-heading,body:has(.holiday-notice) footer,body:has(.holiday-notice) .no-print,body:has(.holiday-notice) .skip-link,body:has(.holiday-notice) dialog{display:none!important}body:has(.holiday-notice) .workspace{padding:0}.holiday-notice{border:0;box-shadow:none;margin:0;max-width:none}.holiday-notice th,.holiday-notice td{padding:10px;border-bottom:1px solid #bbb}.holiday-notice tr{break-inside:avoid}}
/* Workstation groups share one assembly definition; order controls stay visible. */
.workstation-group{border-top:1px solid var(--border,#dce3e1);padding-top:20px;margin-top:20px}.workstation-group h4{margin:0;font-size:17px}.workstation-group .section-heading{margin-bottom:12px}.workstation-row{display:grid;grid-template-columns:36px minmax(150px,1.4fr) minmax(85px,.65fr) minmax(140px,1.3fr) auto;gap:12px;align-items:end;padding:12px 0;border-bottom:1px solid #e0e7e4}.workstation-row input{min-width:0}.workstation-row>input[type=hidden]{display:none}.workstation-rows{margin-bottom:16px}.station-order{display:flex;flex-direction:column;align-items:center;gap:2px}.station-grip,.station-move{background:#fff;border:1px solid #cbd8d3;border-radius:6px;color:var(--ink,#203632);padding:7px;min-width:30px;min-height:34px}.station-grip{touch-action:none;cursor:grab;font-size:22px;line-height:24px}.station-grip:active{cursor:grabbing}.station-actions{display:flex;align-items:center;gap:5px;min-height:42px}.station-actions .link-button{margin-left:5px}.station-move:disabled{opacity:.35;cursor:default}.workstation-row.is-dragging{background:#e4f2ed;outline:2px solid #38766b;border-radius:6px}.workstation-row:focus-within{position:relative}.workstation-group>[data-add-station]{margin-top:4px}
@media(max-width:1100px){.workstation-row{grid-template-columns:32px minmax(130px,1fr) minmax(85px,.65fr) minmax(110px,1fr)}.station-actions{grid-column:2/-1;justify-content:flex-end}}
@media(max-width:600px){.workstation-row{grid-template-columns:32px minmax(0,1fr)}.workstation-row>label,.station-actions{grid-column:2}.station-order{grid-column:1;grid-row:1/4}.workstation-group .section-heading{align-items:flex-start;gap:8px;flex-direction:column}.station-actions{justify-content:flex-start}}
/* Administration and workforce review improvements. */
.employee-records-table { min-width: 1050px; }
.employee-records-table td:last-child .button { white-space: nowrap; word-break: normal; min-width: 112px; }
.document-review-grid { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.4fr); align-items: start; gap: 20px; }
.document-preview { position: sticky; top: 20px; }
.document-preview iframe { width: 100%; height: 72vh; border: 1px solid var(--border,#d8dfe5); }
.document-preview img { width: 100%; height: auto; }
.work-period-table { min-width: 840px; }
.work-period-table input, .work-period-table select { min-width: 100px; }
.workforce-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
@media(max-width:1100px) { .document-review-grid { grid-template-columns:1fr; } .document-preview { position:static; } .document-preview iframe { height:500px; } }

.document-review-grid { grid-template-columns: minmax(380px,1fr) minmax(0,1.3fr); }

.document-page-image { background: #fff; border: 1px solid #d8dfe5; }
@media(max-width:1200px) { .document-review-grid { grid-template-columns:1fr; } .document-preview { position:static; } .document-page-image { max-height:600px; width:auto; max-width:100%; object-fit:contain; } }

.document-field-card { padding:18px 0; border-top:1px solid var(--border,#d8dfe5); min-width:0; }
.document-field-card .checkbox { display:flex; gap:10px; align-items:flex-start; }
.document-field-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:16px 0; }
.document-field-values dt { color:var(--muted,#64748b); font-size:12px; margin-bottom:6px; }
.document-field-values dd { margin:0; white-space:pre-line; overflow-wrap:anywhere; }
.document-field-card details { margin-top:10px; }
@media(max-width:600px) { .document-field-values { grid-template-columns:1fr; gap:12px; } }

/* Company wordmark uses the supplied Nuptial BT font. */
@font-face{font-family:"Saishiv Nuptial";src:url("/fonts/nuptial-bt.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.brand .brand-company-name{font-family:"Saishiv Nuptial",Georgia,serif;font-size:40px;font-weight:400;line-height:1.25;letter-spacing:0;text-transform:none;display:block;padding:2px 3px 4px 0}
.brand-copy>small{display:flex;align-items:center;gap:6px}.platform-version{font-size:10px;letter-spacing:.04em;font-weight:650;opacity:.78;white-space:nowrap}
.access-intro .brand-company-name{font-size:52px}
.brand-copy{min-width:0}

/* A wordmark replaces the former single-letter badge in both sidebar sizes. */
@media(min-width:901px){.sidebar-collapsed .sidebar-brand .brand-copy{position:static;width:auto;height:auto;margin:0;padding:0;clip:auto;overflow:visible;white-space:normal;border:0}.sidebar-collapsed .sidebar-brand .brand-copy small{display:none}.sidebar-collapsed .sidebar-brand .brand-company-name{display:block;font-size:22px;line-height:1.4;max-width:none;white-space:nowrap;overflow-wrap:normal;padding:0}.sidebar-collapsed .sidebar-brand .brand{width:100%;margin:0 0 25px;justify-content:center}}

/* A single, compact identity and form for signed-out pages. */
.sign-in-shell{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background-color:var(--navy);background-image:radial-gradient(circle at 1px 1px,rgba(68,173,162,.16) 1px,transparent 0);background-size:28px 28px}
.sign-in-container{width:100%;max-width:460px;min-width:0}
.sign-in-panel{padding:36px 40px 32px;background:#fff;border:1px solid #ffffffb3;border-radius:18px;box-shadow:0 24px 72px #05141d38,0 2px 8px #05141d14}
.sign-in-brand{color:var(--ink);justify-content:center;text-align:center;margin:0 0 28px;padding:0}
.sign-in-brand .brand-copy,.sidebar-brand .brand-copy{display:flex;flex-direction:column;align-items:center;gap:4px;white-space:normal;max-width:100%}
.sign-in-brand .brand-copy{gap:0}
.sign-in-brand .brand-company-name{font-size:68px;line-height:.82;max-width:none;padding:0 4px 0 0}
.sign-in-brand small,.sidebar-brand .brand small{font-family:"Avenir Next","Segoe UI",sans-serif;font-weight:500;line-height:1.65}.sign-in-brand small{color:#526a75;font-size:11px;letter-spacing:1.7px}.sign-in-brand small span,.sidebar-brand .brand small span{display:inline-block;color:var(--ink);font-size:13px;font-weight:600;letter-spacing:1.1px;margin-bottom:1px}
.sidebar-brand .brand{flex:none;justify-content:center;text-align:center;margin:0 0 28px;min-width:0}.sidebar-brand .brand-company-name{font-size:48px;line-height:1;padding:0 3px 5px 0}.sidebar-brand .brand small{color:#bdcfd8;font-size:10px;letter-spacing:.8px;line-height:1.4}.sidebar-brand .brand small .platform-version{color:#bdcfd8;font-size:10px;letter-spacing:.04em;margin:0;opacity:.9}.sidebar-brand .brand-copy{gap:0}
@media(min-width:901px){.sidebar-collapsed .sidebar-brand .brand-copy{gap:0}}
.sign-in-content>h1,.sign-in-content>h2{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.2px;margin:0 0 8px;text-align:center}
.sign-in-content>h1.sign-in-greeting{font-size:16px;font-weight:400;letter-spacing:0;color:#526a75}
.sign-in-content>p{font-size:14px;line-height:1.6;margin:0;text-align:center}
.sign-in-content form{margin:26px 0 0;display:flex;flex-direction:column;gap:20px}
.sign-in-content label{font-size:14px;line-height:1.45;margin:0}
.sign-in-content input{min-height:48px;margin:8px 0 0;padding:11px 13px;border:1px solid #80959d;border-radius:8px;background:#f9fbfa;color:var(--ink);box-shadow:none}
.sign-in-content input:hover{border-color:#647f8b}
.sign-in-content input:focus{background:#fff;border-color:var(--teal);outline:3px solid #007a7226;outline-offset:1px}
.sign-in-content input[aria-invalid=true]{border-color:#b84f3b;background:#fff9f7}
.sign-in-content label small{margin-top:7px}
.sign-in-content .button{min-height:48px;width:100%;margin-top:4px;border-radius:8px;font-size:15px;font-weight:600;background:#007a72;border-color:#007a72;color:#fff;box-shadow:0 3px 6px #007a7214}
.sign-in-content .button:hover{background:#00675f;border-color:#00675f}
.sign-in-content .button:focus-visible,.sign-in-content a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.sign-in-content .sign-in-recovery,.sign-in-content form+p{margin:22px 0 0;text-align:center;font-size:13px}
.sign-in-content .sign-in-recovery{margin-top:10px;margin-bottom:-10px}
.sign-in-recovery a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border-radius:6px}
.sign-in-content .notice{margin-bottom:22px}
.sign-in-content .sign-in-error{margin:20px 0 0;font-size:14px;line-height:1.5;text-align:left}
.sign-in-error p{margin:0}.sign-in-error p+p{margin-top:8px}
.sign-in-password-field{font-size:14px;line-height:1.45}
.password-control{position:relative;margin-top:8px}
.sign-in-content .password-control input{width:100%;margin:0;padding-right:76px}
.password-visibility{position:absolute;right:4px;top:2px;min-height:44px;min-width:58px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#00675f;font-size:13px;font-weight:600}
.password-visibility:hover{background:#e8f2ef}
.password-visibility:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}
.password-visibility[hidden],.caps-lock-notice[hidden]{display:none}
.sign-in-content .caps-lock-notice{margin-top:7px;font-size:12px;color:#87541b}
.sign-in-content .button:disabled{cursor:wait;background:#355f5d;border-color:#355f5d}
.sign-in-content .sign-in-reload{margin-top:24px}
.sign-in-environment{margin:20px 0 0;text-align:center;font-size:12px;color:#c0d2d9;letter-spacing:.15px}
@media(max-width:520px){.sign-in-shell{padding:24px 16px}.sign-in-panel{padding:28px 24px}.sign-in-brand{margin-bottom:26px}.sign-in-brand .brand-company-name{font-size:60px}.sign-in-content>h1,.sign-in-content>h2{font-size:20px}.sign-in-content input{font-size:16px}}

/* Signed-in workspace: clear next actions, compact summaries, deliberate editing. */
.workspace .small,.workspace small{font-size:13px}
.workspace .section-heading>a{font-size:13px}
.workspace .page-heading{margin-bottom:18px}
.compact-welcome{margin:0 0 22px;align-items:center}.compact-welcome p{margin:0;font-size:15px;color:var(--muted)}
.dashboard-actions .section-heading{align-items:center;margin-bottom:12px}.dashboard-actions h2{margin:0}.dashboard-actions .compact-empty{margin:0;font-size:14px;color:var(--muted)}
.action-counts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.action-counts a{display:flex;gap:8px;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:6px;min-height:44px}.action-counts strong{font-size:18px;color:var(--ink)}
.all-actions-link{display:inline-block;margin-top:16px}.dashboard-action-list .proposal-row{min-height:60px}
.dashboard-reminders{margin-bottom:24px}.dashboard-reminders>h2{font-size:18px}.dashboard-reminders .panel{margin-bottom:12px;padding:18px 22px}.dashboard-reminders summary{font-size:15px;font-weight:600}.dashboard-reminders details[open]>summary{margin-bottom:12px}
.setup-checklist>summary{font-size:16px;font-weight:600;min-height:28px}.setup-checklist[open]>summary{margin-bottom:16px}.setup-list a{padding:12px 0}.setup-configured{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-top:1px solid var(--line);padding:10px 0}
.dashboard-modules{margin:26px 0}.dashboard-modules h2{font-size:18px}.workspace-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.workspace-shortcuts>a{display:flex;gap:12px;align-items:flex-start;padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink)}.workspace-shortcuts svg{width:22px;height:22px;flex-shrink:0;color:var(--teal)}.workspace-shortcuts a>span:nth-child(2){flex:1}.workspace-shortcuts small{margin-top:6px;line-height:1.5}.workspace-shortcuts>a:hover{border-color:var(--teal);text-decoration:none}
.dashboard-activity ul{list-style:none;padding:0;margin:0}.dashboard-activity li{display:flex;gap:20px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:14px}.dashboard-activity li>div{min-width:0}.dashboard-activity li span{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.dashboard-activity time{font-size:13px;white-space:nowrap;color:var(--muted)}
.operations-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 16px}.operations-nav a{padding:12px 4px;min-height:46px;font-size:15px;color:var(--muted);border-bottom:2px solid transparent}.operations-nav a.active{color:var(--teal);border-color:var(--teal);font-weight:600}.operations-context{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font-size:13px;color:var(--muted);margin-bottom:20px}
#capacity-settings{scroll-margin-top:90px}#capacity-settings>.section-heading{align-items:center;margin-bottom:14px}#capacity-settings>.section-heading h2{margin:0}.capacity-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:12px 0 16px;font-size:14px}.capacity-overview th,.capacity-overview td{padding:12px 14px;font-size:14px}.capacity-overview th{font-size:12px}.capacity-overview small{margin-top:3px}.capacity-totals{font-size:14px;margin:16px 0 22px;color:var(--muted)}
.workstation-overview{scroll-margin-top:90px}.workstation-overview .section-heading{align-items:center;margin:14px 0}.workstation-overview h3{margin:0}.workstation-overview>p{font-size:13px;margin-top:14px}.station-summary{border-top:1px solid var(--line)}.station-summary>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px;font-size:14px;color:var(--ink)}.station-summary>summary:before{content:'›';color:var(--teal)}.station-summary[open]>summary:before{transform:rotate(90deg)}.station-summary summary>span:first-child{flex:1;font-weight:600}.station-summary summary small{display:inline;font-weight:400;margin-left:10px}.station-summary summary>span:last-child{color:var(--muted)}.station-summary th,.station-summary td{padding:8px 14px}.station-summary td:last-child{width:110px}.station-summary table{margin-bottom:12px}.capacity-guidance{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:14px}.capacity-guidance>summary{font-size:14px}.capacity-guidance[open]>summary{margin-bottom:14px}
.editing-context{padding:12px 16px;margin-bottom:18px;background:#eff6f4;border-radius:6px;font-size:14px}.editing-context span{display:block;color:var(--muted);margin-top:3px}
.capacity-editor .settings-fieldset{min-width:0}.capacity-editor p{margin:0}.capacity-editor .capacity-table input{min-width:0}.capacity-editor #capacity-review-notes{scroll-margin-top:90px}.capacity-editor .workstation-editor{scroll-margin-top:90px}.workstation-editor>p{font-size:13px;margin:8px 0}.workstation-editor .workstation-group{margin-top:10px;padding-top:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 14px}.workstation-group>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:15px;font-weight:600;color:var(--ink)}.workstation-group>summary:before{content:'›';color:var(--teal)}.workstation-group[open]>summary:before{transform:rotate(90deg)}.workstation-group>summary>span:first-child{flex:1}.workstation-group>summary .muted{font-weight:400;font-size:13px}.workstation-group>p{font-size:13px}.workstation-editor .workstation-row,.station-column-headings{display:grid;grid-template-columns:30px minmax(150px,1.3fr) minmax(75px,.55fr) minmax(100px,1fr) 136px;align-items:center;gap:10px}.station-column-headings{font-size:12px;color:var(--muted);padding:12px 0 8px}.workstation-editor .workstation-row{padding:8px 0}.workstation-editor .workstation-row input{margin-top:0;font-size:14px;min-width:0}.workstation-editor .station-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.workstation-editor .station-actions{grid-column:auto;justify-content:flex-end;gap:3px}.workstation-editor .station-actions .link-button{font-size:12px;margin-left:0}.workstation-editor .station-order{gap:0}.workstation-editor .station-order>span{display:none}.workstation-editor .station-grip{min-width:28px;padding:4px;min-height:38px}.workstation-editor .station-move{padding:5px;min-width:28px}.workstation-editor [data-add-station]{margin:6px 0 14px}.workstation-editor .workstation-rows{margin-bottom:4px}
.capacity-savebar{position:sticky;bottom:0;z-index:4;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;background:#fff;padding:14px 0;margin-top:20px;border-top:1px solid var(--line);box-shadow:0 -8px 12px #fff}.capacity-savebar .dirty-status{margin-right:auto;font-size:13px;color:var(--muted)}.capacity-editor input,.capacity-editor button,.capacity-editor summary,.capacity-editor textarea{scroll-margin-top:90px;scroll-margin-bottom:130px}
.account-link{display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:4px 6px;border-radius:6px;color:var(--ink);font-size:13px;font-weight:600;max-width:240px}.account-link:hover{background:#f0f5f3;text-decoration:none}.account-link small{font-size:11px;font-weight:400;line-height:1.35}.account-full-name{overflow-wrap:anywhere}.sign-out-form{margin:0}.sign-out-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px;font-size:13px;white-space:nowrap;border-radius:6px}.sign-out-button:hover{background:#f0f5f3}.sign-out-button .icon{width:18px;height:18px;flex-shrink:0}.account-short-name,.mobile-brand{display:none}
.company-detail-row dt,.table-dates dt{font-size:12px}.company-detail-row dd{font-size:14px}.company-source,.document-versions summary{font-size:12px}
@media(max-width:1100px){.workspace-shortcuts{grid-template-columns:1fr}.workstation-editor .workstation-row,.station-column-headings{grid-template-columns:28px minmax(130px,1fr) 75px minmax(90px,1fr) 118px;gap:6px}.workstation-editor .station-actions{grid-column:auto}.workstation-editor .station-actions .link-button{font-size:11px}}
@media(max-width:760px){.operations-nav{gap:0;display:grid;grid-template-columns:repeat(3,1fr)}.operations-nav a{text-align:center;font-size:14px}.operations-context{font-size:12px}.compact-welcome{flex-wrap:wrap;gap:4px}.compact-welcome .workspace-date{font-size:12px}.dashboard-actions .section-heading{flex-wrap:wrap;gap:6px}.dashboard-activity li{display:block}.dashboard-activity time{display:block;margin-top:5px}.setup-configured{font-size:13px}.workspace-shortcuts{gap:10px}.workspace-shortcuts>a{padding:14px}.workspace .section-heading{flex-wrap:wrap}.station-summary summary small{display:block;margin-left:0}.station-summary>summary{font-size:13px}.capacity-toolbar{gap:12px;font-size:13px}.capacity-overview td{padding:5px 0}.capacity-overview tr{padding:10px 0}.capacity-overview small{font-size:12px}.workstation-editor .workstation-row{grid-template-columns:28px minmax(0,1fr) 74px;gap:10px;align-items:end}.station-column-headings{display:none}.workstation-editor .workstation-row>.station-order{grid-column:1;grid-row:1/4;align-self:start;padding-top:20px}.workstation-editor .workstation-row>label{grid-column:auto}.workstation-editor .workstation-row>label:nth-of-type(1){grid-column:2}.workstation-editor .workstation-row>label:nth-of-type(2){grid-column:3}.workstation-editor .workstation-row>label:nth-of-type(3){grid-column:2/4}.workstation-editor .station-actions{grid-column:2/4;justify-content:flex-start}.workstation-editor .station-field-label{position:static;clip:auto;width:auto;height:auto;display:block;font-size:12px;margin-bottom:4px}.workstation-editor .workstation-row input{font-size:16px}.workstation-editor .station-move,.workstation-editor .station-actions .link-button{min-height:44px;min-width:44px}.workstation-editor .station-actions .link-button{font-size:13px}.capacity-savebar{gap:8px}.capacity-savebar .dirty-status{order:0;flex-basis:100%;min-height:20px}.capacity-savebar .button{flex:1;padding:9px;font-size:12px}.capacity-savebar .button[name=capacity_action][value=review]{flex-basis:100%}.account-full-name{display:none}.account-short-name{display:inline}.mobile-brand{display:block;font-family:"Saishiv Nuptial",Georgia,serif;font-size:30px;font-weight:400;color:var(--ink)}.topbar .user-bar{gap:8px}.topbar .account-link{max-width:110px}.topbar .account-link small{display:none}.account-short-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .environment-badge{font-size:10px;padding:4px 6px}.topbar-location{gap:10px}}

.page-heading{display:flex;align-items:center;gap:12px}.page-heading>.icon{width:25px;height:25px;flex:0 0 25px;color:var(--teal)}.page-heading h1{margin:0;min-width:0}.operations-nav a{display:flex;align-items:center;justify-content:center;gap:8px}.operations-nav .icon{width:18px;height:18px}.workforce-nav a{display:inline-flex;align-items:center;gap:8px}
@media(max-width:760px){.page-heading{gap:10px}.page-heading>.icon{width:22px;height:22px;flex-basis:22px}.operations-nav a{gap:6px}.operations-nav .icon{width:16px;height:16px}}

@media(max-width:480px){.topbar .environment-badge{display:none}.topbar .user-bar{gap:3px}.topbar .sign-out-button{padding:8px 4px;font-size:12px}}

/* Keep mobile forms within their container; table scrolling is reserved for comparisons. */
#role-editor,[id^="capacity-proposal-"],[id^="annual-proposal-"]{scroll-margin-top:88px}
@media(max-width:600px){
 .employee-records-table,.work-period-table{min-width:0;table-layout:fixed;width:100%}
 .employee-records-table td{overflow-wrap:anywhere}
 .work-period-table input,.work-period-table select{min-width:0;margin-top:4px;font-size:16px}
 .work-period-table tr{border:1px solid var(--line);border-radius:8px;margin:0 0 14px;padding:12px}
 .work-period-table td{padding:6px 0}
 .role-directory nav{max-height:280px;overflow-y:auto;overscroll-behavior:contain}
 .role-directory .role-option{min-height:56px}
}

/* Employee departments are selected once and shared with the linked user. */
.department-field > b{display:block;margin-bottom:7px}
.department-picker{border:1px solid var(--line,#d4ddde);border-radius:6px;background:#fff}
.department-picker > summary{padding:11px 12px;min-height:44px;cursor:pointer;overflow-wrap:anywhere;font-weight:400}
.department-options{padding:8px 12px;max-height:260px;overflow-y:auto;border-top:1px solid var(--line,#d4ddde)}
.department-options .checkbox{padding:7px 0;min-height:44px}
.department-field > small{display:block;margin-top:6px}

/* Module choices keep a generous hit area without enlarging the radio glyph. */
.module-access-table td,.module-access-table thead th:not(:first-child){text-align:center}
.module-access-table .permission-check{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:0;cursor:pointer}
.module-access-table input[type=radio]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;accent-color:var(--teal)}
.module-page-row td{padding:0 12px 12px;background:var(--surface-muted,#f7faf9)}.module-page-row details{margin:0}.page-access-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.page-access-list .pill{font-size:.78rem}
.module-page-catalog{margin-top:14px}.page-access-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}.page-access-catalog>div{padding:10px;border:1px solid var(--line,#d8e2e5);border-radius:8px;background:var(--surface,#fff)}.page-access-catalog small,.page-access-catalog span{display:block;margin-top:4px}
.access-level-fieldset{border:0;padding:0;margin:0}.access-level-fieldset legend{font-weight:700;margin-bottom:8px}.access-level-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.access-level-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.access-level-option:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 18%,transparent)}.access-level-option input{margin-top:2px;accent-color:var(--teal)}.access-level-option span{display:grid;gap:3px}.access-level-option small{color:var(--muted);font-size:.82rem}@media(max-width:600px){.access-level-options{grid-template-columns:1fr}}
@media(max-width:600px){.module-access-table .permission-check{justify-content:flex-end}.module-access-table tbody th{display:block;width:100%;padding:10px 12px}.module-access-table td{min-height:44px}}

/* Module authority matrix: keep user names visible while scrolling wide tables. */
.authority-matrix{min-width:900px}.authority-matrix th,.authority-matrix td{padding:12px;min-width:165px}.authority-matrix thead th{letter-spacing:0;text-transform:none;font-size:12px}.authority-matrix thead small{font-weight:400;font-size:10px;white-space:nowrap}.authority-matrix th:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:175px;max-width:210px}.authority-matrix thead th:first-child{background:#f8faf9;z-index:2}.authority-matrix .authority-options{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:3px}.authority-check{display:flex;align-items:center;gap:7px;min-height:42px;font-size:12px;cursor:pointer}.authority-check input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--teal)}.authority-row-form{gap:8px;min-width:75px}.authority-row-form textarea{min-width:0;margin-top:3px}.authority-matrix-wrap:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.authority-matrix input:disabled{cursor:default}.authority-matrix .badge{margin-top:6px}
.sidebar-name-tooltip{position:fixed;z-index:1000;max-width:min(300px,80vw);padding:8px 12px;border:1px solid #44616f;border-radius:6px;background:#142e3d;color:#fff;box-shadow:0 4px 14px #102b3b33;font-size:13px;line-height:1.4;pointer-events:none}

.authority-matrix th:last-child,.authority-matrix td:last-child{min-width:100px}.authority-matrix th:nth-child(2),.authority-matrix td:nth-child(2){min-width:120px}

/* Document-derived employee values remain readable without suggesting editability. */
.source-field-value { display:block; padding:10px 12px; min-height:42px; background:var(--surface-muted, #f4f7f8); border:1px solid var(--border, #dce4e8); border-radius:8px; color:var(--text, #172b3a); font-weight:500; white-space:pre-wrap; overflow-wrap:anywhere; }

/* Keep each person's authority controls together on narrow screens. */
@media(max-width:700px){
.authority-matrix-wrap{overflow:visible}
.authority-matrix,.authority-matrix tbody{display:block;min-width:0;width:100%}
.authority-matrix thead{display:none}
.authority-matrix tr{display:block;border:1px solid var(--border,#dbe2e4);border-radius:8px;margin:0 0 16px;overflow:hidden}
.authority-matrix th,.authority-matrix td,.authority-matrix th:first-child,.authority-matrix th:nth-child(2),.authority-matrix td:nth-child(2),.authority-matrix td:last-child{display:block;position:static;min-width:0;max-width:none;width:auto;padding:12px;border-bottom:1px solid var(--border,#dbe2e4)}
.authority-matrix td[data-label]::before{content:attr(data-label);display:block;font-weight:700;margin-bottom:6px;font-size:13px}
.panel table.authority-matrix th,.panel table.authority-matrix td{white-space:normal;overflow-wrap:anywhere}
.authority-matrix th:first-child{background:#f3f6f6}
.authority-matrix td:last-child{border:0}
.authority-matrix .authority-check{min-height:44px;font-size:13px}
.authority-matrix .authority-save .button{width:100%}
}

.meeting-remarks{white-space:pre-wrap;overflow-wrap:anywhere}

.meeting-tabs{flex-wrap:wrap;overflow:visible}.meeting-tabs>a{display:flex;align-items:center;gap:6px;min-height:44px}
@media(max-width:760px){.meeting-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.meeting-tabs>a{white-space:normal;flex-wrap:wrap;padding:10px;font-size:13px}}

.meeting-participants {border:1px solid var(--line,#dbe2e8);border-radius:8px;padding:16px;min-width:0}
.meeting-participants legend {font-weight:600;padding:0 6px}
.meeting-user-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:8px;max-height:320px;overflow:auto}
.meeting-user-list .checkbox {min-height:44px;margin:0;padding:8px;align-items:center}
.meeting-user-list small {display:block;font-weight:400}

/* Modules remain discoverable without offering unavailable navigation. */
.nav-locked{cursor:default;margin:3px 0;outline-offset:2px;color:#b6cbd4}
.nav-planned-group>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:flex-start;gap:8px}.nav-planned-group>summary::-webkit-details-marker{display:none}.nav-planned-group>summary.nav-planned-toggle{margin:18px 0 8px;padding:8px 10px;border:1px solid #2d5260;border-radius:6px;background:#173b4a;color:#c7d9df;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.nav-planned-group>summary .nav-planned-action{margin-left:auto;font-size:10px;letter-spacing:.3px;text-transform:none;color:#a9c1ca}.nav-planned-group>summary .nav-planned-action::before{content:'Show'}.nav-planned-group[open]>summary .nav-planned-action::before{content:'Hide'}.nav-planned-group>summary .nav-chevron{font-size:17px;line-height:1;transition:transform .15s ease}.nav-planned-group[open]>summary .nav-chevron{transform:rotate(90deg)}
.nav-locked.nav-requestable{cursor:pointer;color:inherit;text-decoration:none}.nav-locked.nav-requestable:hover{background:#234755;color:#fff}
.nav-locked:focus-visible{outline:2px solid #7edbca;background:#234755}
.nav-lock{margin-left:auto;display:inline-flex;color:#b2c6d0;flex-shrink:0}
.nav-lock .icon{width:13px;height:13px}
.nav-locked .nav-state{margin-left:0;font-size:9px}.nav-locked .nav-lock{opacity:.9}
.nav-locked-page{display:block;padding:5px 10px;color:#9fb8c2;font-size:11px;line-height:1.25}
.nav-locked-page{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-page-request{color:#78d1c6;font-size:10px;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center}.nav-page-request .icon{width:11px;height:11px}.nav-page-request:hover{text-decoration:underline}
.sidebar .nav-unavailable{display:flex;align-items:center;gap:11px;padding:7px 11px;min-height:34px;color:#9ab3bd;font-size:9px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase}.sidebar .nav-unavailable .icon{opacity:.65}.sidebar .nav-unavailable .nav-label{color:inherit}
.dashboard-task-heading{font-size:20px;margin:0 0 18px}
.manual-task-panel{padding:18px 24px}.manual-task-panel h2{font-size:18px;margin-bottom:8px}.manual-task-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.manual-task-row:last-child{border-bottom:0}.manual-task-row small{margin-top:2px;font-size:10px}.manual-task-row .button{padding:6px 10px;font-size:11px;white-space:nowrap}.workspace-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.workspace-section-card{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fbfdfc}.workspace-section-card h3{margin-bottom:6px}.workspace-section-card p{font-size:13px;margin:0}.workspace-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;margin:0 0 20px;padding:2px 1px 5px;scrollbar-width:thin}.workspace-tabs .button{min-height:42px;flex:0 0 auto;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.workspace-tabs .button:hover{background:var(--teal);border-color:var(--teal);color:#fff;transform:translateY(-1px)}.workspace-tabs .button.selected{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 2px rgba(0,128,116,.15)}.nav-module-consolidated>.nav-children{display:none}.dashboard-tabs{margin-top:4px}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:10px;background:#e5f2ef;color:#0b7168;font-size:11px}.workspace-tabs .button.selected .tab-count{background:rgba(255,255,255,.2);color:#fff}
.task-progress{display:flex;align-items:baseline;gap:12px;margin:0}.task-progress strong{font-size:24px}.task-progress span{font-size:12px;color:var(--muted)}
.task-open-button{padding:7px 12px!important;font-size:12px!important;white-space:nowrap}
.manual-task-link{display:block;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.manual-task-link:hover{border-color:#8bbeb3;box-shadow:0 3px 10px rgba(20,46,61,.08);text-decoration:none}.manual-task-link:focus-visible{outline:2px solid #007a72;outline-offset:3px}
.manual-tasks-page main#main-content>section.panel:last-child>h2{display:none}
@media(min-width:901px){.sidebar-collapsed .nav-locked .nav-lock{position:absolute;right:0;bottom:3px;background:var(--navy);border-radius:3px}.sidebar-collapsed .nav-locked .nav-lock .icon{width:11px;height:11px}}
.nav-access-request{font-size:10px;color:#9ce3d8;text-decoration:underline;flex-shrink:0;padding:4px 0}
.nav-locked{flex-wrap:nowrap;gap:6px}
.nav-locked>.nav-label{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.nav-locked-module>summary .nav-lock{display:none}.nav-locked-module>summary .nav-chevron{margin-left:auto;font-size:17px;line-height:1;transition:transform .15s ease}.nav-locked-module[open]>summary .nav-chevron{transform:rotate(90deg)}.nav-locked-module .nav-children{padding-left:12px}.nav-locked-module .nav-children>a,.nav-locked-note{display:block;padding:7px 10px;color:#a9c1ca;font-size:11px}.nav-locked-module .nav-children>a:hover{color:#fff;background:#274958;text-decoration:none}
.nav-locked>.nav-access-request{margin-left:31px}
.access-history-heading{margin-top:24px}
@media(min-width:901px){.sidebar-collapsed .nav-locked>.nav-access-request{display:none}}
.account-hero{display:flex;align-items:center;gap:18px;padding:25px 28px;margin-bottom:24px;background:linear-gradient(135deg,#e6f2ee,#f7faf8);border:1px solid #d5e4dc;border-radius:14px}.account-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--teal);color:#fff;font-size:25px;font-weight:700;box-shadow:0 8px 18px rgba(0,122,114,.18)}.account-hero h1{margin:0 0 3px;font-size:28px}.account-identity{margin:0;color:var(--muted);font-size:13px}.account-identity span{padding:0 6px;color:#9aafb5}.account-hero>.badge{margin-left:auto}.account-card-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.account-card-heading h2{margin:0 0 2px}.account-card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e8f3ef;color:var(--teal);font-size:20px;font-weight:700}.account-card-heading .small{margin:0}
.nav-development{margin-left:auto;color:#78909c;font-size:9px;font-weight:500;white-space:nowrap;flex:0 0 auto}
/* Shared shade applicability selector */
.inline-options{border:0;padding:0;margin:4px 0 8px;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.inline-options legend{width:100%;font-weight:700;margin-bottom:2px}.inline-options>label{display:flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s}.inline-options>label:has(input:checked){border-color:var(--teal);background:#f1fbf8;box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 18%,transparent)}.inline-options input{width:18px;height:18px;margin:0;accent-color:var(--teal)}
@media(max-width:600px){.inline-options>label{flex:1 1 calc(50% - 10px);justify-content:center}}
/* Shade master uses only its name and applicability choices. */
form[data-kind="shade"] label[data-material-types],form[data-kind="shade"] label:has(textarea[name="data[notes]"]),form[data-kind="shade"] label:has(textarea[name="reason"]){display:none}
.field-suffix{display:inline-flex;align-items:center;margin-left:-34px;padding-top:10px;color:var(--muted);font-weight:700;pointer-events:none}
.inline-master-create{display:flex;align-items:end;gap:10px;margin:8px 0 16px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.inline-master-create label{margin:0;max-width:180px}.inline-master-create input{margin-top:4px}.inline-master-create .button{min-height:40px}
.inline-master-create label{position:relative;display:block}.inline-master-create label input{padding-right:34px}.inline-master-create .field-suffix{position:absolute;right:10px;bottom:11px;margin:0;padding:0}
.form-grid label:has(.field-suffix){position:relative}.form-grid label:has(.field-suffix) .field-suffix{position:absolute;right:12px;bottom:12px;margin:0;padding:0}.form-grid label:has(.field-suffix) input{padding-right:34px}
.material-create-options{display:grid;gap:4px;width:100%;padding:14px 16px;background:linear-gradient(135deg,#f5fbfa,#fff);border:1px solid #d7e8e5;border-radius:12px;margin-bottom:14px}.material-create-options strong{font-size:15px}.material-create-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.material-create-buttons .button{min-height:38px;padding:8px 14px;border-radius:9px}
.inline-master-create{background:linear-gradient(135deg,#f5fbfa,#fff);border-color:#d7e8e5;border-radius:12px;padding:14px 16px}
form[data-kind="material"][data-material-category="frames"] label[data-material-types]:not([data-material-types~="frames"]),form[data-kind="material"][data-material-category="frames"] .code-preview[data-material-types]:not([data-material-types~="frames"]){display:none}
form[data-kind="material"][data-material-category="boards"] label[data-material-types]:not([data-material-types~="boards"]),form[data-kind="material"][data-material-category="sheets"] label[data-material-types]:not([data-material-types~="sheets"]){display:none}


.material-category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:6px;background:#e8f1ef;border:1px solid #c6dcd7;border-radius:10px}.material-category-tabs a{flex:1;text-align:center;min-width:125px;padding:12px 16px;background:#fff;border:1px solid #b7d0ca;border-radius:7px;color:#244752;font-size:13px;font-weight:650}.material-category-tabs a:hover,.material-category-tabs a.active{background:var(--teal);border-color:var(--teal);color:#fff;text-decoration:none;box-shadow:0 2px 5px #173c4525}

.material-create-buttons .button{transition:background .15s,border-color .15s,color .15s}.material-create-buttons .button:hover{background:var(--teal);border-color:var(--teal);color:#fff;text-decoration:none}
.dimension-pair{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
/* Usability pass: compact, readable selection controls and consistent form rhythm */
.form-grid select[multiple]{min-height:8rem;line-height:1.65;padding:.5rem}
.form-grid select[multiple] option{padding:.25rem .35rem}
.form-grid fieldset{border:1px solid var(--line,#d8e0e8);border-radius:.7rem;padding:1rem;display:grid;gap:.75rem}
.form-grid fieldset legend{font-weight:700;padding:0 .35rem}
.form-grid small{line-height:1.35}
.form-actions .button,.form-actions button{min-height:2.5rem}

/* Board dimensions keep each tolerance beside its own measurement. */
.material-dimension-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.material-dimension-row label{min-width:0}.material-dimension-row input{width:100%}@media(max-width:480px){.material-dimension-row{grid-template-columns:1fr 1fr}.material-dimension-row>label:first-child{grid-column:1/-1}}

/* Compact context, leaving the form itself as the primary task. */
.workflow-hint{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 20px}.badge.inactive{background:#edf0f2;color:#53626d}

.account-avatar{flex:0 0 58px}.account-person-info{min-width:0}.account-person-info h2{margin:0 0 4px;font-size:26px;overflow-wrap:anywhere}.account-identity{overflow-wrap:anywhere}@media(max-width:600px){.account-hero{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:20px}.account-avatar{width:48px;height:48px;font-size:22px}.account-person-info h2{font-size:22px}.account-hero>.badge{grid-column:2;justify-self:start;margin:0}}
.account-avatar-wrap{position:relative;flex:0 0 58px;width:58px;height:58px}.account-avatar-wrap .account-avatar{width:100%;height:100%}.account-photo-link{position:absolute;inset:0;display:grid;place-items:center;padding:5px;border-radius:16px;background:#063f46e6;color:#fff;font-size:11px;font-weight:700;text-align:center;text-decoration:none;opacity:0;transition:opacity .16s ease}.account-avatar-wrap:hover .account-photo-link,.account-avatar-wrap:focus-within .account-photo-link{opacity:1}.account-photo-link:hover{color:#fff;background:#005b63}
.account-avatar-photo{object-fit:cover;display:block}
.change-selector{grid-column:1/-1;border:1px solid #dbe6e8;border-radius:8px;padding:12px 14px;margin:0 0 4px}.change-selector legend{font-weight:700;padding:0 4px}.checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;margin:8px 0}.checkbox-grid .checkbox{font-weight:500}@media(max-width:900px){.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.checkbox-grid{grid-template-columns:1fr}}
.account-joining-approved{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid #dbe6e8;border-radius:7px;background:#f7faf9}.account-joining-approved .badge{margin-left:auto}
.account-joining-approved{display:block}.account-joining-approved .section-heading{margin:0 0 8px}.account-joining-document-list{display:grid;gap:6px}.account-joining-document-list>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #e7eeee;font-size:13px}
.page-access-list{display:grid;gap:6px}.page-access-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 8px;background:#f7faf9;border-radius:5px}.page-access-item select{min-width:120px;padding:5px 8px;font-size:12px}

.filter-options{align-self:center;font-size:13px}.filter-options summary{cursor:pointer;color:var(--teal);padding:10px 0}.filter-options>div{display:flex;gap:12px;flex-wrap:wrap}.filter-options label{min-width:140px}@media(max-width:600px){.filter-options{width:100%}.filter-options>div{display:block}}
.qms-folder-index{margin:0 0 1rem;border:1px solid var(--line,#d9e1e5);border-radius:.6rem;padding:.7rem 1rem;background:var(--surface-soft,#f7fafb)}.qms-folder-index summary{cursor:pointer;font-weight:650}.qms-folder-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.35rem .8rem;margin-top:.7rem}.qms-folder-list span{font-size:.88rem}.qms-folder-list b{display:inline-block;min-width:2rem;color:var(--muted,#64747c)}
.qms-folder-separator th{background:#eaf3f0;color:var(--ink);font-size:12px;letter-spacing:.04em;text-transform:uppercase;border-top:2px solid var(--teal);padding:10px 12px}
.qms-doc-header{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;border:2px solid #8d8d8d;background:#fff;margin-bottom:20px;min-height:112px}.qms-wordmark{display:flex;align-items:center;justify-content:center;border-right:2px solid #8d8d8d;font-family:Georgia,serif;font-size:42px;font-weight:700;font-style:italic;color:#777}.qms-doc-title{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:2px solid #8d8d8d}.qms-doc-title h1{font-family:Georgia,serif;font-size:34px;letter-spacing:.02em;color:#777;margin:0;text-align:center}.qms-doc-title p{margin:6px 0 0;color:var(--muted);font-size:12px}.qms-doc-meta{margin:0}.qms-doc-meta div{display:grid;grid-template-columns:105px 1fr;border-bottom:1px solid #8d8d8d;min-height:27px}.qms-doc-meta div:last-child{border-bottom:0}.qms-doc-meta dt,.qms-doc-meta dd{margin:0;padding:3px 10px;font-family:Georgia,serif;font-size:16px;color:#777}.qms-doc-meta dt{font-weight:700;border-right:1px solid #8d8d8d}.qms-doc-meta dd{text-align:center}@media(max-width:800px){.qms-doc-header{grid-template-columns:100px 1fr}.qms-doc-meta{grid-column:1/-1;border-top:2px solid #8d8d8d}.qms-doc-title h1{font-size:22px}.qms-wordmark{font-size:28px}}
@font-face{font-family:SaishivWordmark;src:url('/fonts/nuptualn.ttf') format('truetype');font-display:swap}.page-heading .eyebrow{font-family:SaishivWordmark,Georgia,serif;font-size:25px;letter-spacing:.01em;text-transform:none;color:var(--ink)}
.qms-titlebar{display:grid;grid-template-columns:180px minmax(0,1fr) 260px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;overflow:hidden}.qms-titlebar-brand{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);font-family:SaishivWordmark,Georgia,serif;font-size:34px;color:var(--ink)}.qms-titlebar h1{display:flex;align-items:center;justify-content:center;text-align:center;font-size:30px;letter-spacing:.02em;margin:0;padding:18px}.qms-titlebar-meta{margin:0;border-left:1px solid var(--line)}.qms-titlebar-meta div{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);min-height:34px}.qms-titlebar-meta div:last-child{border-bottom:0}.qms-titlebar-meta dt,.qms-titlebar-meta dd{margin:0;padding:7px 10px;font-size:12px}.qms-titlebar-meta dt{font-weight:650;color:var(--muted);border-right:1px solid var(--line)}.qms-titlebar-meta dd{text-align:center;font-weight:650}@media(max-width:800px){.qms-titlebar{grid-template-columns:1fr}.qms-titlebar-brand,.qms-titlebar-meta{border:0}.qms-titlebar h1{font-size:24px}.qms-titlebar-meta{border-top:1px solid var(--line)}}
.qms-titlebar-brand{font-size:48px}
@media(max-width:800px){.qms-titlebar-brand{font-size:38px}}
.qms-approval-footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.qms-approval-footer div{display:flex;flex-direction:column;gap:18px}.qms-approval-footer b{color:var(--ink)}@media(max-width:600px){.qms-approval-footer{grid-template-columns:1fr}}
.qms-approval-footer span{font-size:12px;color:var(--muted);font-style:italic}
.qms-approval-footer h3{grid-column:1/-1;margin:0;color:var(--ink);font-size:15px}
@media print{body{background:#fff}.workspace-navigation,.page-heading+.filter-bar,.qms-print,.button,.filter-bar,nav,.environment-badge{display:none!important}.main-content{margin:0!important;padding:0!important}.qms-titlebar{border:1px solid #777;box-shadow:none}.panel{border:0;box-shadow:none;padding:0}.qms-approval-footer{break-inside:avoid}}
.page-heading .page-subheading{margin:4px 0 0;font-size:14px;line-height:1.4}
.dashboard-release-notice{display:flex;align-items:center;gap:12px;background:#eaf6f2;border:1px solid #b9ddd3;border-left:4px solid var(--teal);border-radius:8px;padding:9px 12px;margin:-10px 0 20px;font-size:13px}.dashboard-release-notice span:nth-child(2){min-width:0;flex:1}.dashboard-release-notice b{display:block}.dashboard-release-notice small{display:inline;color:var(--muted);margin-left:8px}.dashboard-release-notice a{white-space:nowrap;font-weight:650}@media(max-width:600px){.dashboard-release-notice{align-items:flex-start;flex-wrap:wrap;gap:6px}.dashboard-release-notice span:nth-child(2){flex-basis:calc(100% - 100px)}.dashboard-release-notice small{display:block;margin:2px 0 0}.dashboard-release-notice a{margin-left:auto}}
.qms-print{margin:0 0 16px auto;display:block}
.qms-top-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px}.qms-top-actions .button{margin:0;transition:background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.qms-top-actions .button:hover{background:var(--teal);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0f766e33}.qms-top-actions .qms-print:hover{background:#31535e}@media print{.qms-top-actions{display:none!important}}
.button,.link-button{transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.button:hover,.link-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f766e22}.button:not(.secondary):hover{background:var(--teal);color:#fff}.button.secondary:hover{border-color:var(--teal);color:var(--teal);background:#eef8f5}
.qms-create-form{max-width:760px;margin:0 auto;padding:26px}.qms-create-form>label{display:block}.qms-create-form .code-preview{margin:4px 0 8px}.qms-create-form .form-actions{margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}
.qms-create-intro{margin:0 0 20px;font-size:15px}
.qms-prepare-form{max-width:900px;margin:0 auto}.qms-prepare-form textarea{min-height:260px}
.flow-document-context{display:grid;grid-template-columns:180px 1fr;gap:10px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#f7fafb}.flow-document-context div{display:flex;flex-direction:column;gap:3px}.flow-document-context span{font-size:11px;color:var(--muted);font-weight:650}.flow-document-context strong{font-size:14px}@media(max-width:600px){.flow-document-context{grid-template-columns:1fr}}
/* Flow chart layout: SVG coordinates define connectors; CSS only styles the editor. */
.flow-builder-add{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:12px;align-items:end}
.decision-branches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.decision-branches[hidden]{display:none}
.flow-merge{grid-column:1/-1}
.flow-chart-preview{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.qms-flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.qms-flow-toolbar h2{margin:0;font-size:16px}
#flow-chart-canvas{overflow-x:auto;padding:16px 0;background:#fff;border:1px solid var(--line);border-radius:10px}
#flow-chart-canvas>p{padding:20px;margin:0;text-align:center}
.qms-flow-svg{display:block;width:100%;min-width:620px;height:auto}
.qms-flow-node-label{font-family:inherit;font-size:15px;fill:var(--ink)}
.qms-flow-branch-label{font-family:inherit;font-size:13px;font-weight:650;fill:#316460;paint-order:stroke;stroke:#fff;stroke-width:6px;stroke-linejoin:round}
@media(max-width:650px){.flow-builder-add,.decision-branches{grid-template-columns:1fr}.qms-flow-toolbar{flex-wrap:wrap}}
@media print{.qms-flow-toolbar button{display:none}.qms-flow-svg{min-width:0}#flow-chart-canvas{overflow:visible;border:0}}
.qms-page-heading{margin-bottom:10px}
.qms-titlebar{border-color:#b8c8cc;box-shadow:0 2px 8px rgba(20,46,61,.06)}
.qms-titlebar h1{color:#173746;letter-spacing:.035em}
.qms-titlebar-meta dt{color:#526b76;font-weight:750;letter-spacing:.01em}
.qms-titlebar-meta dd{color:#183b4a;font-weight:750}
/* Balanced side columns keep the document title centred across the whole header. */
.qms-document-page{container-type:inline-size}
.qms-document-page .qms-titlebar{position:relative}
.qms-header-actions{position:absolute;top:10px;right:12px;display:flex;gap:6px;z-index:2}
.qms-header-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--teal);text-decoration:none!important;transition:background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.qms-header-icon:hover{background:var(--teal);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0f766e33}
.qms-header-icon .icon{width:17px;height:17px}
.qms-document-page .qms-table-heading{display:none}
.qms-document-page .qms-column-header{background:#fff;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.qms-document-page .qms-column-header th{padding:9px 16px;border-bottom:1px solid var(--line);text-align:left}
.qms-document-page table td{padding:9px 16px;line-height:1.35}
.qms-document-page table .qms-folder-separator th{padding:8px 16px}
.qms-document-page>.filter-bar{gap:8px;padding:10px 12px;margin-bottom:12px}
.qms-document-page>.filter-bar label{min-width:120px;font-size:0}
.qms-document-page>.filter-bar label input,.qms-document-page>.filter-bar label select{font-size:12px}
.qms-document-page>.filter-bar input,.qms-document-page>.filter-bar select{margin-top:3px;min-height:36px;padding:7px 10px}
.qms-document-page>.filter-bar .button{min-height:36px;padding:7px 13px}
/* Keep filters compact and consistent across list pages. */
.filter-bar{gap:10px;padding:12px 14px;align-items:end}
.filter-bar label{font-size:12px}
.filter-bar input,.filter-bar select{margin-top:4px;min-height:36px;padding:7px 10px}
.filter-bar .button{min-height:36px;padding:7px 13px}
.filter-bar label{font-size:0}
.filter-bar label input,.filter-bar label select{font-size:12px}
.employee-onboarding-panel{padding:16px 20px}.employee-onboarding-panel .section-heading{margin-bottom:8px}.employee-onboarding-panel h2{font-size:18px}.employee-onboarding-panel th,.employee-onboarding-panel td{padding:9px 16px}.employee-onboarding-panel td small{margin-top:2px}
.employee-onboarding-panel .button-row{align-items:center}.employee-onboarding-panel .onboarding-count{padding:5px 9px;line-height:1.2}
.employee-onboarding-panel .onboarding-upload-panel{margin:8px 0 0;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#f8faf9}.employee-onboarding-panel .onboarding-upload-panel summary{font-size:12px}.employee-onboarding-panel .onboarding-upload-panel p{margin:6px 0}.employee-onboarding-panel .onboarding-upload-panel form{gap:10px;margin-top:8px}
.employee-onboarding-panel .onboarding-upload-panel{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.employee-onboarding-panel .onboarding-upload-panel:hover,.employee-onboarding-panel .onboarding-upload-panel:focus-within{border-color:#8fc8bb;background:#f0f8f5;box-shadow:0 2px 8px #0b665512}.employee-onboarding-panel .onboarding-upload-panel summary:hover{color:#005f59}
.employee-print-approval{display:grid;margin-top:22px}
@media print{.employee-print-approval{display:grid;margin-top:22px}.employee-list-document{break-inside:avoid}.employee-records-table{break-inside:auto}}
@media print{.employee-records-table th:nth-child(6),.employee-records-table th:nth-child(7),.employee-records-table td:nth-child(6),.employee-records-table td:nth-child(7),.employee-records-table td:nth-child(2) small{display:none!important}}
.workspace:has(.qms-document-page){padding-top:22px}
.qms-document-actions{margin-bottom:8px}
.qms-document-page .qms-titlebar{grid-template-columns:124px minmax(0,1fr) 124px;margin-bottom:14px;box-shadow:none}
.qms-document-page .qms-titlebar-brand{grid-column:1;border:0;font-size:32px;line-height:1;padding:8px 12px}
.qms-document-page .qms-titlebar h1{grid-column:2;min-width:0;font-size:24px;line-height:1.25;letter-spacing:.025em;padding:10px 6px;overflow-wrap:anywhere}
.qms-document-page .qms-titlebar-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 0;margin:0;padding:8px 10px;border:0;border-top:1px solid var(--line);background:#f5f8f8}
.qms-document-page .qms-titlebar-meta div{display:flex;align-items:baseline;gap:6px;min-width:0;min-height:0;padding:0 14px;border:0}
.qms-document-page .qms-titlebar-meta div+div{border-left:1px solid var(--line)}
.qms-document-page .qms-titlebar-meta dt,.qms-document-page .qms-titlebar-meta dd{margin:0;padding:0;border:0;font-size:12px;line-height:1.35;text-align:left;letter-spacing:0}
.qms-document-page .qms-titlebar-meta dt{font-weight:500;white-space:nowrap}
.qms-document-page .qms-titlebar-meta dd{font-weight:750;overflow-wrap:anywhere}
@container(max-width:760px){.qms-document-page .qms-titlebar-meta div{padding:0 8px}}
@container(max-width:600px){.qms-document-page .qms-titlebar{grid-template-columns:90px minmax(0,1fr)}.qms-document-page .qms-titlebar-brand{font-size:28px;padding:8px}.qms-document-page .qms-titlebar h1{font-size:19px;padding:10px 12px}.qms-document-page .qms-titlebar-meta{justify-content:flex-start}.qms-document-page .qms-titlebar-meta div+div{border-left:0}}
@media print{.qms-document-page .qms-titlebar{grid-template-columns:130px minmax(0,1fr) 130px;margin:0 0 12px;border-color:#777;box-shadow:none;break-inside:avoid}.qms-document-page .qms-titlebar-brand{font-size:30px;padding:10px}.qms-document-page .qms-titlebar h1{font-size:23px;line-height:1.2;padding:13px 8px}.qms-document-page .qms-titlebar-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-column:1/-1;gap:0;padding:0;background:#fff;border-top:1px solid #777}.qms-document-page .qms-titlebar-meta div{display:block;padding:5px 4px;border:0;border-left:1px solid #bbb;text-align:center}.qms-document-page .qms-titlebar-meta div:first-child{border-left:0}.qms-document-page .qms-titlebar-meta dt,.qms-document-page .qms-titlebar-meta dd{display:block;padding:0;text-align:center;font-size:10px;line-height:1.3}.qms-document-page .qms-titlebar-meta dt{font-weight:650}.qms-header-actions{display:none!important}.qms-document-page table thead th:nth-child(5),.qms-document-page table thead th:nth-child(6),.qms-document-page table tbody td:nth-child(5),.qms-document-page table tbody td:nth-child(6),.qms-document-page table tbody .qms-column-header th:nth-child(5),.qms-document-page table tbody .qms-column-header th:nth-child(6){display:none}}
.qms-document-context{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0 0 16px;margin-bottom:20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.qms-document-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.qms-flow-alternative{margin-top:16px}.qms-flow-alternative pre{white-space:pre-wrap;font:inherit}
.qms-flow-step-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.qms-flow-step-summary .button{padding:5px 12px;font-size:12px}.qms-document-view [data-qms-saved-flow]{overflow:auto}
@media print{body:has(.qms-document-page) .sidebar,body:has(.qms-document-page) .topbar,body:has(.qms-document-page) footer,body:has(.qms-document-page) .skip-link,body:has(.qms-document-page) .no-print,body:has(.qms-document-page) .qms-flow-alternative{display:none!important}body:has(.qms-document-page) .shell{display:block}body:has(.qms-document-page) .workspace{padding:0;margin:0}.qms-document-page .qms-titlebar{break-inside:avoid}.qms-document-page .qms-flow-svg{min-width:0}.qms-document-view [data-qms-saved-flow]{overflow:visible}}
.current-employee-photo{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:12px;color:var(--muted)}.current-employee-photo img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid #d5e4dc}
.account-hero{padding:18px 22px;margin-bottom:16px}.account-hero h2{font-size:24px}.account-avatar-wrap,.account-avatar{width:54px;height:54px}.account-person-info h2{font-size:24px}.account-employee-record .panel,.account-employee-record{padding:18px}.account-employee-record .section-heading{margin-bottom:10px}.account-employee-record p{margin:8px 0}.account-employee-record .user-details{margin-top:10px}.account-employee-record .stack{gap:12px}.account-joining-approved{margin-top:10px}.two-columns{gap:16px}.account .panel{padding:18px}.account .panel h2{margin-bottom:10px}.account .panel p{margin:8px 0}.account .form-grid{gap:14px 18px}.account .stack{gap:12px}

/* Final shared foundation layer: consistent states, rhythm and dense-data behavior. */
:root{--surface:#fff;--surface-soft:#f7faf9;--line-strong:#c8d7da;--teal-dark:#005f59;--focus-ring:#007a72;--control-height:42px;--radius-sm:6px;--radius-md:9px}
body{background:var(--bg);color:var(--ink)}
button,.button,.link-button,input,select,textarea{min-height:var(--control-height)}
input,select,textarea{border-color:var(--line-strong);border-radius:var(--radius-sm)}
input:hover,select:hover,textarea:hover{border-color:#a9c1c3}
button:focus,button:focus-visible,.button:focus-visible,.link-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
button:focus:not(:focus-visible),.button:focus:not(:focus-visible),.link-button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}
button:disabled,.button[aria-disabled=true],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}
.button{border-radius:var(--radius-sm);min-height:40px;padding:9px 15px}
.button.primary{background:var(--teal)}
.button.primary:hover{background:var(--teal-dark)}
.panel{background:var(--surface);border-color:var(--line);border-radius:var(--radius-md)}
thead{background:var(--surface-soft)}
th,td{padding:12px 16px}
th{font-size:11px;letter-spacing:.06em}
td{line-height:1.45}
.badge{line-height:1.25;border:1px solid transparent}
.badge.approved{background:#e8f4ed;color:#276b48;border-color:#c7e3d1}
.badge.rejected{background:#fbeceb;color:#984936;border-color:#efc9c2}
.badge.submitted{background:#fff5dc;color:#815d1b;border-color:#f0dfae}
.badge.applied{background:#e4f3eb;color:#25744c;border-color:#c3e1cf}
.notice{border-radius:var(--radius-md)}
.form-actions{gap:12px}
.table-wrap{border-radius:var(--radius-md)}
@media(max-width:600px){th,td{padding:10px 12px}.button{width:auto;min-height:40px}.form-actions .button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Compact access editor: keep page overrides available without repeating the catalogue. */
.module-access-table .module-page-row td{padding:0 12px 8px;background:#f7faf9;border-bottom:1px solid var(--line)}
.module-page-row details{padding:4px 0}.module-page-row summary{font-size:11px;font-weight:650;color:var(--teal)}
.module-page-row summary .muted{font-weight:400;color:var(--muted)}
.page-access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin:8px 0}
.page-access-item{min-width:0;padding:4px 6px;background:transparent;border-bottom:1px solid #e8efed;border-radius:0;font-size:12px}
.page-access-item span{min-width:0;overflow-wrap:anywhere}.page-access-item select{width:auto;min-width:100px;min-height:32px;margin:0;padding:4px 7px;font-size:11px}
.module-access-table>tbody>tr>th{font-weight:650}.module-access-table>tbody>tr:not(.module-page-row)>td{padding-top:10px;padding-bottom:10px}
@media(max-width:650px){.page-access-list{grid-template-columns:1fr}.page-access-item select{min-width:92px}}

/* Page overrides use the same radio matrix as module access for faster scanning. */
.page-access-table{margin:8px 0 2px;min-width:560px;font-size:12px;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.page-access-table thead{background:#f4f8f6}.page-access-table th,.page-access-table td{padding:7px 9px;border-bottom:1px solid #e7efed}.page-access-table th{font-size:10px;letter-spacing:.04em}.page-access-table thead th:not(:first-child),.page-access-table td{text-align:center}.page-access-table tbody th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;text-align:left;color:var(--ink)}.page-access-table tr:last-child th,.page-access-table tr:last-child td{border-bottom:0}.page-access-table .permission-check{min-height:24px}
@media(max-width:650px){.page-access-table{min-width:520px}.module-page-row td{overflow-x:auto}}
.nav-planned-group>summary.nav-planned-toggle{padding:6px 10px;border:0;background:transparent;color:#b6cbd4;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.nav-planned-group>summary.nav-planned-toggle:hover,.nav-planned-group>summary.nav-planned-toggle:focus-visible{background:#234755;color:#fff;outline-offset:2px}.nav-planned-group>summary .nav-planned-action{font-size:9px;color:#9fb8c2}
.nav-planned-group>summary.nav-planned-toggle{font-size:9px}
.nav-planned-group>summary.nav-planned-toggle{color:#9db2bb}.nav-planned-group>summary .nav-planned-action{color:#8fa6b0}
.nav-planned-group>summary .nav-planned-action{margin-left:auto!important;padding-left:48px}
.nav-planned-group>summary.nav-planned-toggle{margin:12px 0 5px;padding:5px 10px;white-space:nowrap}.nav-planned-group>summary .nav-planned-action{padding-left:32px;white-space:nowrap}
.nav-planned-group>summary .nav-planned-action::before{content:'[ Show ]'}.nav-planned-group[open]>summary .nav-planned-action::before{content:'[ Hide ]'}
.sidebar-brand .brand-copy{align-items:center;width:100%}.sidebar-brand .brand-copy>small{justify-content:center;width:100%;text-align:center}
.sidebar-brand .brand{width:100%;align-items:center}.sidebar-brand .brand-company-name,.sidebar-brand .brand-copy>small{display:flex;justify-content:center;text-align:center}.sidebar-brand .brand-copy>small{align-items:center}
.sidebar-version-link{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#b7cbd3;font-size:11px;text-decoration:none}.sidebar-version-link:hover{color:#fff}.sidebar-version-link .icon{width:15px;height:15px;opacity:.8}
.sidebar-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.sidebar-bottom>.nav-label{display:block;line-height:1.55}.sidebar-version-link{margin-bottom:0}
.nav-page-label{display:flex;align-items:center;gap:10px;min-width:0}.nav-page-label .icon{width:18px;height:18px;opacity:.72;flex:none}.nav-page-label>span{overflow-wrap:anywhere}
#module-access-request .access-level-option{min-height:68px!important;padding:10px 14px!important;gap:12px}#module-access-request .access-level-option strong{font-size:13px}#module-access-request .access-level-option small{font-size:11px;line-height:1.3;margin-top:2px}
#module-access-request{padding:22px 26px}#module-access-request h2{margin-bottom:16px}#module-access-request .form-grid{gap:12px}#module-access-request label.full{font-size:13px}#module-access-request select{margin-top:5px;min-height:42px}#module-access-request .access-level-fieldset{padding:12px 16px 16px}#module-access-request .access-level-options{gap:10px}#module-access-request .access-level-option{min-height:108px;padding:14px 18px}#module-access-request .access-level-option small{margin-top:4px}#module-access-request .button{margin-top:2px}
.people-access-table th:last-child{width:14%}.people-access-table td[data-label="Actions"] .button-row{flex-direction:column;align-items:stretch;gap:8px;margin:0}.people-access-table td[data-label="Actions"] .button{width:100%;min-width:0;white-space:nowrap;padding:8px 9px}

/* Shared original-evidence previews follow the existing panel width. */
.document-original-preview{display:block;width:100%;height:min(70vh,800px);border:1px solid #c6d8df;border-radius:8px;background:#f5f8f9}.document-original-image{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}.document-workspace .code,.document-workspace td{overflow-wrap:anywhere}

[data-document-preview] [hidden]{display:none}
