@import url('../vendor/fonts/premium.css');
:root{--bg:#f5f6f8;--surf:#fff;--txt:#1d2b38;--mut:#667b88;--line:#dce5eb;--accent:#008c8f;--sans:'Manrope',sans-serif;--mono:'JetBrains Mono',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:13px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:var(--accent);text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:3px solid #4ec3c7;outline-offset:3px}
.access-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(400px,1fr) minmax(480px,1fr)}.access-story{background:#172b38;position:relative;padding:48px 60px;color:white;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.access-brand{display:flex;align-items:center;gap:14px;font-size:21px;font-weight:600;line-height:1.25;letter-spacing:-.6px}.access-brand small{display:block;color:#89a9bb;font-size:9px;letter-spacing:.18em;margin-top:6px}.brand-mark{height:44px;width:44px;background:#008c8f;border-radius:12px;display:grid;place-items:center;font-size:26px;font-weight:700;color:white;flex-shrink:0}.access-message{position:relative;z-index:1;padding:60px 0}.access-message>span{font:10px var(--mono);color:#74c8cb;letter-spacing:.13em}.access-message h1{font-size:clamp(34px,4.3vw,65px);line-height:1.13;font-weight:550;letter-spacing:-2.8px;margin:25px 0}.access-message h1 em{font-style:normal;color:#76d5d7}.access-message p{font-size:13px;line-height:1.9;color:#9fb5c3;max-width:360px}.access-wave{width:100%;height:120px;opacity:.65;margin-top:40px}.access-foot{font-size:10px;color:#7997a8}.access-form-side{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:50px 35px;position:relative}.access-card{width:100%;max-width:355px}.access-eyebrow{font:650 9px var(--sans);letter-spacing:.14em;color:var(--accent)}.access-card h2{font-size:30px;line-height:1.25;letter-spacing:-1px;margin:13px 0}.access-card>p{font-size:12px;color:var(--mut);margin-bottom:32px}.access-card form{display:grid;gap:19px}.access-card label{font-size:11px;font-weight:600;display:grid;gap:8px}.access-card input{width:100%;background:var(--surf);border:1px solid var(--line);border-radius:9px;padding:13px 15px;font-size:12px;color:var(--txt)}.access-submit{padding:13px 17px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:9px;font-size:12px;font-weight:650;display:flex;justify-content:space-between;align-items:center}.access-submit:hover{background:#007a7d}.access-help{font-size:10px;color:var(--mut);line-height:1.8;border-top:1px solid var(--line);padding-top:23px;margin-top:25px}.access-legal{position:absolute;bottom:25px;color:#889aa5;font-size:9px}#authMessage,#adminMessage{min-height:0;font-size:12px;color:#a13232;background:#fff0f0;border-radius:8px;padding:12px;margin:16px 0}#authMessage:empty,#adminMessage:empty{display:none}.portal-top{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#172b38;color:white;padding:22px 35px}.portal-top a{color:#aed4df;font-size:11px}.portal-top .access-brand{font-size:17px}.portal-top .brand-mark{height:34px;width:34px;font-size:20px}.admin-main{max-width:1120px;padding:42px 25px;margin:auto}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-head h1{font-size:30px;letter-spacing:-1px;margin:9px 0}.admin-head p{color:var(--mut);font-size:12px}.admin-count{font:11px var(--mono);color:var(--mut)}.admin-invite{background:white;border:1px solid var(--line);border-radius:14px;padding:23px;display:flex;align-items:flex-end;gap:16px;margin-bottom:25px}.admin-invite label{font-size:11px;font-weight:600;flex:1;display:grid;gap:8px}.admin-invite input,.admin-select{border:1px solid var(--line);border-radius:8px;background:var(--surf);padding:11px 13px;color:var(--txt)}.admin-invite button{min-height:43px}.admin-table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:13px}.admin-table{width:100%;border-collapse:collapse;min-width:620px;text-align:left}.admin-table th{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:16px 20px;background:#f8fafb}.admin-table td{padding:18px 20px;border-top:1px solid var(--line);font-size:11px}.admin-table button{border:1px solid var(--line);background:white;border-radius:7px;font-size:10px;padding:7px 10px;margin:2px;color:var(--txt)}.admin-table .revoke{color:#a43d3d}.admin-status{font-size:9px;padding:5px 8px;border-radius:5px;background:#e7f6f2;color:#167b65}.admin-status.off{background:#f4eded;color:#a25353}.admin-link{padding:22px;border:1px solid #a6d8d7;background:#eefaf8;border-radius:12px;margin:20px 0}.admin-link[hidden]{display:none}.admin-link p{font-size:11px;color:var(--mut)}.admin-link input{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:10px var(--mono);margin:12px 0;background:white}.admin-link button{background:var(--accent);color:white;border:0;padding:9px 15px;border-radius:7px;font-size:11px}/* Account popover stays outside clipping/stacking constraints of the app header. */
.portal-account{display:flex;align-items:center;position:relative;flex-shrink:0;width:fit-content;margin-left:8px}
.portal-account-trigger{cursor:pointer;font:600 10px var(--sans);color:inherit;background:transparent;border:1px solid var(--line);border-radius:8px;padding:8px 12px;white-space:nowrap}
.portal-account:has(:popover-open) .portal-account-trigger{background:var(--accent);border-color:var(--accent);color:var(--on-action,#fff)}
.portal-account-menu{position:fixed;inset:auto;margin:0;width:264px;min-width:0;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;background:var(--surf);color:var(--txt);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px #1233;padding:12px;font:12px/1.5 var(--sans);text-align:left}
.portal-account-menu strong{display:block;font-size:12px;padding:8px 10px 14px;margin-bottom:5px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.portal-account-menu a,.portal-account-menu button{display:block;width:100%;min-height:40px;padding:11px 10px;margin:2px 0;background:none;border:0;border-radius:7px;text-align:left;font:600 12px/1.5 var(--sans);color:var(--accent);text-decoration:none}
.portal-account-menu a:hover,.portal-account-menu button:hover{background:var(--surf2,#f0f5f6)}
.portal-account-menu:popover-open{animation:accountIn .12s ease-out}
@keyframes accountIn{from{opacity:0}to{opacity:1}}
@keyframes accessIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.access-card{animation:accessIn .3s ease-out}
@media(max-width:900px){.access-shell{grid-template-columns:1fr}.access-story{padding:25px 30px;min-height:0}.access-message{display:none}.access-foot{display:none}.access-form-side{padding:50px 25px 75px;min-height:calc(100dvh - 100px)}.access-brand{font-size:18px}.access-legal{bottom:20px}.portal-top{padding:20px}.admin-main{padding:28px 17px}.admin-head{align-items:flex-start}.admin-head h1{font-size:25px}.admin-invite{display:block;padding:20px}.admin-invite button{width:100%;margin-top:16px}.admin-count{font-size:9px;white-space:nowrap}.portal-account{margin-left:0}.portal-account-trigger{padding:7px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Shared file-action modal and administration archives. */
.recording-dialog{box-sizing:border-box;width:min(530px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid var(--line,#dce5eb);border-radius:18px;background:var(--surf,#fff);color:var(--txt,#192e3d);box-shadow:0 24px 100px #10273740;font:14px/1.6 Manrope,sans-serif}.recording-dialog::backdrop{background:#122c3e88;backdrop-filter:blur(4px)}.recording-dialog h2{font-size:23px;line-height:1.3;margin:12px 0}.dialog-eyebrow{font:10px 'JetBrains Mono',monospace;letter-spacing:.12em;color:#008c8f}.dialog-filename{font-weight:700;overflow-wrap:anywhere;background:var(--surf2,#f1f6f7);padding:12px;border-radius:8px}.recording-dialog label{display:block}.recording-dialog input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #acbcc8;border-radius:8px;margin-top:8px;background:var(--surf,#fff);color:inherit}.recording-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:24px}.recording-dialog button,.archive-actions button,.archive-toolbar button{padding:10px 14px;border:1px solid #cbd8e0;border-radius:8px;background:var(--surf,#fff);font:inherit;color:inherit;cursor:pointer}.recording-dialog .primary{background:#008c8f;color:white;border-color:#008c8f}.recording-dialog .danger,.archive-actions .danger{color:#b53939;border-color:#dca9a9}.recording-dialog button:disabled{opacity:.4;cursor:not-allowed}.rec-archive{border:0;background:transparent;color:var(--mut);padding:12px;cursor:pointer;font:12px var(--sans)}.rec-archive:hover{color:var(--accent-d);background:var(--surf2)}
.admin-sections{display:flex;gap:24px;margin:24px 0;padding-bottom:16px;border-bottom:1px solid #dce5eb}.admin-sections a{color:#007d80}.admin-archives{margin-top:64px;scroll-margin-top:20px}.admin-archives h2{font-size:28px;margin-bottom:12px}.admin-archives>p{color:#647789;max-width:800px;line-height:1.7}.archive-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}.archive-toolbar input{margin-left:auto;width:280px;max-width:100%;padding:12px;border:1px solid #dce5eb;border-radius:8px}.archive-row{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px;background:white;border:1px solid #dce5eb;border-radius:12px;margin:10px 0}.archive-info{min-width:0;overflow-wrap:anywhere}.archive-info>*{display:block}.archive-info span{font-size:12px;color:#008c8f;margin:8px 0}.archive-info small{color:#647789}.archive-actions{display:flex;flex-shrink:0;gap:8px}.archive-empty{padding:30px;background:white;border:1px dashed #cbd8e0;border-radius:12px;color:#647789}#archiveMessage{color:#007d80;overflow-wrap:anywhere}
@media(max-width:700px){.archive-row{align-items:stretch;flex-direction:column}.archive-toolbar input{width:100%;margin:0}.archive-actions{flex-wrap:wrap}.recording-dialog{padding:20px}}
