:root{--bg: #0a0e1a;--bg-elev: #0e1424;--surface: #141b2e;--surface-2: #1a2238;--surface-3: #222c47;--border: #232c45;--border-strong: #2f3a5a;--text: #f4f5f7;--text-muted: #8b95ad;--text-dim: #5a6485;--accent: #ef4444;--accent-hover: #f87171;--accent-glow: rgba(239, 68, 68, .18);--accent-soft: rgba(239, 68, 68, .08);--accent-strong: #dc2626;--success: #22c55e;--warning: #f59e0b;--font-sans: "Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, "JetBrains Mono", monospace;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 8px 24px -8px rgba(0,0,0,.6);--shadow-lg: 0 24px 60px -20px rgba(0,0,0,.7);--shadow-glow: 0 0 0 1px rgba(239,68,68,.4), 0 24px 60px -20px rgba(239,68,68,.35);--ease: cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"ss01","ss02","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit}::selection{background:var(--accent);color:#fff}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.skip-link{position:absolute;left:-9999px;top:0;background:var(--surface);color:var(--text);padding:.5rem 1rem;border-radius:var(--r-sm)}.skip-link:focus{left:1rem;top:1rem;z-index:1000}.app-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 600px at 80% -10%,rgba(239,68,68,.12),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(124,58,237,.1),transparent 60%),var(--bg)}.app-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,black 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,black 30%,transparent 75%)}.app{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:0 24px 80px;max-width:1200px;margin:0 auto}.header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:18px 0;margin-bottom:12px;background:color-mix(in srgb,var(--bg) 75%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}.header.scrolled{border-bottom-color:var(--border)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:600;font-size:18px;letter-spacing:-.01em}.brand-mark-img{display:block;width:28px;height:28px;flex:0 0 28px}.brand-name{display:inline-block}.header-meta{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text);line-height:1}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 0 40px;gap:32px}.hero h1{margin:0;font-size:clamp(40px,6vw,72px);letter-spacing:-.03em;font-weight:700;line-height:1.05;max-width:16ch}.hero h1 em{font-style:normal;background:linear-gradient(135deg,var(--accent-hover),var(--accent),var(--accent-strong));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:0;color:var(--text-muted);font-size:18px;max-width:56ch;line-height:1.55}.dropzone{position:relative;width:min(720px,100%);padding:48px 32px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px dashed var(--border-strong);display:flex;flex-direction:column;align-items:center;gap:18px;cursor:pointer;transition:transform .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .22s var(--ease)}.dropzone:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--surface) 88%,transparent)}.dropzone.dragging,body.is-dragging .dropzone{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-glow);transform:scale(1.005)}.dropzone .dz-title{font-size:18px;font-weight:600;letter-spacing:-.01em}.dropzone .dz-sub{color:var(--text-muted);font-size:14px}.dropzone .dz-icon{width:56px;height:56px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--accent)}.dropzone:after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 80%,var(--accent-glow) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;opacity:0;transition:opacity .2s var(--ease);animation:dz-spin 6s linear infinite}.dropzone.dragging:after,body.is-dragging .dropzone:after{opacity:1}@keyframes dz-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.dropzone:after{animation:none}}.workspace{display:flex;flex-direction:column;gap:16px;padding:16px 0 32px}.workspace .dropzone{width:100%}.action-bar{position:sticky;top:64px;z-index:30;display:flex;align-items:center;gap:8px;padding:10px;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-wrap:wrap}.action-bar .divider{width:1px;height:24px;background:var(--border);margin:0 4px}.action{position:relative;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:14px;font-weight:500;letter-spacing:-.005em;transition:background-color .14s var(--ease),border-color .14s var(--ease),transform 80ms var(--ease),color .14s var(--ease)}.action:hover{background:var(--surface-3);border-color:var(--border-strong)}.action:active{transform:translateY(1px)}.action.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.action.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.action.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.action.ghost:hover{background:var(--surface-2);color:var(--text)}.action.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.action[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.file-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:14px;transition:border-color .14s var(--ease),background-color .14s var(--ease)}.file-card:hover{border-color:var(--border-strong)}.file-card.dragging{opacity:.6}.file-head{display:flex;align-items:center;gap:12px}.file-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-handle{width:28px;height:28px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--text-dim);cursor:grab;flex-shrink:0}.file-handle:hover{color:var(--text-muted);background:var(--surface-2)}.file-handle:active{cursor:grabbing}.file-icon{width:40px;height:40px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);flex-shrink:0}.file-text{display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-weight:600;font-size:14px;letter-spacing:-.005em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-stats{font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:8px}.file-actions{display:inline-flex;align-items:center;gap:4px}.icon-btn{width:32px;height:32px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--text-muted);background:transparent;border:1px solid transparent;transition:all .14s var(--ease)}.icon-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}.page-thumb{position:relative;aspect-ratio:8.5 / 11;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;overflow:hidden;cursor:pointer;transition:border-color .12s var(--ease),transform .12s var(--ease),box-shadow .14s var(--ease)}.page-thumb:hover{border-color:var(--border-strong)}.page-thumb.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.page-thumb.dragging{opacity:.5}.page-thumb .page-num{position:absolute;left:6px;bottom:6px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:color-mix(in srgb,var(--bg) 70%,transparent);padding:2px 5px;border-radius:4px}.page-thumb.split-marker:after{content:"";position:absolute;top:0;bottom:0;right:-6px;width:4px;background:var(--accent);border-radius:2px;box-shadow:0 0 8px var(--accent-glow)}.page-thumb-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:8px;gap:4px;background:#fff;color:#333}.page-thumb-content .lines{display:flex;flex-direction:column;gap:3px}.page-thumb-content .lines span{display:block;height:3px;border-radius:1px;background:#0000002e}.page-thumb-content .lines span:nth-child(3n){width:70%}.page-thumb-content .lines span:nth-child(4n){width:85%}.page-thumb-content canvas{width:100%;height:100%;display:block;object-fit:contain}.preset-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:35;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);min-width:600px;animation:pop-in .16s var(--ease)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.preset{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--text);transition:border-color .14s var(--ease),background-color .14s var(--ease)}.preset:hover{border-color:var(--accent);background:var(--surface-3)}.preset .preset-title{font-weight:600;font-size:14px;letter-spacing:-.005em}.preset .preset-meta{font-size:12px;color:var(--text-muted)}.preset .preset-tag{position:absolute;top:8px;right:8px;font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:4px;padding:2px 6px}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#05070ea6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .16s var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal .dialog{width:min(440px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-lg);animation:pop-in .2s var(--ease)}.modal h2{margin:0 0 8px;font-size:20px;letter-spacing:-.01em}.modal p{margin:0 0 16px;color:var(--text-muted);font-size:14px;line-height:1.55}.modal .modal-actions{display:flex;justify-content:flex-end;gap:8px}.toast-region{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;position:relative;min-width:280px;max-width:360px;padding:12px 14px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);display:flex;gap:10px;align-items:flex-start;animation:pop-in .2s var(--ease);overflow:hidden}.toast .toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:6px;display:grid;place-items:center}.toast.success .toast-icon{color:var(--success);background:#22c55e1f}.toast.info .toast-icon{color:var(--text-muted);background:var(--surface-2)}.toast.warn .toast-icon{color:var(--warning);background:#f59e0b1f}.toast.error .toast-icon{color:var(--accent);background:var(--accent-soft)}.toast .toast-body{flex:1;min-width:0}.toast .toast-title{font-weight:600;font-size:14px}.toast .toast-meta{color:var(--text-muted);font-size:12px;margin-top:2px}.toast .toast-close{flex-shrink:0;color:var(--text-dim);width:22px;height:22px;display:grid;place-items:center;border-radius:4px}.toast .toast-close:hover{color:var(--text);background:var(--surface-2)}.toast .toast-progress{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);width:100%;transform-origin:left;animation:toast-shrink 4s linear forwards}.toast.success .toast-progress{background:var(--success)}.toast.warn .toast-progress{background:var(--warning)}.toast.error .toast-progress{background:var(--accent)}@keyframes toast-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.processing-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#05070e8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .16s var(--ease)}.processing-overlay .ring{width:44px;height:44px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--accent);animation:spin .9s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.processing-overlay .label{font-size:16px;font-weight:600;text-align:center}.processing-overlay .sub{margin-top:4px;color:var(--text-muted);font-size:13px;text-align:center}.processing-overlay .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px 36px;min-width:240px;box-shadow:var(--shadow-lg)}.hint-row{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.hint-row .kbd{background:var(--surface)}.mode-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-sm);background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);font-size:14px}.mode-banner .mode-title{font-weight:600}.mode-banner .mode-sub{color:var(--text-muted)}.footer{margin-top:auto;padding:24px 0 12px;color:var(--text-dim);font-size:13px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}.footer a{color:var(--text-muted);text-decoration:none}.footer a:hover{color:var(--text)}.footer .sep{color:var(--text-dim)}.prose{max-width:720px;margin:40px auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);line-height:1.65}.prose h1{letter-spacing:-.02em;margin-top:0}.prose h2{margin-top:32px;letter-spacing:-.015em}.prose p,.prose li{color:var(--text-muted)}.prose code{font-family:var(--font-mono);background:var(--surface-2);padding:2px 5px;border-radius:4px;color:var(--text);font-size:13px}@media (max-width: 720px){.app{padding:0 16px 80px}.header{padding:14px 0}.header-meta{display:none}.hero{padding:48px 0 24px;gap:24px}.hero h1{font-size:clamp(34px,9vw,48px)}.hero p{font-size:16px}.dropzone{padding:32px 20px;border-radius:var(--r-lg)}.action-bar{top:60px}.action{height:36px;padding:0 12px;font-size:13px}.action span.label{display:none}.action.primary span.label{display:inline}.preset-panel{grid-template-columns:1fr;min-width:280px}.page-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.footer{font-size:12px;gap:8px}.toast-region{left:12px;right:12px;bottom:12px}.toast{max-width:none}}.pw-strength{display:flex;align-items:center;gap:10px;margin-top:6px}.pw-strength-bar{position:relative;flex:0 0 110px;height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.pw-strength-bar:after{content:"";position:absolute;inset:0 100% 0 0;background:var(--accent);transition:inset .16s var(--ease),background .16s var(--ease)}.pw-strength-0:after{inset:0 100% 0 0;background:var(--text-dim)}.pw-strength-1:after{inset:0 75% 0 0;background:var(--accent)}.pw-strength-2:after{inset:0 50% 0 0;background:var(--warning)}.pw-strength-3:after{inset:0 25% 0 0;background:var(--success)}.pw-strength-4:after{inset:0;background:var(--success)}.pw-strength-label{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.02em}.field-error{font-family:var(--font-mono);font-size:11px;color:var(--accent);margin-top:4px}.field-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);cursor:pointer;user-select:none}.field-inline input[type=checkbox]{accent-color:var(--accent)}.modal-warning{margin:0;padding:10px 12px;border-radius:var(--r-sm);background:#f59e0b14;border:1px solid rgba(245,158,11,.25);color:var(--warning);font-size:12.5px;line-height:1.45}.modal-title code{font-family:var(--font-mono);font-size:.85em;background:var(--surface-2);padding:1px 6px;border-radius:4px;border:1px solid var(--border)}.input[aria-invalid=true]{border-color:var(--accent)}.consent-banner{position:fixed;inset:auto 16px 16px;z-index:400;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:18px 22px;animation:toast-in .22s var(--ease)}.consent-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.consent-banner-text{flex:1 1 320px;min-width:0}.consent-banner-title{margin:0 0 4px;font-size:15px;font-weight:600;letter-spacing:-.01em}.consent-banner-body{margin:0;font-size:13.5px;color:var(--text-muted);line-height:1.5}.consent-banner-actions{display:flex;gap:8px;flex-shrink:0}.consent-banner-actions .btn{padding:9px 16px}.prose-table{width:100%;margin:12px 0 18px;border-collapse:collapse;font-size:13px}.prose-table th,.prose-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.prose-table th{background:var(--surface-2);font-weight:600;color:var(--text);letter-spacing:-.005em}.prose-table td code{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px;border:1px solid var(--border)}.consent-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;margin:12px 0 18px}.consent-controls p{margin:0 0 10px;font-size:13.5px;color:var(--text-muted)}.consent-controls-actions{display:flex;gap:8px;flex-wrap:wrap}button.link{display:inline;padding:0;margin:0;background:none;border:0;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}button.link:hover{color:var(--accent-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:14px;font-weight:500;letter-spacing:-.005em;cursor:pointer;transition:background-color .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),transform 80ms var(--ease)}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn.ghost:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--text)}.field-help{margin:0;font-size:12px;color:var(--text-muted);line-height:1.45}.input{display:block;width:100%;height:38px;padding:0 12px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;font-family:inherit;transition:border-color .14s var(--ease),background-color .14s var(--ease)}select.input{height:38px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.input::placeholder{color:var(--text-dim)}textarea.input{height:auto;min-height:96px;padding:10px 12px;resize:vertical}.modal-form{display:flex;flex-direction:column;gap:0}.modal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#05070ea6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .16s var(--ease)}.modal-overlay>.modal{position:static;inset:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;width:min(440px,92vw);box-shadow:var(--shadow-lg);animation:pop-in .2s var(--ease);display:block}.modal-title{margin:0 0 8px;font-size:20px;letter-spacing:-.01em}.modal-sub{margin:0 0 16px;color:var(--text-muted);font-size:14px;line-height:1.55}.header-meta .header-divider{display:inline-block;width:1px;height:18px;background:var(--border);margin:0 4px}.header-link{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--r-xs);background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:13px;text-decoration:none;cursor:pointer;transition:background-color .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease)}.header-link:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.header-email{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 720px){.header-email{display:none}}.login-shell{flex:1;display:grid;place-items:center;padding:64px 0}.login-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-md)}.login-header{margin-bottom:20px}.login-title{margin:0 0 6px;font-size:26px;letter-spacing:-.02em;font-weight:700}.login-sub{margin:0;color:var(--text-muted);font-size:14px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:0}.login-fineprint{margin:16px 0 0;font-size:12px;color:var(--text-muted);line-height:1.5}.login-fineprint a{color:var(--text-muted);text-decoration:underline}.login-fineprint a:hover{color:var(--text)}.login-success{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);padding:18px 20px}.login-success-title{margin:0 0 6px;font-size:16px;font-weight:600;letter-spacing:-.01em}.login-success-body{margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}.login-success-body code{font-family:var(--font-mono);font-size:12.5px;background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text)}.admin-layout{flex:1;display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px 0 48px;align-items:start}.admin-nav{position:sticky;top:80px;display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px}.admin-nav-header{display:flex;flex-direction:column;gap:2px;padding:4px 8px 10px;border-bottom:1px solid var(--border)}.admin-nav-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--text-dim);letter-spacing:.06em}.admin-nav-email{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.admin-nav-list a{display:block;padding:8px 10px;border-radius:var(--r-sm);font-size:13.5px;color:var(--text-muted);text-decoration:none;border:1px solid transparent;transition:background-color .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease)}.admin-nav-list a:hover{background:var(--surface-2);color:var(--text)}.admin-nav-list a.active{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent)}.admin-nav-footer{display:flex;border-top:1px solid var(--border);padding-top:10px}.admin-nav-footer .btn{flex:1}.admin-content{min-width:0}.admin-page{display:flex;flex-direction:column;gap:18px}.admin-h1{margin:0;font-size:26px;letter-spacing:-.02em;font-weight:700}.admin-h2{margin:14px 0 6px;font-size:16px;letter-spacing:-.01em;font-weight:600;color:var(--text)}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 22px}.admin-card-tight{padding:14px 16px}.admin-form .field:last-of-type{margin-bottom:18px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.admin-counter .num{font-size:28px;font-weight:600;letter-spacing:-.02em}.admin-counter .label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em}.admin-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0}.admin-dl>div{display:flex;flex-direction:column;gap:4px}.admin-dl dt{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em}.admin-dl dd{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.admin-muted{color:var(--text-muted);font-size:13.5px}.admin-error{color:var(--accent);font-size:13.5px}.admin-status{margin:8px 0 0;font-size:13px;font-family:var(--font-mono)}.admin-status.ok{color:var(--success)}.admin-status.err{color:var(--accent)}.admin-toolbar{display:flex;align-items:flex-end;gap:12px}.admin-toolbar .field{margin-bottom:0;min-width:200px}.admin-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px}.admin-pager-status{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.admin-pill{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-hover);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}.admin-table-caption{caption-side:top;text-align:left;padding:4px 0 8px;font-size:12px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em}@media (max-width: 860px){.admin-layout{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.admin-nav-header{flex:1 1 100%;border-bottom:none;padding-bottom:4px}.admin-nav-list{flex:1 1 auto;flex-direction:row;flex-wrap:wrap}.admin-nav-footer{border-top:none;padding-top:0}}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1080px;margin:32px auto;padding:0 24px}@media (max-width: 880px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 22px 28px;display:flex;flex-direction:column;gap:14px}.pricing-card.featured{border-color:var(--accent);box-shadow:var(--shadow-glow);position:relative}.pricing-card.featured:before{content:"Most popular";position:absolute;top:-12px;right:18px;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;padding:3px 9px;border-radius:999px;text-transform:uppercase}.pricing-name{font-size:18px;font-weight:600;letter-spacing:-.01em}.pricing-tag{color:var(--text-muted);font-size:13.5px;min-height:36px}.pricing-price{font-size:32px;font-weight:600;letter-spacing:-.02em;margin:6px 0 0}.pricing-price small{font-size:14px;color:var(--text-muted);font-weight:400}.pricing-list{list-style:none;padding:0;margin:4px 0 14px;color:var(--text);font-size:13.5px;line-height:1.7}.pricing-list li:before{content:"+ ";color:var(--accent);font-weight:600}.pricing-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);align-self:flex-start}.pricing-toggle button{padding:6px 14px;border-radius:999px;font-size:13px;color:var(--text-muted)}.pricing-toggle button.active{background:var(--accent);color:#fff}.pricing-savings{color:var(--success);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.account-shell{max-width:720px;margin:32px auto;padding:0 24px;display:flex;flex-direction:column;gap:24px}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px}.account-card h2{margin:0 0 12px;font-size:18px;font-weight:600;letter-spacing:-.01em}.account-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.account-row:last-child{border-bottom:0}.status-badge{font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:4px;letter-spacing:.05em;text-transform:uppercase}.status-badge.active{background:#22c55e1f;color:var(--success)}.status-badge.past_due{background:#f59e0b1f;color:var(--warning)}.status-badge.cancelled,.status-badge.expired,.status-badge.suspended{background:var(--surface-3);color:var(--text-muted)}.status-badge.pending{background:#6366f11f;color:#818cf8}.pro-badge{font-family:var(--font-mono);font-size:10px;padding:2px 7px;border-radius:4px;background:var(--accent);color:#fff;letter-spacing:.06em;margin-left:8px}
