/* Compact enterprise workspace, based on the user-supplied settings reference. */
html:has(#shell:not([hidden])),body:has(#shell:not([hidden])){background:#f1eef5}
#shell,#modal{--ink:#29333f;--muted:#78838f;--line:#e2e6eb;--teal:#8845d6;color:#29333f;font-size:13px}
#shell{max-width:1800px;width:calc(100% - 28px);margin:14px auto;min-height:calc(100vh - 28px);grid-template-columns:212px minmax(0,1fr);border:1px solid #e0e5e9;border-radius:4px;background:white;box-shadow:0 12px 32px #26384f0a}
#shell>aside{padding:22px 10px 18px 8px;border-right:1px solid #dde3e8;background:linear-gradient(90deg,#f7f9fb 0,#f7f9fb 39px,#e4e9ee 39px,#e4e9ee 40px,#fff 40px);height:100vh}
#shell .brand{font-size:22px;margin:0 5px 27px;gap:13px}#shell .brand img{width:22px;height:27px;filter:grayscale(1) brightness(.55)}#shell .brand b{font-size:8px;max-width:140px;color:#8b95a0}
#shell>aside>.nav-label{margin:18px 0 9px;padding-left:40px;letter-spacing:1px;font-size:8px;color:#7a8692}
#shell>aside>nav{gap:2px}#shell nav a{border-radius:2px;padding:9px 5px;gap:15px;min-height:36px;color:#65727e;font-weight:400;background:transparent;border:0;box-shadow:none}
#shell nav a span{font-size:11px}#shell nav a.active{background:#f0e8fa;color:#8740c6;box-shadow:inset 2px 0 #8845d6}#shell nav a:hover{background:#f6f0fc;color:#7436ae}
#shell .nav-icon{width:18px;height:18px;flex:none}
#shell>aside>.sidebar-foot{margin-left:35px;padding:15px 0 0;font-size:9px;color:#88949e;border-color:#e5e9ed}#shell .sidebar-foot small{font-size:8px}#shell .status-dot{background:#a65bd1}
#shell .topbar{height:54px;padding:0 22px;background:white;border-bottom:1px solid #e1e6eb}#shell .topbar>span{font-size:10px;letter-spacing:.5px;color:#5b6875}#shell .topbar select{border-radius:3px;font-size:10px;background:#fafbfc;border-color:#e1e5e9;padding:7px 10px}#shell .user-avatar{background:#f1eafa;color:#87609d;width:27px;height:27px;font-size:10px}
#shell main{padding:24px 22px;min-height:calc(100vh - 144px)}#shell .page-head{padding:0 0 16px;margin:0 0 20px;border-bottom:1px solid #e6e9ed;gap:16px}#shell .page-head h1{font-size:23px;letter-spacing:-.55px;font-weight:550;margin-bottom:8px}#shell .page-head p{font-size:11px;color:#7a8591}#shell .page-head .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:8px}
#shell h2,#modal h2{font-size:20px;letter-spacing:-.4px}#shell h3{font-size:13px;font-weight:550}#shell a{color:#8742bd}#shell .muted,#shell small,#modal .muted,#modal small{color:#7a8793}
#shell button,#shell a.icon-action,#modal button{border-radius:3px;background:white;color:#526472;border-color:#d8e0e6;box-shadow:none;font-size:11px}#shell button:hover,#shell a.icon-action:hover,#modal button:hover{background:#f5effc;border-color:#c3a0de}
#shell .primary,#modal .primary,#shell .guide-open{background:#9250cb;color:white;border-color:#9250cb;border-radius:3px;box-shadow:none}#shell .primary:hover,#modal .primary:hover,#shell .guide-open:hover{background:#7d3cb7;color:white;border-color:#7d3cb7}
#shell .icon-action,#modal .icon-action{width:36px;height:36px;min-width:36px;min-height:36px;padding:8px;border-radius:3px}#shell .action-glyph,#modal .action-glyph{width:17px;height:17px}
#shell label,#modal label{font-size:11px;font-weight:500;color:#52606b;margin:14px 0}#shell input,#shell select,#shell textarea,#modal input,#modal select,#modal textarea{background:white;border:1px solid #dce2e7;border-radius:2px;padding:9px 10px;color:#394956;font-size:12px;margin-top:6px}#shell input:focus,#shell textarea:focus,#modal input:focus,#modal textarea:focus{outline:2px solid #b17bda80;outline-offset:1px}#shell :focus-visible,#modal :focus-visible{outline-color:#a464d0}
#shell .stats{gap:12px;margin-bottom:18px}#shell .stat,#shell .stat:first-child{background:white;border:1px solid #e2e7ec;border-radius:3px;padding:17px 18px;box-shadow:none}#shell .stat:first-child{border-top:2px solid #a65bd1}#shell .stat strong,#shell .stat.good strong{color:#405665;font-size:30px;font-weight:450;letter-spacing:-.9px;margin:12px 0 8px}#shell .stat.warning strong{color:#b87935}#shell .stat-label{font-size:9px;color:#7d8992;letter-spacing:.35px}#shell .stat small{font-size:9px}
#shell .panel{border:1px solid #e1e6eb;border-radius:3px;margin-bottom:18px;background:white;box-shadow:none}#shell .panel-head{padding:14px 16px;border-bottom:1px solid #e7ebef;background:#fdfefe}#shell .panel-head h3{font-size:13px;color:#40505c}#shell .panel-body{padding:18px}#shell th{background:#f7f9fb;color:#798795;font-size:9px;letter-spacing:.4px;padding:12px 14px}#shell td{padding:12px 14px;border-color:#e8edf0;color:#53616d;font-size:11px}#shell tr:hover td{background:#f5fafc}
#shell .badge,#modal .badge{font-size:9px;padding:4px 7px;border-radius:3px;background:#edf1f4;color:#738491}#shell .badge.COMPLIANT,#shell .badge.RESOLVED{background:#e5f5ed;color:#3b8b6d}#shell .badge.CRITICAL,#shell .badge.NON_COMPLIANT,#shell .badge.overdue{background:#fcecea;color:#b9645b}#shell .badge.HIGH,#shell .badge.OPEN,#shell .badge.PARTIALLY_COMPLIANT{background:#fcf2df;color:#a17e3d}
#shell .notice,#modal .notice{border-radius:3px;padding:14px 16px;background:#f7f1fc;border:1px solid #e7d7f2;color:#806092;font-size:11px}#shell .question-card,#modal .question-card,#shell .template-controls,#modal .template-controls{border-radius:3px;border-color:#dce6eb;background:#fbfdfe}#shell .question-card summary{color:#805395}
#shell .token,#shell pre,#modal .token,#modal pre{background:#f3f7fa;border:1px solid #e2e9ee;border-radius:3px;color:#557387}#shell .step>span{background:#f0e5fa;color:#9250bc;border-radius:3px}#shell .company-logo{border-radius:3px}
#modal{border-radius:4px;border:1px solid #dce3e8;box-shadow:0 15px 70px #24384730}#modal::backdrop{background:#34465640;backdrop-filter:blur(2px)}#toast{border-radius:3px;background:#57356c}
#shell .guide-layout .guide-index{border-radius:3px;background:#fafcfd;border-color:#e0e7ed}#shell .guide-jump{border:0;border-radius:2px;color:#647b8a;padding:8px;font-size:11px}#shell .guide-jump:hover{background:#f4ecfc}#shell .guide-section h2{font-size:19px;color:#344e5c}
#shell .firm-grid,#shell .audit-grid{gap:14px}#shell .firm-card h2{font-size:20px;margin:16px 0 8px}#shell .firm-avatar{border-radius:4px;background:#f4ecfb;color:#9555b9;width:38px;height:38px;font-size:12px}#shell .firm-toolbar{margin-bottom:18px}#shell .firm-toolbar .actions a{border-radius:3px;border:1px solid #dce6ec;background:#fff;padding:8px 12px;font-size:11px}#shell .firm-foot{padding-top:13px;font-size:10px;border-color:#e6ecf0}#shell .firm-top{margin-bottom:14px}#shell .lifecycle-track{gap:5px;margin-bottom:18px}#shell .lifecycle-track span{border:1px solid #e0e6eb;border-radius:3px;padding:7px 12px;font-size:10px}#shell .lifecycle-track .selected{background:#9250cb;border-color:#9250cb;color:#fff}#shell .audit-counts span{border-radius:3px;background:#f0f5f8;font-size:9px}#shell .audit-card h3{font-size:16px}#shell .score.good{color:#438e76}#shell .score.bad{color:#b37c4f}
#shell meter::-webkit-meter-bar{background:#eaf1f5}#shell meter::-webkit-meter-optimum-value,#shell meter::-webkit-meter-suboptimum-value,#shell meter::-webkit-meter-even-less-good-value{background:#b780d9}#shell meter::-moz-meter-bar{background:#b780d9}
#shell footer{padding:15px 22px;font-size:9px;color:#97a1a9}#shell .safety-row{border-color:#e1e8ed}
@media(max-width:1100px){#shell{grid-template-columns:190px minmax(0,1fr)}#shell main{padding:20px 16px}}
@media(max-width:760px){#shell{width:100%;margin:0;border:0;grid-template-columns:56px minmax(0,1fr);min-height:100vh}#shell>aside{background:#f8fafc;padding:18px 5px;border-color:#e1e7ec}#shell .brand{font-size:0;margin:0 auto 20px;gap:0}#shell .brand img{width:23px}#shell nav a{justify-content:center;min-height:44px;padding:12px 8px;gap:0}#shell .topbar{height:auto;padding:12px 10px}#shell .topbar select{max-width:100%;font-size:10px}#shell main{padding:18px 12px}#shell .page-head h1{font-size:21px}#shell .icon-action,#modal .icon-action{width:44px;height:44px;min-width:44px;min-height:44px}#shell .panel-head,#shell .panel-body{padding:14px}#shell .stat{padding:15px}#shell .stat strong{font-size:29px}#shell .firm-toolbar .actions{gap:5px}#shell .firm-toolbar .actions a{padding:8px}#shell footer{padding:15px 12px}}
@media(max-width:760px){#shell .page-head{flex-direction:column;align-items:stretch}#shell .page-head>.actions{justify-content:flex-start}#shell .page-head>.icon-action{align-self:flex-start}}

#shell button.danger,#modal button.danger{color:#b42318;border-color:#f0b4ae;background:#fff5f4}

#shell .brand img{filter:none;width:30px;height:33px}#shell .brand{color:#392448;letter-spacing:-.7px}#shell .brand b{color:#80698c}#login .login-wordmark img{display:block;width:200px;height:auto}#login img.login-emblem{object-fit:contain;filter:none}@media(max-width:760px){#shell .brand img{width:30px;height:33px}#shell .brand>span{display:none}}

#shell .primary,#modal .primary,#shell .guide-open{background:linear-gradient(110deg,#8845d6,#ac56d3);border-color:#ac6bd7}#shell .primary:hover,#modal .primary:hover{background:linear-gradient(110deg,#7838c4,#9c45c2)}

#shell .topbar{justify-content:flex-end}

@media(min-width:761px){#login .login-form{transform:translateX(clamp(-170px,calc(220px - 45vw),0px))}}

/* Login card: the existing amethyst scene remains visible around the form. */
#login .login-form{max-width:440px;padding:30px 34px 28px;border:1px solid #c696ed55;border-radius:20px;background:linear-gradient(145deg,#301640e8,#170c2be8);box-shadow:0 24px 72px #06020f66,inset 0 1px 0 #efdcff14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#login .login-emblem{width:52px;height:58px;margin-bottom:10px}
#login h2{margin:10px 0 16px;font-size:23px}
#login #portal-help{min-height:0;margin:0 0 22px;line-height:1.65;color:#d8c5e8}
#login .login-form>label{margin:14px 0}
#login .login-form input:not([type=radio]){border-radius:10px;background:#160b26a6;border-color:#b08bcc66}
#login .login-form button.icon-action.action-labeled{border-radius:10px;margin:18px 0 16px}
#login .login-form>a{display:block;border-top:1px solid #c89de52b;padding-top:17px;color:#d9c2ec}
@media(max-width:760px){#login .login-form{padding:26px 24px;max-width:400px;margin:28px auto;border-radius:18px;transform:none}#login .login-nav{gap:10px}#login .login-wordmark img{width:155px}#login .login-nav>span{display:none}}

#toast{position:fixed;inset:24px 24px auto auto;margin:0;transform:none;z-index:2147483647;display:flex;align-items:flex-start;gap:14px;width:max-content;max-width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:16px 18px;border:1px solid #bd91df;border-radius:12px;background:#342044;color:#fff;box-shadow:0 14px 45px #10051d66;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#toast[data-kind=error]{background:#491e36;border-color:#e398b7}
#toast .notification-close{flex:none;width:28px;min-width:28px;height:28px;padding:0;margin:0;border:0;border-radius:5px;background:#ffffff18;color:white;font-size:24px;line-height:24px}
@media(max-width:760px){#toast{inset:16px 16px auto auto}}

/* Centered sign-in panel with a prominent brand promise. */
#login{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(70px,1fr) auto minmax(86px,1fr);gap:20px}
#login .login-nav{align-self:start;justify-content:flex-start}
#login .login-form{margin:0 auto;transform:none}
#login .login-bottom{align-self:end;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding-top:0}
#login .login-bottom span:last-child{order:-1;font-size:clamp(21px,2.3vw,30px);font-weight:600;letter-spacing:-.6px;line-height:1.25;color:#f3e5ff;text-shadow:0 3px 22px #bb66eb70}
#login .login-bottom span:first-child{font-size:9px;color:#c3aed3;letter-spacing:.8px}
@media(max-width:760px){#login{grid-template-rows:minmax(48px,1fr) auto minmax(74px,1fr);gap:22px}#login .login-form{margin:0 auto}#login .login-bottom{gap:10px}}

/* Keep the sign-in card in the clear left-hand portion of the iceberg scene. */
@media(min-width:761px){
 #login{grid-template-columns:minmax(0,46%) minmax(0,54%)}
 #login .login-nav,#login .login-bottom{grid-column:1 / -1}
 #login .login-form{grid-column:1;grid-row:2;width:100%;max-width:400px;margin:0 auto;justify-self:center;transform:translateX(2cm)}
}
#login h2,#login label,#login button,#login .login-bottom{text-transform:capitalize}
#login input{text-transform:none}

#shell .firm-logo,#modal .firm-logo{width:64px;height:64px;object-fit:contain;border:1px solid #e7dfef;background:white;border-radius:8px;padding:5px}
#shell .firm-detail-identity{display:flex;gap:20px;align-items:center;margin:0 0 20px;padding:20px;background:white;border:1px solid #e7dfef}
#shell .firm-detail-identity .firm-logo{width:88px;height:88px}
.firm-rights{display:grid;gap:6px;margin:16px 0;font-size:12px}
#shell .catalog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;padding:16px}
#shell .catalog-filters label{margin:0}#shell .catalog-filters select{width:100%}
#shell .catalog-count{padding:0 16px;font-size:12px}
#shell .catalog-group{border-top:1px solid #e2e6eb}
#shell .catalog-group>summary{cursor:pointer;padding:16px;background:#faf7fd;color:#704292}
#shell .catalog-group>summary>span{float:right;font-size:11px}
#shell,#modal,#toast{text-transform:capitalize}
#shell input,#shell textarea,#modal input,#modal textarea,code,pre,.token,.literal,#user-name,a[href^="mailto:"],a[href^="http"]{text-transform:none}

#shell .action-caption,#modal .action-caption,#login .action-caption{text-transform:capitalize}

#modal input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;margin:0 6px 0 0;vertical-align:middle}
