@font-face{font-family:Inter;src:url('/portal-font-inter-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;src:url('/portal-font-inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Prata;src:url('/portal-font-prata.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#050505;--surface:#131313;--surface-raised:#1c1c1c;--line:#30302c;--cream:#f6eed0;--text:#f4f3ed;--muted:#a5a49d;--danger:#f1a4a4;--green:#bde8c6}
*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:320px}
body{min-height:100vh;margin:0;background:var(--bg);color:var(--text);font:400 14px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 84% -12%,rgba(246,238,208,.085),transparent 44%)}
header{height:88px;padding:0 28px;border-bottom:1px solid #282824;background:rgba(5,5,5,.94);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;color:var(--cream);text-decoration:none}.brand img{display:block;object-fit:contain}
main{width:min(100%,1180px);margin:0 auto;padding:64px 32px 100px}.home{padding-top:clamp(86px,12vh,156px)}
.eyebrow{margin:0 0 16px;color:var(--cream);font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase}
h1,h2,p{margin-top:0}h1{max-width:850px;margin-bottom:16px;color:var(--cream);font:400 clamp(36px,5vw,64px)/1.16 Prata,Georgia,serif;letter-spacing:-.045em}
h2{color:var(--cream);font-size:17px;font-weight:650;letter-spacing:-.025em}p{line-height:1.7}.muted,.tile p{color:var(--muted)}.home #intro{max-width:580px;font-size:15px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:58px}
.tile{min-height:266px;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;padding:30px;color:inherit;text-decoration:none;background:linear-gradient(145deg,#1a1a18,#101010);transition:border-color .18s,transform .18s,background .18s}
.tile:hover{border-color:#8b846e;transform:translateY(-3px);background:linear-gradient(145deg,#25241f,#131313)}
.tile-icon{display:grid;place-items:center;align-self:flex-start;width:38px;height:38px;margin-bottom:26px;border:1px solid #565244;border-radius:50%;color:var(--cream);font-size:20px;font-weight:400;line-height:1}
.tile-brand{display:block;align-self:flex-start;width:105px;height:38px;margin-bottom:26px;object-fit:contain;object-position:left center}
.brand img,.tile-brand-studiovyz{width:68px;height:68px}
/* Offset transparent SVG padding while keeping the card title aligned. */
.tile-brand-studiovyz{object-position:center;margin-top:-30px;transform:translateY(calc(18% + 5px))}
.tile h2{margin:0 0 6px;font:600 25px/1.3 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.tile p{max-width:270px;margin:0;font-size:13px}.tile-open{margin-top:auto;padding-top:24px;color:var(--cream);font-size:12px;font-weight:650;letter-spacing:.02em}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border:1px solid #57564f;border-radius:8px;background:transparent;color:var(--cream);font:600 11px/1.35 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
button:hover,.button:hover{background:#292820;border-color:var(--cream)}button:disabled{opacity:.48;cursor:wait}.primary{background:var(--cream);color:#111;border-color:var(--cream)}.primary:hover{background:#fff7da;color:#000}.danger{color:var(--danger);border-color:#734242}.danger:hover{background:#3b2020;border-color:var(--danger)}#signInLink{margin-top:24px;min-height:46px;padding:11px 24px}
.admin-page h1{font-size:clamp(34px,4vw,52px)}.admin-page main>.muted{max-width:630px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:52px 0 18px}.toolbar p{margin:0;font-size:12px}
.panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;margin-bottom:22px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:var(--cream);background:#1c1c1a;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}th,td{padding:17px 20px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}tbody tr:hover{background:#191918}
.person{display:block;color:var(--text);font-weight:650}.email{display:block;margin-top:3px;color:var(--muted);font-size:11px}.pill{display:inline-block;padding:4px 9px;border:1px solid #57564f;border-radius:999px;color:#d5d2c3;font-size:10px}.pill.active{color:var(--green);border-color:#4b7054;background:#18301e}.pill.disabled{color:var(--danger);border-color:#714646;background:#321c1c}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-actions button{min-height:32px;padding:6px 9px}
.history{padding:26px}.history h2{margin-bottom:8px;font:600 22px/1.3 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.history ul{list-style:none;margin:14px 0 0;padding:0}.history li{padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.history strong{color:var(--cream)}#adminStatus,#portalError,#formError{color:var(--danger)}.status-message{min-height:22px;margin:8px 0}
#adminStatus.preview-note{color:var(--muted)}
dialog{width:min(460px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid #58554a;border-radius:16px;padding:30px;background:#171715;color:var(--text);box-shadow:0 24px 80px #000b}dialog::backdrop{background:#000b}form{display:grid;gap:18px}label{display:grid;gap:7px;font-size:11px;font-weight:600;color:var(--cream)}input,select,textarea{width:100%;border:1px solid #55544f;border-radius:8px;background:#232320;padding:11px 12px;font:inherit;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:var(--cream);outline:none}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.dialog-title{display:flex;justify-content:space-between;align-items:center}.dialog-title h2{margin:0;font:600 23px/1.3 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.dialog-title button{min-width:34px;padding:6px 9px;font-size:20px}:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.studio-confirm{position:fixed;inset:auto auto 20px 50%;width:min(620px,calc(100vw - 28px));max-width:none;margin:0;transform:translateX(-50%);display:none;align-items:center;gap:20px;padding:17px 18px;border:1px solid #58554a;border-radius:12px;background:#1b1b19;color:var(--text);box-shadow:0 18px 55px #000a}.studio-confirm[open]{display:flex}.studio-confirm::backdrop{background:#0004}.studio-confirm-copy{min-width:0;flex:1}.studio-confirm-copy strong{display:block;color:var(--cream);font-size:13px}.studio-confirm-copy p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.studio-confirm-actions{flex:0 0 auto;display:flex;gap:7px}.studio-confirm-actions button{min-height:34px}.studio-confirm-actions .danger{border-color:#894a4a;background:#4b2424;color:#ffd6d6}.studio-confirm-actions .danger:hover{border-color:var(--danger);background:#632e2e}
@media(max-width:700px){header{height:74px;padding:0 22px}.brand img,.tile-brand-studiovyz{width:58px;height:58px}.tile-brand-studiovyz{margin-top:-20px}main{padding:42px 22px 80px}.home{padding-top:72px}.tiles{grid-template-columns:1fr;margin-top:42px}.tile{min-height:230px;padding:26px}.toolbar{align-items:flex-start;flex-wrap:wrap;margin-top:38px}.row-actions{flex-wrap:wrap}th,td{padding:13px}}

.admin-page .toolbar>.row-actions button{width:128px;height:38px;min-height:38px;padding:8px 14px;align-items:center;justify-content:center;gap:7px;line-height:15px}.admin-page .toolbar>.row-actions button svg{display:block;width:15px;height:15px;flex:0 0 15px}.admin-page .toolbar>.row-actions button span{display:block;line-height:15px}
#emailDialog{width:min(640px,calc(100% - 32px))}textarea{resize:vertical;min-height:120px}#emailForm p{margin-bottom:0}#emailError{color:var(--danger)}#emailForm .email-variables{font-size:10px;line-height:1.5;font-weight:400;color:var(--muted);overflow-wrap:anywhere}

/* Shared AI Hub top bar for Home, Administration and Accounting. */
.hub-header-brand { display:flex; align-items:center; gap:16px; }
.hub-header-brand > .hub-home-button.button { width:44px; min-width:44px; height:44px; min-height:44px; flex:0 0 44px; padding:9px; border-color:transparent; align-self:center; margin-inline-start:-10px; margin-inline-end:10px; }
.hub-header-brand > .hub-home-button.button svg { width:24px; height:24px; display:block; }
.hub-header-brand > .hub-home-button.button:hover { background:var(--surface-raised); border-color:transparent; }
