:root{--navy:#0e2638;--ink:#173247;--muted:#60788a;--teal:#087f91;--border:#dbe7ee;--paper:#fff;color:var(--ink);background:#f2f6f8}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f2f6f8;color:var(--ink)}a{color:#067286;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #51b8c6!important;outline-offset:2px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;padding:9px 14px;background:#fff;color:#092335;border-radius:8px}.skip-link:focus{top:10px}
.app-frame{display:flex;min-height:100vh}.app-sidebar{width:258px;min-width:258px;background:var(--navy);color:#d5e5ee;min-height:100vh;position:sticky;top:0;height:100vh;flex-direction:column}.sidebar-inner{display:flex;flex-direction:column;width:100%;min-height:100%;padding:24px 14px}.sidebar-brand{display:flex;gap:11px;align-items:center;padding:4px 10px 30px;color:#fff}.sidebar-brand:hover{color:#fff;text-decoration:none}.sidebar-brand strong{display:block;font-size:1.14rem;letter-spacing:.04em}.sidebar-brand small{display:block;font-size:.72rem;color:#a4c2d0;letter-spacing:.03em}.brand-symbol{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#05a4b2,#57d0c2);font-weight:900;color:#fff;box-shadow:0 6px 16px #0004}.nav-caption{font-size:.67rem;font-weight:800;letter-spacing:.16em;color:#81a5b9;padding:0 14px;margin:0 0 10px}.sidebar-nav{display:grid;gap:3px}.sidebar-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;color:#d5e5ee;font-weight:650;font-size:.89rem;min-height:43px}.sidebar-link:hover,.sidebar-link:focus{color:#fff;background:#ffffff18;text-decoration:none}.sidebar-link.active{background:#0a8a99;color:#fff;box-shadow:inset 3px 0 #8be7dc}.nav-icon{font-size:1.05rem;width:20px;text-align:center}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff20;padding:16px 10px 0;font-size:.8rem;overflow-wrap:anywhere;color:#b9d2df}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#55d1a6;margin-right:8px}
.app-workspace{min-width:0;flex:1}.topbar{height:68px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 clamp(16px,2.8vw,36px);background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.topbar-leading,.topbar-actions{display:flex;align-items:center;gap:15px;min-width:0}.topbar-section{font-size:.91rem;font-weight:800;color:#385267;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-toggle,.notification-button,.account-menu{border:0;background:transparent;min-width:39px;height:39px;border-radius:10px;color:#325165;font-size:1.2rem}.menu-toggle:hover,.notification-button:hover,.account-menu:hover{background:#eaf2f6}.notification-button{position:relative}.notification-count{position:absolute;right:1px;top:0;min-width:16px;height:16px;display:grid;place-items:center;font-size:.58rem;border-radius:999px;background:#d34e4d;color:#fff}.account-copy{text-align:right;max-width:230px;line-height:1.2}.account-copy strong{display:block;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-copy span{display:block;font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu{font-size:.9rem;background:#e6f3f5;color:#087f91}.notification-popover{width:280px}.account-popover{min-width:170px}.app-drawer{--bs-offcanvas-width:270px;background:var(--navy);color:#fff}.app-drawer .offcanvas-header{border-bottom:1px solid #ffffff20}.app-drawer .offcanvas-body{display:block}.app-drawer .sidebar-inner{min-height:calc(100vh - 65px);padding-top:10px}.app-drawer .sidebar-brand{display:none}
.shell{width:min(1280px,calc(100% - 48px));margin:30px auto 64px}.shell.narrow{width:min(500px,calc(100% - 32px));margin:8vh auto 40px}.card{background:var(--paper);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #12304b09;padding:26px;margin:0 0 20px}.auth-card{padding:clamp(24px,5vw,42px)}h1{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.18;margin:6px 0 12px;color:#102d42;font-weight:800}h2{font-size:1.18rem;margin:0 0 14px;color:#18384e;font-weight:750}h3{font-size:1rem;margin:0 0 10px;font-weight:750}p{line-height:1.5;color:#526a7b}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:850;color:var(--teal);margin:0}.pagehead{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 22px}.pagehead p{margin:4px 0 0}.pagehead h1{margin-bottom:4px}
form{margin:0}label{display:block;font-size:.88rem;font-weight:700;color:#27465a;margin:0 0 17px}input,select,textarea{display:block;width:100%;min-height:42px;border:1px solid #b7cbd7;border-radius:9px;padding:9px 11px;background:#fff;color:#142b3e;margin-top:6px}input:focus,select:focus,textarea:focus{outline:2px solid #087f91;outline-offset:1px;border-color:#087f91}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:min(300px,100%);margin:0}.filter-grid{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:12px}.filter-grid label{margin:0}
.button{border:1px solid transparent;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:9px 16px;font-weight:750;cursor:pointer;white-space:nowrap;text-decoration:none}.button:hover{text-decoration:none;filter:brightness(.95)}.primary{background:#087f91;color:#fff}.secondary{background:#e5f2f6;color:#075f73}.outline{background:#fff;border-color:#b7cbd7;color:#24516a}.ghost{background:transparent;color:#fff;border-color:#7fa3b6;min-height:34px;padding:5px 12px}
.notice{padding:12px 15px;border-radius:10px;background:#e8f2fa;border:1px solid #c2dce8;color:#234864;margin:0 0 18px;line-height:1.4}.notice.error{background:#fff0ef;border-color:#f1c0bd;color:#9d2921}.notice.success{background:#e6f5ec;border-color:#bbdfc8;color:#24613d}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.stat{margin:0}.stat strong{display:block;font-size:2.25rem;color:#087f91}.stat span{color:#52677b}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.table-card{padding:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:13px 16px;border-bottom:1px solid #e6edf3;vertical-align:top}th{color:#566f81;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;background:#f8fbfd}td{font-size:.89rem}tr:last-child td{border-bottom:0}.table-wrap a{font-weight:700}.empty-state{padding:30px!important;text-align:center;color:#657d8d}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:750;white-space:nowrap}.badge.good{background:#e1f4e8;color:#23653e}.badge.muted{background:#e9eef2;color:#576b7c}.badge.warn{background:#fff0ce;color:#865a10}
fieldset{border:1px solid #d7e4ec;border-radius:12px;padding:14px 16px;margin:10px 0 20px}legend{font-size:1rem;font-weight:800;padding:0 6px;float:none;width:auto}.checks{display:flex;flex-wrap:wrap;gap:8px 18px}.check{display:flex;align-items:center;gap:7px;margin:0;font-weight:550}.check input{width:auto;min-height:auto;margin:0;accent-color:#087f91}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.permission-group{display:flex;flex-direction:column;gap:7px}.help{font-size:.84rem;color:#657a8a}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px 22px}.detail-grid dt{font-size:.72rem;color:#698091;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.detail-grid dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.photo-preview{width:min(100%,420px);height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#e5eef2}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h2{margin:0}
@media(max-width:991.98px){.shell{width:min(1100px,calc(100% - 32px));margin-top:24px}.topbar{height:62px}}
@media(max-width:760px){.pagehead{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid label:first-child{grid-column:1/-1}.card{padding:20px}.table-card{padding:0}.account-copy{max-width:150px}}
@media(max-width:490px){.topbar{gap:5px;padding:0 12px}.topbar-actions{gap:5px}.topbar-section{max-width:105px}.account-copy{display:none}.filter-grid{grid-template-columns:1fr}.filter-grid label:first-child{grid-column:auto}.shell{width:calc(100% - 24px)}.pagehead .button{width:100%}}

.session-entry{padding:1.25rem 0;border-top:1px solid #dce4ee}.session-entry h3{font-size:1.12rem;margin:0}.session-entry .section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.session-entry .help{overflow-wrap:anywhere}.session-entry form{max-width:48rem;margin-top:1rem}


.security-qr{max-width:100%;display:block;border:1px solid #dce4ee;border-radius:14px;margin:1rem 0}.security-secret{display:block;overflow-wrap:anywhere;padding:.75rem;background:#eef5f8}.security-code-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:.6rem;margin:1rem 0}.security-code-grid code{display:block;overflow-wrap:anywhere;border:1px solid #dce4ee;border-radius:8px;padding:.6rem}.security-codes{border:2px solid #138897}


.security-account .button,.security-auth .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
.security-code-grid code,.security-secret{color:var(--ink,#102b3b)}

/* Keep long enterprise menus inside the sidebar viewport. */
.app-sidebar{overflow-y:auto;overscroll-behavior:contain}
