:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html{scrollbar-gutter:stable both-edges}html,body,#root{margin:0;padding:0}body{overflow-y:auto}.page-container,.app-container{max-width:1280px;width:auto;margin-inline:auto;padding-inline:clamp(12px,4vw,24px)}.page-slab{background:#fff;border-radius:0;box-shadow:0 2px 6px #0000000f;padding:16px 24px;margin-top:12px}:root{--edge-pad: 24px}.page-slab.edge-match{margin-inline:calc(50% - 50vw);padding-inline:var(--edge-pad);border-radius:0;background:#fff;box-shadow:0 2px 6px #0000000f}.centered-text,.centered-heading{text-align:center}.empty-state{text-align:center;color:#333;padding:24px 0;font-size:16px}.table-frame{position:relative;border-radius:10px;overflow:hidden;background:#fff;border:0}.table-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #d0d0d0;pointer-events:none}.table-scroll{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable both-edges;padding-bottom:6px;background:#fff}.table-scroll>table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}th,td{border-bottom:1px solid #ddd;border-right:1px solid #ddd;padding:8px 10px;text-align:left;white-space:nowrap;background:#fff}.table-scroll>table thead th{border-top:1px solid #ddd}.table-scroll>table thead th:first-child,.table-scroll>table tbody td:first-child{border-left:1px solid #ddd;border-top-left-radius:0}.table-scroll>table thead th:last-child,.table-scroll>table tbody td:last-child{border-right:1px solid #ddd;border-top-right-radius:0}.table-frame table th:first-child,.table-frame table td:first-child{border-left:none}.table-frame table thead tr:first-child th{border-top:none}.table-frame table tbody tr:last-child td{border-bottom:none}.table-frame table th:last-child,.table-frame table td:last-child{border-right:none}thead th{background:#f2f2f2;color:#333;position:sticky;top:0;z-index:2;background-clip:padding-box}.table-frame thead th:first-child{border-top-left-radius:0}.table-frame thead th:last-child{border-top-right-radius:0}.table-frame tbody tr:last-child td:first-child{border-bottom-left-radius:0}.table-frame tbody tr:last-child td:last-child{border-bottom-right-radius:0}tbody tr:hover,tbody tr:hover td{background:#f9f9f9}.table-scroll::-webkit-scrollbar{height:12px}.table-scroll::-webkit-scrollbar-thumb{background:#c7c7c7;border-radius:8px}.table-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:8px}.table-scroll{padding-left:1px;padding-right:1px;scrollbar-gutter:auto}.table-scroll>div{display:inline-block;min-width:100%}.table-scroll>table,.table-scroll>div>table{display:table;width:auto;min-width:100%}.no-sticky-header thead th{position:static!important;top:auto!important}.centered-table th,.centered-table td{text-align:center}.nowrap{white-space:nowrap}.actions-cell{min-width:160px}@media (max-width: 992px){th,td{padding:6px 8px}}@media (max-width: 768px){th,td{padding:6px;font-size:14px}.page-slab{padding:12px 16px}}@media (max-width: 480px){th,td{padding:4px;font-size:13px}.page-slab{padding:8px 12px;margin-top:8px}}.navbar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px}.navbar-actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 768px){.navbar{justify-content:flex-start}.navbar-actions{flex:1 1 100%;justify-content:space-between}}:root{--bg: #ffffff;--panel: #ffffff;--text: #222;--muted: #666;--border: #d8dde3;--focus: #2563eb;--focus-ring: 0 0 0 3px rgba(37, 99, 235, .25);--error: #d32f2f;--success: #15803d;--radius: 10px;--radius-sm: 8px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 18px;--space-5: 24px;--space-6: 32px;--field-h: 42px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji"}@media (prefers-color-scheme: dark){:root{--bg: #0b0f14;--panel: #10151c;--text: #e8eef6;--muted: #a7b1be;--border: #243040;--focus: #60a5fa;--focus-ring: 0 0 0 3px rgba(96, 165, 250, .25);--error: #ef5350;--success: #34d399;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 8px 18px rgba(0,0,0,.35)}}.form-card{--space-5: 14px 18px;background:var(--panel);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-block:var(--space-4)}.form-title{margin:0 0 var(--space-3);font:600 18px/1.3 var(--font);color:var(--text)}.form-help{margin:-6px 0 var(--space-4);color:var(--muted);font:400 13px/1.5 var(--font)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-3) var(--space-3)}.form-col-12{grid-column:span 12}.form-col-6{grid-column:span 6}.form-col-4{grid-column:span 4}.form-col-3{grid-column:span 3}@media (max-width: 992px){.form-col-6,.form-col-4,.form-col-3{grid-column:span 12}}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font:600 13px/1.3 var(--font);color:var(--text)}.form-input,.form-select,.form-textarea{height:var(--field-h);padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:400 14px/1.2 var(--font);outline:none;transition:box-shadow .15s ease,border-color .15s ease,background-color .2s ease}.form-textarea{min-height:96px;resize:vertical;line-height:1.4}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:color-mix(in oklab,var(--border),var(--focus) 35%)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--focus);box-shadow:var(--focus-ring)}.form-input[readonly],.form-select[disabled],.form-input:disabled,.form-textarea:disabled{background:color-mix(in oklab,var(--bg),#999 5%);cursor:not-allowed}.form-error{color:var(--error);background:color-mix(in oklab,var(--error),white 90%);border:1px solid color-mix(in oklab,var(--error),white 65%);padding:10px 12px;border-radius:var(--radius-sm);font:500 13px/1.4 var(--font)}.form-success{color:var(--success);background:color-mix(in oklab,var(--success),white 90%);border:1px solid color-mix(in oklab,var(--success),white 65%);padding:10px 12px;border-radius:var(--radius-sm);font:500 13px/1.4 var(--font)}.form-input:invalid:not(:placeholder-shown){border-color:var(--error)}.field-inline{display:flex;gap:var(--space-3)}.field-inline>*{flex:1 1 0}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:8px;padding:10px 14px;font:600 14px/1 var(--font);cursor:pointer;transition:transform .05s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--focus);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{filter:brightness(1.03)}.btn-secondary{background:color-mix(in oklab,var(--focus),white 85%);color:var(--focus);border-color:var(--focus)}.btn-danger{background:#d32f2f;color:#fff}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--border)}.form-hint{color:var(--muted);font-size:12px}.date-like{font-variant-numeric:tabular-nums;letter-spacing:.2px}.date-like::placeholder{color:var(--muted)}input[type=date].form-input{height:var(--field-h);padding-inline:10px 12px}.form-sticky-actions{position:sticky;bottom:0;margin-top:var(--space-5);background:color-mix(in oklab,var(--panel),white 8%);border-top:1px solid var(--border);padding:var(--space-3);display:flex;gap:var(--space-3);justify-content:flex-end;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.req:after{content:" *";color:var(--error)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:transparent}.auth-root{min-height:100dvh;width:100%;position:relative;color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.auth-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 10% -20%,#e0f2fe 10%,transparent 40%),radial-gradient(1000px 500px at 110% 120%,#ecfdf5 10%,transparent 40%),linear-gradient(180deg,#f8fafc,#f1f5f9)}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(to right,rgba(15,23,42,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.05) 1px,transparent 1px);background-size:24px 24px}.bg-shape{position:fixed;width:560px;height:560px;filter:blur(40px);opacity:.28;border-radius:50%;animation:floaty 18s ease-in-out infinite}.bg-shape.s1{left:15%;top:10%;background:#38bdf8;animation-delay:0s;transform:translate(-50%,-50%)}.bg-shape.s2{right:-5%;bottom:-10%;background:#34d399;animation-delay:6s;transform:translate(50%,50%)}@keyframes floaty{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-48%,-46%) scale(1.05)}}.auth-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr min(520px,42vw);gap:clamp(24px,5vw,72px);align-items:center;min-height:100dvh;padding:clamp(16px,3vw,32px);width:100%;max-width:1280px;margin-inline:auto}@media (max-width: 960px){.auth-grid{grid-template-columns:1fr;gap:28px;max-width:720px}}.auth-brand{padding:24px 8px}.brand-logo{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#fff;padding:8px;box-shadow:0 6px 20px #00000014}.auth-brand h1{margin:16px 0 6px;font-size:clamp(34px,4vw,44px);line-height:1.1}.brand-tag{color:#475569;font-size:16px;margin-bottom:16px}.brand-bullets{list-style:none;padding:0;margin:0;color:#334155}.brand-bullets li{margin:8px 0}.auth-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.25);border-radius:20px;padding:clamp(22px,2.5vw,28px);box-shadow:0 20px 40px #0f172a14;width:100%;max-width:520px;justify-self:stretch}.auth-card h2{margin:0 0 16px;font-size:28px}.auth-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{font-size:14px;color:#334155}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{padding:12px 14px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;font-size:15px}.auth-form input:focus{border-color:#38bdf8;box-shadow:0 0 0 4px #38bdf826}.pw-wrap{position:relative;display:flex;align-items:center}.pw-wrap input{width:100%;padding-right:76px}.pw-toggle{position:absolute;right:6px;padding:8px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer;font-size:12px;color:#334155}.pw-toggle:hover{background:#eef2f7}.row{display:flex;align-items:center;justify-content:space-between;margin:4px 0}.remember{display:flex;align-items:center;gap:8px}.muted{color:#64748b;text-decoration:none}.muted:hover{text-decoration:underline}.btn-primary{display:inline-block;width:100%;padding:12px 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;font-weight:700;letter-spacing:.3px;cursor:pointer;box-shadow:0 8px 24px #2563eb47;transition:transform .05s ease,box-shadow .2s ease,filter .2s ease}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.fineprint{text-align:center;color:#64748b;font-size:12px;margin-top:10px}
