:root{--a8-primary: #2E75B6;--a8-primary-hover: #235a8f;--a8-success: #3b6d11;--a8-warning: #854f0b;--a8-danger: #791f1f;--a8-bg: #f3f4f6;--a8-surface: #ffffff;--a8-border: #e5e7eb;--a8-text: #111827;--a8-text-muted: #6b7280}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--a8-bg);color:var(--a8-text);-webkit-font-smoothing:antialiased}a{color:var(--a8-primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--a8-primary);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600;font-size:14px;transition:background .15s ease}.btn:hover{background:var(--a8-primary-hover)}.btn-secondary{background:var(--a8-surface);color:var(--a8-text);border:1px solid var(--a8-border)}.btn-secondary:hover{background:#f9fafb}.btn-danger{background:var(--a8-danger)}.btn-danger:hover{background:#5e1818}.card{background:var(--a8-surface);border-radius:12px;border:1px solid var(--a8-border);padding:24px}.input,select.input,textarea.input{width:100%;padding:10px 12px;border:1px solid var(--a8-border);border-radius:8px;font:inherit;background:var(--a8-surface)}.input:focus{outline:2px solid var(--a8-primary);outline-offset:-1px}.field{margin-bottom:16px}.field label{display:block;font-weight:500;margin-bottom:6px;font-size:14px}.field-hint{color:var(--a8-text-muted);font-size:12px;margin-top:4px}.error-banner{background:#fee2e2;color:var(--a8-danger);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.success-banner{background:#dcfce7;color:var(--a8-success);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.legal-shell{max-width:760px;width:100%;background:var(--a8-surface);border-radius:16px;box-shadow:0 4px 16px #00000014;overflow:hidden}.legal-header{background:var(--a8-primary);color:#fff;padding:24px 32px}.legal-body{padding:28px 32px;max-height:50vh;overflow-y:auto;border-bottom:1px solid var(--a8-border)}.legal-body h2{margin-top:0}.legal-body h3{margin-top:24px}.legal-footer{padding:24px 32px;background:#f9fafb}.legal-progress{font-size:13px;color:var(--a8-text-muted);margin-bottom:16px}.legal-checkbox{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;cursor:pointer;-webkit-user-select:none;user-select:none}.legal-checkbox input{margin-top:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--a8-surface);border-bottom:1px solid var(--a8-border);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:18px;color:var(--a8-text)}.a8-badge{background:var(--a8-primary);color:#fff;border-radius:8px;padding:6px 12px;font-weight:700;letter-spacing:.5px}.brand-name{display:flex;align-items:baseline;gap:0}.brand-name .eight{color:var(--a8-primary);font-style:italic}.app-nav{display:flex;gap:4px;align-items:center}.app-nav a{color:var(--a8-text-muted);font-weight:500;padding:8px 14px;border-radius:8px;font-size:14px}.app-nav a:hover{background:var(--a8-bg);text-decoration:none}.app-nav a.active{color:var(--a8-primary);background:#eff6ff}.user-pill{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--a8-text-muted)}.user-pill button{background:none;border:none;color:var(--a8-primary);font-weight:500}.app-main{flex:1;padding:32px;max-width:1280px;width:100%;margin:0 auto}.app-footer{padding:24px 32px;color:var(--a8-text-muted);font-size:12px;text-align:center;border-top:1px solid var(--a8-border);background:var(--a8-surface)}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title h1{margin:0;font-size:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:linear-gradient(135deg,var(--a8-primary),var(--a8-primary-hover));color:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000000f}.stat-card .label{font-size:13px;opacity:.85;margin-bottom:8px}.stat-card .value{font-size:32px;font-weight:700;line-height:1}.stat-card .sub{font-size:12px;opacity:.8;margin-top:6px}.table-wrap{background:var(--a8-surface);border-radius:12px;border:1px solid var(--a8-border);overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--a8-border)}table.data th{background:#f9fafb;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--a8-text-muted)}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:#fafbfc}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-active{background:#dcfce7;color:var(--a8-success)}.badge-trial{background:#fef3c7;color:var(--a8-warning)}.badge-canceled{background:#fee2e2;color:var(--a8-danger)}.badge-none{background:#e5e7eb;color:var(--a8-text-muted)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.pricing-card{background:var(--a8-surface);border:1px solid var(--a8-border);border-radius:12px;padding:24px}.pricing-card h3{margin:0 0 8px}.pricing-price{font-size:32px;font-weight:700;color:var(--a8-primary);margin:8px 0 16px}.pricing-price .per{font-size:14px;color:var(--a8-text-muted);font-weight:500}.pricing-features{list-style:none;padding:0;margin:16px 0}.pricing-features li{padding:6px 0;color:var(--a8-text);font-size:14px}.pricing-features li:before{content:"✓ ";color:var(--a8-success);font-weight:700}.invite-form{max-width:560px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{padding:48px;text-align:center;color:var(--a8-text-muted)}@media(max-width:720px){.app-header{padding:12px 16px;flex-wrap:wrap;gap:8px}.app-nav{width:100%;overflow-x:auto}.app-main{padding:16px}.stat-card .value{font-size:26px}.legal-body,.legal-header,.legal-footer{padding:16px}}
