:root{--sage-50: #F2F5F1;--sage-100: #E3EADF;--sage-200: #C6D4BE;--sage-300: #9EB492;--sage-400: #749068;--sage-500: #4F7345;--sage-600: #3D5B36;--sage-700: #2E4528;--sage-800: #1F2F1B;--sage-900: #121C10;--amber-50: #FDF6E7;--amber-100: #F9E8BF;--amber-200: #F3D27D;--amber-300: #ECB744;--amber-400: #DD9E1F;--amber-500: #B47B10;--amber-600: #7F5607;--coral-100: #FCE3DB;--coral-200: #F9B9A5;--coral-300: #F08A6D;--coral-400: #E15F3D;--coral-500: #B84221;--blue-100: #DBE7F4;--blue-200: #B0CAE8;--blue-300: #6FA0D1;--blue-400: #3F77B3;--blue-500: #2B5684;--paper: #FAF7F2;--paper-2: #F3EFE6;--surface: #FFFFFF;--ink: #1A1E17;--ink-2: #3E443A;--ink-3: #6F7569;--ink-4: #A6AA9F;--line: #E4E1D8;--line-2: #EFECE4;--success: #4F7345;--warning: #DD9E1F;--danger: #E15F3D;--info: #3F77B3;--font-display: var(--font-instrument-serif), "Times New Roman", serif;--font-ui: var(--font-geist-sans), -apple-system, system-ui, sans-serif;--font-mono: var(--font-geist-mono), "SF Mono", monospace;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-2xl: 36px;--shadow-sm: 0 1px 2px rgba(26, 30, 23, .04), 0 2px 6px rgba(26, 30, 23, .04);--shadow-md: 0 2px 4px rgba(26, 30, 23, .05), 0 8px 20px rgba(26, 30, 23, .06);--shadow-lg: 0 4px 8px rgba(26, 30, 23, .06), 0 16px 40px rgba(26, 30, 23, .08);--shadow-card: 0 1px 0 rgba(26, 30, 23, .03), 0 2px 8px rgba(26, 30, 23, .05);--shadow-chunky: 0 3px 0 var(--sage-700);--shadow-chunky-amber: 0 3px 0 var(--amber-500);--shadow-chunky-coral: 0 3px 0 var(--coral-500);--primary-50: var(--sage-50);--primary-100: var(--sage-100);--primary-200: var(--sage-200);--primary-300: var(--sage-300);--primary-400: var(--sage-400);--primary-500: var(--sage-500);--primary-600: var(--sage-600);--primary-700: var(--sage-700)}html,body{height:auto}body{margin:0;font-family:var(--font-ui);font-feature-settings:"ss01","cv11";color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::-webkit-scrollbar{width:0;height:0}.font-display{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}.font-ui{font-family:var(--font-ui)}.font-mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.grain{position:relative}.grain:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;mix-blend-mode:multiply;opacity:.6}@keyframes breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.01)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes pop-in{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08) rotate(2deg)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes m-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015)}}@keyframes m-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes m-wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes m-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ring-ping{0%{transform:scale(.8);opacity:.7}to{transform:scale(1.5);opacity:0}}@keyframes typing-pulse{0%,to{transform:translateY(0) scale(1);opacity:.4}50%{transform:translateY(-3px) scale(1.15);opacity:1}}@keyframes vds-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes vds-spin{to{transform:rotate(360deg)}}@keyframes vds-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}:root{--shell-bg: var(--paper);--sidebar-bg: var(--paper-2);--content-bg: var(--surface)}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .18s,box-shadow .18s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #4f734526}input[disabled],button[disabled]{opacity:.55;cursor:not-allowed}label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px;border-radius:6px}.auth-shell{min-height:100%;display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.auth-shell .auth-aside{background:var(--ink);color:#fdf6e7;padding:56px 56px 48px;display:flex;flex-direction:column;justify-content:flex-start;position:relative;overflow:hidden}.auth-brand-box{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(26,30,23,.12);border-radius:14px;padding:10px 14px;width:fit-content;box-shadow:0 6px 20px #0000001f}.auth-brand-name{font-family:var(--font-display);font-size:30px;letter-spacing:-.5px;color:var(--ink)}.auth-shell .auth-main{display:flex;align-items:center;justify-content:center;padding:32px 24px}.auth-card{width:100%;max-width:440px}.auth-card h1{font-family:var(--font-display);font-size:clamp(40px,4.5vw,56px);letter-spacing:-.02em;line-height:1.05;margin:0 0 14px}.auth-card p.lead{color:var(--ink-2);font-size:16px;line-height:1.55;margin:0 0 28px}.auth-card .field{margin-bottom:16px}.auth-card .field-row{display:flex;gap:12px}.auth-meta{margin-top:18px;font-size:13px;color:var(--ink-3);text-align:center}.auth-meta a{color:var(--primary-600);font-weight:600}.auth-meta a:hover{text-decoration:underline}.divider{display:flex;align-items:center;gap:14px;margin:24px 0;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--ink-4);text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.sso-stack{display:flex;flex-direction:column;gap:10px}.sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;transition:transform .12s,border-color .18s}.sso-btn:hover:not([disabled]){transform:translateY(-1px);border-color:var(--ink)}.sso-btn[disabled]{background:var(--paper-2);cursor:not-allowed}.sso-soon{font-family:var(--font-mono);font-size:9px;letter-spacing:.6px;background:var(--amber-100);color:var(--amber-600);padding:3px 7px;border-radius:999px;text-transform:uppercase}.auth-error{background:var(--coral-100);color:var(--coral-500);border:1px solid var(--coral-200);border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:16px;animation:vds-shake .3s ease-in-out}.auth-success{background:var(--primary-100);color:var(--primary-700);border:1px solid var(--primary-200);border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:16px}.aside-quote{font-family:var(--font-display);font-style:italic;font-size:28px;line-height:1.2;margin-top:64px;max-width:420px}@media(max-width:880px){.auth-shell{grid-template-columns:1fr}.auth-shell .auth-aside{display:none}}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--paper)}.app-shell aside.sidebar{background:var(--paper-2);border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px}.brand .brand-name{font-family:var(--font-display);font-size:24px;letter-spacing:-.5px}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1}.nav-list a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font-size:14px;font-weight:500;transition:background .15s,color .15s}.nav-list a:hover{background:#1a1e170a;color:var(--ink)}.nav-list a.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #1a1e170a}.user-tile{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}.user-tile .avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.user-tile .user-meta{min-width:0;flex:1}.user-tile .user-meta .n{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-tile .user-meta .e{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-tile .logout-btn{background:transparent;border:0;color:var(--ink-3);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center}.user-tile .logout-btn:hover{background:#1a1e170d;color:var(--ink)}main.main-content{padding:56px 56px 80px;max-width:1100px;margin:0 auto;width:100%}.page-header{margin-bottom:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.page-header h1{font-family:var(--font-display);font-size:clamp(36px,4vw,60px);letter-spacing:-.02em;line-height:1.05;margin:0}.page-header p{margin:10px 0 0;color:var(--ink-2);font-size:16px;max-width:600px;line-height:1.55}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:16px}.card h2{margin:0 0 6px;font-family:var(--font-display);font-size:28px;letter-spacing:-.3px;font-weight:400}.card .card-sub{margin:0 0 24px;color:var(--ink-3);font-size:14px}.card .card-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line-2)}.card .card-row:first-of-type{border-top:0;padding-top:0}.card .card-row .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3)}.card .card-row .v{font-size:15px;color:var(--ink)}.tier-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.tier-pill.free{background:var(--paper-2);color:var(--ink-3)}.tier-pill.plus{background:var(--ink);color:var(--amber-300)}.tier-pill.pro{background:var(--primary-500);color:#fff}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.active{background:var(--primary-500)}.status-dot.warn{background:var(--amber-400)}.status-dot.danger{background:var(--coral-400)}table.invoices{width:100%;border-collapse:collapse;font-size:14px}table.invoices th{text-align:left;font-family:var(--font-mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--line)}table.invoices td{padding:14px 12px;border-bottom:1px solid var(--line-2)}table.invoices tr:last-child td{border-bottom:0}table.invoices a{color:var(--primary-600);font-weight:600}table.invoices a:hover{text-decoration:underline}.empty-state{text-align:center;padding:36px 16px;color:var(--ink-3)}.modal-backdrop{position:fixed;inset:0;background:#1a1e178c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:vds-fade-up .2s ease}.modal{background:var(--surface);border-radius:24px;padding:36px 36px 28px;width:100%;max-width:540px;box-shadow:0 30px 80px #00000040;position:relative}.modal h3{font-family:var(--font-display);font-size:30px;letter-spacing:-.4px;font-weight:400;margin:0 0 12px}.modal .modal-step{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}.modal .modal-actions{display:flex;gap:10px;margin-top:26px;justify-content:flex-end}.modal-close{position:absolute;top:18px;right:18px;background:transparent;border:0;color:var(--ink-3);cursor:pointer;padding:6px;border-radius:8px}.modal-close:hover{color:var(--ink);background:#1a1e170d}.banner-warn{background:var(--amber-100);border:1px solid var(--amber-200);color:var(--amber-600);padding:14px 18px;border-radius:14px;font-size:14px;display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.banner-info{background:var(--blue-100);border:1px solid var(--blue-200);color:var(--blue-500);padding:14px 18px;border-radius:14px;font-size:14px;display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.banner-danger{background:var(--coral-100);border:1px solid var(--coral-200);color:var(--coral-500);padding:14px 18px;border-radius:14px;font-size:14px;display:flex;gap:12px;align-items:flex-start}@media(max-width:720px){.app-shell{grid-template-columns:1fr}.app-shell aside.sidebar{position:static;height:auto;flex-direction:row;overflow-x:auto;padding:12px}.nav-list{flex-direction:row}main.main-content{padding:32px 20px 60px}}
