@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0d;--surface:#1a1a17;--surface-2:#232320;--surface-3:#2d2d29;--border:#3a3a34;--accent:#ff8c42;--accent-dim:#c45e1a;--text:#f0ede8;--text-muted:#8a8a7a;--text-faint:#555548;--danger:#ff6b5a;--success:#60d4a0;--radius:8px;--sheet-w:480px}html,body,#root{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border)}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) var(--bg)}h1,h2,h3,h4{color:var(--text);font-family:DM Serif Display,serif;font-weight:400}code,kbd,samp,pre{font-family:DM Mono,monospace}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}button{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;line-height:1;transition:opacity .18s,background .18s,border-color .18s;display:inline-flex}button:focus-visible{outline:2px solid var(--accent-dim);outline-offset:2px}.btn-primary{background:var(--accent);color:#0f0f0d;border-color:#0000;font-weight:600}.btn-primary:hover{opacity:.82}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--surface-3)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);border-color:var(--border)}.btn-danger-ghost{color:var(--danger);background:0 0;border-color:#0000}.btn-danger-ghost:hover{background:#ff6b5a14;border-color:#ff6b5a40}.btn-danger{color:var(--danger);background:0 0;border-color:#ff6b5a4d}.btn-danger:hover{background:#ff6b5a14}.badge{border-radius:4px;align-items:center;padding:2px 7px;font-family:DM Mono,monospace;font-size:10px;display:inline-flex}.badge-monthly{color:var(--accent);background:#ff8c4226}.badge-annual{color:var(--success);background:#60d4a01f}.badge-neutral{background:var(--surface-3);color:var(--text-muted)}.badge-contract{color:var(--accent-dim);background:#c45e1a1a}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;transition:background .18s}.card:hover{background:var(--surface-2)}.input,input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);appearance:none;outline:none;width:100%;padding:9px 11px;font-family:DM Sans,sans-serif;font-size:13px;transition:border-color .18s}.input:focus,input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,select:focus,textarea:focus{border-color:var(--accent-dim)}.input[readonly],input[readonly]{opacity:.5;cursor:not-allowed}label.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:5px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;display:block}.field-hint{color:var(--text-faint);margin-top:4px;font-size:11px}hr.section-divider{border:none;border-top:1px solid var(--border);margin:8px 0}.section-divider-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:12px;font-size:11px;font-weight:700}.toast-stack{z-index:9999;flex-direction:column;gap:7px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:10px;min-width:240px;padding:12px 16px;font-size:13px;animation:.22s forwards toastIn;display:flex;box-shadow:0 4px 20px #0006}.toast-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.toast-dot--success{background:var(--success)}.toast-dot--danger{background:var(--danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:380px;padding:26px}.modal h2{margin-bottom:10px;font-family:DM Serif Display,serif;font-size:20px}.modal p{color:var(--text-muted);margin-bottom:24px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.sheet-overlay{z-index:500;background:#00000080;position:fixed;inset:0}.sheet{width:var(--sheet-w);background:var(--surface);border-left:1px solid var(--border);z-index:501;flex-direction:column;animation:.28s cubic-bezier(.4,0,.2,1) forwards sheetIn;display:flex;position:fixed;top:0;bottom:0;right:0}.sheet.closing{animation:.28s cubic-bezier(.4,0,.2,1) forwards sheetOut}@keyframes sheetIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheetOut{0%{transform:translate(0)}to{transform:translate(100%)}}.sheet-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.sheet-header h2{font-family:DM Serif Display,serif;font-size:20px}.sheet-header p{color:var(--text-muted);margin-top:2px;font-size:12px}.sheet-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.sheet-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:64px 24px;display:flex}.empty-state-icon{opacity:.2;margin-bottom:4px;font-size:40px}.empty-state h3{color:var(--text-muted);font-family:DM Serif Display,serif;font-size:18px}.empty-state p{color:var(--text-faint);font-size:13px}
