*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--surface:#1a1d27;--surface-2:#222636;--border:#ffffff14;--border-focus:#6366f199;--ink:#f1f3f9;--text:var(--ink);--muted:#8b90a7;--accent:#6366f1;--accent-h:#4f52d4;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--radius:8px;--radius-lg:12px;--sidebar-w:240px;--header-h:56px;--font:"Inter", system-ui, -apple-system, sans-serif}html{font-size:14px}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}h2{font-size:1.2rem;font-weight:600}h3{font-size:1rem;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);color:var(--ink);letter-spacing:-.02em;align-items:center;gap:.6rem;padding:1.25rem 1rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.sidebar-logo span{color:var(--accent)}.sidebar-section{padding:1rem 0 .25rem}.sidebar-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:0 1rem .4rem;font-size:.68rem;font-weight:700}.nav-item{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:.65rem;width:100%;padding:.55rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.nav-item:hover{color:var(--ink);background:#ffffff0a}.nav-item.active{color:var(--ink);border-right:2px solid var(--accent);background:#6366f126}.nav-item svg{opacity:.8;flex-shrink:0}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:.75rem}.main-area{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;position:sticky;top:0}.topbar-title{font-size:1rem;font-weight:600}.topbar-actions{align-items:center;gap:.75rem;display:flex}.page-content{flex:1;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.4rem;padding:1.25rem;display:flex}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.stat-value{letter-spacing:-.03em;font-size:1.8rem;font-weight:700}.stat-sub{color:var(--muted);font-size:.8rem}.grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-h)}.btn-ghost{color:var(--muted);border-color:var(--border);background:0 0}.btn-ghost:hover{color:var(--ink);background:#ffffff0d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.85}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.btn-lg{padding:.65rem 1.4rem;font-size:1rem}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-label{color:var(--muted);font-size:.8rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--surface-2,#222636);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius);font-size:.875rem;font-family:var(--font);width:100%;padding:.5rem .75rem;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #6366f11f}.form-input::placeholder{color:var(--muted);opacity:.6}.form-error{color:var(--danger);margin-top:.2rem;font-size:.78rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}thead th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .9rem;font-size:.72rem;font-weight:700}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem .9rem}tbody tr:hover td{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-success{color:#4ade80;background:#22c55e26}.badge-warning{color:#fbbf24;background:#f59e0b26}.badge-danger{color:#f87171;background:#ef444426}.badge-info{color:#818cf8;background:#6366f126}.badge-muted{color:var(--muted);background:#ffffff0f}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.auth-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:2.5rem}.auth-logo{letter-spacing:-.03em;justify-content:center;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.4rem;font-weight:800;display:flex}.divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.w-full{width:100%}.document-intro,.document-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.document-intro p,.document-heading p{margin-top:.35rem;font-size:.85rem}.document-upload{margin-bottom:1.5rem}.document-fieldset{border:0;min-width:0}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.document-toolbar{flex-wrap:wrap;gap:.65rem;margin:1.25rem 0;display:flex}.document-toolbar .form-input{flex:1;min-width:180px}.document-toolbar .form-select{width:auto;max-width:100%}.document-count{border-bottom:1px solid var(--border);margin:0;padding:1rem 1.25rem;font-size:.85rem}.document-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.document-empty{text-align:center;flex-direction:column;align-items:center;gap:.8rem;padding:3rem 1.25rem;display:flex}.document-empty svg{color:var(--muted)}.document-note{white-space:normal;overflow-wrap:anywhere;max-width:300px;margin-top:.25rem;font-size:.8rem}.document-progress{margin-bottom:1rem}.document-progress progress{width:70%;accent-color:var(--accent)}.document-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);width:min(440px,100% - 2rem);margin:auto;padding:1.5rem}.document-dialog::backdrop{background:#000000a6}.document-dialog p{overflow-wrap:anywhere;margin:1rem 0 1.5rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.document-grid{grid-template-columns:1fr}.document-intro{flex-direction:column;align-items:flex-start}.document-toolbar .form-select{flex:1}}.mobile-menu-button,.mobile-menu-close,.sidebar-backdrop{display:none}.main-area,.page-content{min-width:0}.skip-link{z-index:1000;background:var(--accent);color:#fff;border-radius:var(--radius);padding:.7rem 1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=800px){.sidebar{visibility:hidden;z-index:300;width:min(280px,85vw);transition:transform .18s,visibility .18s;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:translate(0)}.sidebar-backdrop{z-index:250;background:#0009;border:0;display:block;position:fixed;inset:0}.mobile-menu-button{flex-shrink:0;display:inline-flex}.mobile-menu-close{align-self:flex-end;margin:.5rem .5rem 0;display:inline-flex}.main-area{width:100%;margin-left:0}.topbar{height:auto;min-height:var(--header-h);flex-wrap:wrap;gap:.65rem;padding:.65rem 1rem}.topbar-title{overflow-wrap:anywhere;flex:1;min-width:0}.topbar-actions{flex-wrap:wrap;max-width:100%}.topbar-actions>div{flex-wrap:wrap}.page-content{padding:1rem}.form-input,.form-select{font-size:16px}.btn{min-height:40px}.document-toolbar>.btn{flex-shrink:0}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.text-right{text-align:right}.text-center{text-align:center}.topbar-end{align-items:center;gap:.75rem;margin-left:auto;display:flex}.notif{position:relative}.notif-button{padding:.45rem;position:relative}.notif-count{background:var(--danger);color:#fff;text-align:center;border-radius:99px;min-width:17px;height:17px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:17px;position:absolute;top:1px;right:0}.notif-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:60;width:360px;max-width:calc(100vw - 1.5rem);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 40px #00000073}.notif-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.notif-link{color:#818cf8;font:inherit;cursor:pointer;background:0 0;border:0;font-size:.78rem}.notif-link:hover{text-decoration:underline}.notif-list{max-height:420px;overflow-y:auto}.notif-item{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:.7rem;padding:.75rem 1rem;display:flex}.notif-item:hover,.notif-item:focus-visible{background:var(--surface-2)}.notif-item:last-child{border-bottom:0}.notif-item.is-unread{background:#6366f10f}.notif-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.notif-title{font-size:.84rem;font-weight:600}.notif-item:not(.is-unread) .notif-title{color:var(--muted);font-weight:500}.notif-body{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.notif-time{color:var(--muted);white-space:nowrap;font-size:.72rem}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-empty{color:var(--muted);text-align:center;padding:1.5rem 1rem;font-size:.84rem}.notif-all{text-align:center;border-top:1px solid var(--border);color:#818cf8;padding:.7rem 1rem;font-size:.8rem;display:block}.notif-row{padding:.9rem 1.1rem}.notif-row .notif-time{margin-left:.5rem}.notif-prefs{border-collapse:collapse;width:100%}.notif-prefs th,.notif-prefs td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.8rem 1rem}.notif-prefs tr:last-child td{border-bottom:0}.notif-prefs th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:600}.notif-prefs th:not(:first-child),.notif-prefs-cell{text-align:center;width:90px}.notif-prefs-head{align-items:center;gap:.3rem;display:inline-flex}.notif-prefs th .notif-link{text-transform:none;letter-spacing:0;margin:.2rem auto 0;font-size:.7rem;display:block}.notif-prefs-cell input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.notif-foot{border-top:1px solid var(--border);display:flex}.notif-foot .notif-all{border-top:0;flex:1}.notif-foot .notif-all+.notif-all{border-left:1px solid var(--border)}.notif-push{border:0;border-bottom:1px solid var(--border);color:#a5b4fc;width:100%;font:inherit;text-align:left;cursor:pointer;background:#6366f11a;padding:.65rem 1rem;font-size:.78rem;display:block}.notif-push:hover{background:#6366f12e}.setup-shell{background:radial-gradient(1200px 600px at 50% -10%, #6366f129, transparent 60%), var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:4vh 1rem 3rem;display:flex}.setup-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:680px;padding:2rem 2.25rem 1.5rem;animation:.35s ease-out setup-in;box-shadow:0 30px 80px #00000059}@keyframes setup-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.setup-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.setup-host{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:99px;max-width:55%;padding:.25rem .6rem;font-size:.75rem;overflow:hidden}.setup-title{letter-spacing:-.01em;margin-bottom:.4rem;font-size:1.45rem;line-height:1.3}.setup-sub{color:var(--muted);margin-bottom:1.5rem;font-size:.9rem}.setup-steps{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem;list-style:none;display:grid}.setup-step{border:1px solid var(--border);color:var(--muted);border-radius:10px;align-items:center;gap:.65rem;padding:.7rem .85rem;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.setup-step-n{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.68rem;font-weight:600;display:block}.setup-step-dot{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;transition:all .2s;display:grid}.setup-step.is-current{color:var(--ink);background:#6366f114;border-color:#6366f18c}.setup-step.is-current .setup-step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.setup-step.is-done{color:var(--ink)}.setup-step.is-done .setup-step-dot{background:var(--success);border-color:var(--success);color:#fff}.setup-body{animation:.25s ease-out setup-in}.setup-field{margin-bottom:1.1rem}.setup-label{color:var(--ink);align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:flex}.setup-req{color:var(--danger)}.setup-optional{color:var(--muted);margin-left:auto;font-size:.7rem;font-weight:500}.setup-hint{color:var(--muted);margin-top:.35rem;font-size:.76rem;line-height:1.45}.setup-error{color:#f87171;margin-top:.35rem;font-size:.78rem}.setup-field .form-input,.setup-field .form-select{width:100%}.setup-field textarea.form-input{resize:vertical;min-height:64px}.setup-grid{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.setup-units{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.setup-countries{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.setup-country{text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.85rem .95rem;transition:border-color .15s,background .15s,transform .15s;display:flex;position:relative}.setup-country:hover{border-color:#6366f173;transform:translateY(-1px)}.setup-country:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.setup-country.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:#6366f11f}.setup-country-code{letter-spacing:.08em;color:#a5b4fc;background:#6366f129;border-radius:5px;margin-bottom:.2rem;padding:.1rem .45rem;font-size:.68rem;font-weight:800}.setup-country-name{font-size:.92rem;font-weight:700}.setup-country-hint{color:var(--muted);font-size:.74rem}.setup-country-check{color:var(--accent);position:absolute;top:.7rem;right:.7rem}.setup-reveal{margin-top:.25rem;animation:.25s ease-out setup-in}.setup-preview{color:var(--muted);background:#22c55e12;border:1px solid #22c55e33;border-radius:8px;align-items:flex-start;gap:.45rem;margin:.25rem 0 0;padding:.6rem .8rem;font-size:.8rem;display:flex}.setup-preview svg{color:var(--success);flex-shrink:0;margin-top:2px}.setup-preview strong{color:var(--ink)}.setup-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.setup-btn{justify-content:center;gap:.45rem;min-width:150px;padding:.65rem 1.2rem;font-size:.92rem}.setup-btn:disabled{opacity:.55;cursor:not-allowed}.setup-spin{animation:1s linear infinite setup-rotate}@keyframes setup-rotate{to{transform:rotate(360deg)}}.setup-foot{color:var(--muted);text-align:center;margin-top:1.25rem;font-size:.76rem}.setup-link{color:#a5b4fc;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.setup-link:hover{text-decoration:underline}.setup-banner{color:var(--ink);background:#f59e0b14;border:1px solid #f59e0b40;border-radius:8px;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.7rem 1rem;font-size:.84rem;display:flex}@media (width<=640px){.setup-card{border-radius:12px;padding:1.4rem 1.1rem 1.1rem}.setup-title{font-size:1.2rem}.setup-grid,.setup-countries{grid-template-columns:1fr}.setup-steps{gap:.5rem}.setup-step{padding:.55rem .6rem;font-size:.8rem}.setup-host{display:none}.setup-actions{flex-direction:column-reverse;align-items:stretch}.setup-actions>span{display:none}.setup-btn{width:100%}}.demo-login{color:var(--muted);background:#6366f114;border:1px solid #6366f147;border-radius:10px;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.82rem}.demo-login-title{color:var(--ink);margin-bottom:.25rem;font-size:.86rem;font-weight:700}.demo-login p{margin:0 0 .55rem;line-height:1.5}.demo-login strong{color:var(--ink)}.demo-login-options{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.demo-login-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;padding:.3rem .75rem;font-size:.78rem}.demo-login-chip:hover{border-color:#6366f180}.demo-login-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.demo-login-note{opacity:.85;font-size:.74rem;margin:0!important}
