*,:before,:after{box-sizing:border-box}:root{--fs-bg:#f9fafb;--fs-surface:#fff;--fs-border:#e5e7eb;--fs-text:#111827;--fs-muted:#6b7280;--fs-accent:#2563eb;--fs-accent-hover:#1d4ed8;--fs-danger:#dc2626;--fs-success:#16a34a;--fs-radius:8px;--fs-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--fs-shadow-hover:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;color:var(--fs-text);background:var(--fs-bg);font-family:system-ui,Segoe UI,sans-serif;font-size:15px}body{margin:0}#root{min-height:100vh}.fs-shell{flex-direction:column;min-height:100vh;display:flex}.fs-header{background:var(--fs-surface);border-bottom:1px solid var(--fs-border);z-index:10;align-items:center;gap:24px;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.fs-brand{align-items:baseline;gap:10px;display:flex}.fs-logo{color:var(--fs-accent);font-size:20px;font-weight:700}.fs-tagline{color:var(--fs-muted);font-size:13px}.fs-nav{flex:1;gap:4px;display:flex}.fs-nav a{color:var(--fs-muted);border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none}.fs-nav a:hover{background:var(--fs-bg);color:var(--fs-text)}.fs-nav a.active{background:var(--fs-bg);color:var(--fs-accent)}.fs-user{color:var(--fs-muted);align-items:center;gap:12px;font-size:13px;display:flex}.fs-main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:32px}.fs-footer{text-align:center;color:var(--fs-muted);border-top:1px solid var(--fs-border);background:var(--fs-surface);padding:16px 32px;font-size:13px}.fs-footer-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:10px;display:flex}.fs-footer-links a{color:var(--fs-muted);font-size:12px;text-decoration:none}.fs-footer-links a:hover{color:var(--fs-accent);text-decoration:underline}.fs-legal{background:var(--fs-bg);flex-direction:column;min-height:100vh;display:flex}.fs-legal-header{background:var(--fs-surface);border-bottom:1px solid var(--fs-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 32px;display:flex}.fs-legal-brand{color:var(--fs-accent);font-size:20px;font-weight:700;text-decoration:none}.fs-legal-nav{flex-wrap:wrap;gap:16px;display:flex}.fs-legal-nav a{color:var(--fs-muted);font-size:14px;font-weight:500;text-decoration:none}.fs-legal-nav a:hover{color:var(--fs-accent)}.fs-legal-main{background:var(--fs-surface);flex:1;width:100%;max-width:820px;margin:0 auto;padding:40px 32px}.fs-legal-main h1{color:var(--fs-text);margin:0 0 4px;font-size:26px}.fs-legal-meta{color:var(--fs-muted);margin:0 0 24px;font-size:13px}.fs-legal-body h2{color:var(--fs-text);margin:28px 0 8px;font-size:19px}.fs-legal-body h3{color:var(--fs-text);margin:20px 0 6px;font-size:16px}.fs-legal-body p{color:var(--fs-text);margin:0 0 12px;font-size:14px;line-height:1.6}.fs-legal-body ul{margin:0 0 14px;padding-left:22px}.fs-legal-body li{color:var(--fs-text);margin:0 0 8px;font-size:14px;line-height:1.6}.fs-legal-footer{text-align:center;color:var(--fs-muted);border-top:1px solid var(--fs-border);background:var(--fs-surface);padding:20px 32px;font-size:12px}.fs-legal-footer p{margin:2px 0}.fs-page h2{margin:0 0 4px;font-size:22px}.fs-sub{color:var(--fs-muted);margin-bottom:24px;font-size:14px}.fs-page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.fs-page-header h2{margin:0}.fs-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0;display:grid}.fs-card{background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow);flex-direction:column;gap:10px;padding:20px;transition:box-shadow .15s,transform .15s;display:flex}.fs-card:hover{box-shadow:var(--fs-shadow-hover);transform:translateY(-2px)}.fs-card-label{color:var(--fs-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.fs-card-value{color:var(--fs-accent);font-size:32px;font-weight:700}.fs-card-body{color:var(--fs-muted);flex:1;font-size:14px}.fs-auth-page{background:var(--fs-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.fs-auth-card{background:var(--fs-surface);border:1px solid var(--fs-border);width:100%;max-width:400px;box-shadow:var(--fs-shadow);border-radius:12px;padding:40px}.fs-brand-lg{color:var(--fs-accent);margin:0 0 4px;font-size:28px;font-weight:700}.fs-tagline-lg{color:var(--fs-muted);margin:0 0 28px;font-size:14px}.fs-sent{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;font-size:14px}.fs-sent p{margin:4px 0}.fs-trust{border-top:1px solid var(--fs-border);color:var(--fs-muted);text-align:center;margin-top:24px;padding-top:16px;font-size:12px}.fs-auth-msg{min-height:100vh;color:var(--fs-muted);justify-content:center;align-items:center;font-size:16px;display:flex}.fs-form{flex-direction:column;gap:10px;display:flex}.fs-form label{color:var(--fs-text);font-size:13px;font-weight:500}.fs-form input,.fs-form select{border:1px solid var(--fs-border);background:var(--fs-surface);color:var(--fs-text);border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.fs-form input:focus,.fs-form select:focus{outline:2px solid var(--fs-accent);outline-offset:-1px;border-color:var(--fs-accent)}.fs-form-actions{gap:10px;margin-top:6px;display:flex}.fs-generate-form{max-width:480px}.fs-profile-form{background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);max-width:540px;margin-bottom:32px;padding:24px}.fs-btn-primary{background:var(--fs-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:fit-content;padding:9px 18px;font-size:14px;font-weight:500}.fs-btn-primary:hover:not(:disabled){background:var(--fs-accent-hover)}.fs-btn-primary:disabled{opacity:.5;cursor:not-allowed}.fs-btn-secondary{color:var(--fs-accent);border:1px solid var(--fs-accent);cursor:pointer;background:0 0;border-radius:6px;padding:9px 18px;font-size:14px;font-weight:500}.fs-btn-ghost{color:var(--fs-muted);border:1px solid var(--fs-border);cursor:pointer;background:0 0;border-radius:6px;padding:7px 14px;font-size:14px}.fs-btn-ghost:hover{background:var(--fs-bg)}.fs-btn-danger{color:var(--fs-danger);border:1px solid var(--fs-danger);cursor:pointer;background:0 0;border-radius:6px;padding:7px 14px;font-size:14px}.fs-btn-lg{padding:12px 28px;font-size:16px}.fs-link{color:var(--fs-accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.fs-profile-list{flex-direction:column;gap:12px;display:flex}.fs-profile-card{background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);align-items:center;gap:16px;padding:16px 20px;display:flex}.fs-profile-name{flex:1;font-weight:600}.fs-profile-meta{color:var(--fs-muted);flex:2;font-size:13px}.fs-profile-actions{gap:8px;display:flex}.fs-pack-card{background:var(--fs-surface);border:2px solid var(--fs-accent);border-radius:12px;flex-direction:column;gap:12px;max-width:380px;padding:32px;display:flex}.fs-pack-qty{color:var(--fs-text);font-size:28px;font-weight:700}.fs-pack-price{color:var(--fs-accent);font-size:40px;font-weight:700}.fs-pack-per{color:var(--fs-muted);font-size:15px}.fs-pack-expiry,.fs-pack-note{color:var(--fs-muted);font-size:13px}.fs-faq{max-width:520px;margin-top:40px}.fs-faq h3{margin:0 0 8px;font-size:16px}.fs-faq ul{color:var(--fs-muted);padding-left:20px;font-size:14px;line-height:1.8}.fs-faq p{margin:4px 0;font-size:14px}.fs-notice{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 16px;font-size:14px}.fs-error{color:var(--fs-danger);margin:0;font-size:13px}.fs-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.fs-success{color:var(--fs-success);font-size:14px;font-weight:500}.fs-empty{color:var(--fs-muted);font-size:14px}.fs-loading{min-height:200px;color:var(--fs-muted);justify-content:center;align-items:center;display:flex}.fs-generate-help{color:var(--fs-muted);margin-bottom:20px;font-size:14px}.fs-trust-banner{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:32px;padding:14px 20px;font-size:13px}.fs-footer{text-align:center;border-top:1px solid var(--fs-border);background:var(--fs-surface);padding:20px 32px}.fs-footer-brand{color:var(--fs-text);margin:0 0 4px;font-size:14px;font-weight:600}.fs-footer-legal{color:var(--fs-muted);margin:0 0 6px;font-size:13px}.fs-footer-privacy{color:var(--fs-muted);margin:0;font-size:12px}.fs-welcome{margin-bottom:20px}.fs-welcome h2{margin:0 0 2px}.fs-business-card{background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow);align-items:center;gap:20px;margin-bottom:24px;padding:20px 24px;display:flex}.fs-business-logo-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex;position:relative}.fs-business-logo{background:var(--fs-bg);border:2px dashed var(--fs-border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:80px;height:80px;padding:0;transition:border-color .15s,background .15s;display:flex}.fs-business-logo-empty:hover{border-color:var(--fs-accent);background:#eff6ff}.fs-business-logo-placeholder{color:var(--fs-muted);font-size:13px;font-weight:600}.fs-business-logo-img{object-fit:contain;border:1px solid var(--fs-border);background:#fff;border-radius:10px;width:80px;height:80px;display:block}.fs-business-logo-frame{border-radius:10px;width:80px;height:80px;position:relative;overflow:hidden}.fs-business-logo-overlay{opacity:0;background:#111827bf;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:opacity .15s;display:flex;position:absolute;inset:0}.fs-business-logo-frame:hover .fs-business-logo-overlay,.fs-business-logo-frame:focus-within .fs-business-logo-overlay{opacity:1}.fs-overlay-btn{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.fs-overlay-btn:hover{background:#ffffff26}.fs-overlay-btn-danger:hover{background:#dc2626d9}.fs-business-info{flex-direction:column;flex:1;gap:4px;display:flex}.fs-business-name{color:var(--fs-text);font-size:22px;font-weight:600}.fs-business-name-btn{color:var(--fs-text);text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:2px dashed #0000;padding:4px 0;font-size:22px;font-weight:600}.fs-business-name-btn:hover{border-bottom-color:var(--fs-border)}.fs-business-name-empty{color:var(--fs-muted);font-weight:500}.fs-business-name-input{border:2px solid var(--fs-accent);border-radius:6px;width:100%;max-width:400px;padding:4px 8px;font-size:22px;font-weight:600}.fs-runs{margin-top:28px}.fs-runs-title{color:var(--fs-text);margin:0 0 12px;font-size:15px;font-weight:600}.fs-runs-table{border-collapse:collapse;width:100%;font-size:13px}.fs-runs-table th{text-align:left;background:var(--fs-bg);border-bottom:2px solid var(--fs-border);color:var(--fs-muted);text-transform:uppercase;letter-spacing:.4px;padding:8px 12px;font-size:11px;font-weight:600}.fs-runs-table td{border-bottom:1px solid var(--fs-border);color:var(--fs-text);padding:10px 12px}.fs-runs-table tr:last-child td{border-bottom:none}.fs-runs-table tr:hover td{background:var(--fs-bg)}.fs-hash{color:var(--fs-muted);font-family:monospace;font-size:12px}.fs-field-help{color:var(--fs-muted);margin-top:-4px;font-size:12px;line-height:1.5}.fs-info-box{border-radius:var(--fs-radius);background:#f0f9ff;border:1px solid #bae6fd;max-width:560px;margin-bottom:24px;padding:14px 18px}.fs-info-title{color:#0369a1;margin-bottom:8px;font-size:13px;font-weight:600}.fs-info-list{color:#0c4a6e;margin:0;padding-left:18px;font-size:13px;line-height:1.8}.fs-info-list li{margin-bottom:2px}.fs-info-list code{background:#e0f2fe;border-radius:3px;padding:1px 5px;font-size:12px}.fs-admin-shell{flex-direction:column;min-height:100vh;display:flex}.fs-admin-header{z-index:10;background:#1e1b4b;border-bottom:2px solid #3730a3;align-items:center;gap:24px;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.fs-admin-header .fs-logo{color:#a5b4fc}.fs-admin-badge-label{letter-spacing:.6px;text-transform:uppercase;color:#c7d2fe;background:#3730a3;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.fs-admin-header .fs-nav a{color:#a5b4fc}.fs-admin-header .fs-nav a:hover{color:#e0e7ff;background:#ffffff14}.fs-admin-header .fs-nav a.active{color:#e0e7ff;background:#ffffff1f}.fs-admin-header .fs-user{color:#a5b4fc}.fs-admin-header .fs-user span{color:#c7d2fe}.fs-admin-header .fs-btn-ghost{color:#a5b4fc;border-color:#4338ca}.fs-admin-header .fs-btn-ghost:hover{background:#ffffff14}.fs-admin-back-link{color:#a5b4fc;border:1px solid #4338ca;border-radius:6px;padding:4px 10px;font-size:13px;text-decoration:none}.fs-admin-back-link:hover{color:#e0e7ff;background:#ffffff14}.fs-admin-search{gap:8px;margin-bottom:16px;display:flex}.fs-admin-search input{flex:0 320px}.fs-admin-table{margin-top:8px}.fs-admin-table tr.fs-row-selected td{background:var(--fs-bg)}.fs-admin-panel{max-width:560px;margin-top:24px}.fs-admin-inline{align-items:center;gap:8px;margin-bottom:8px;display:flex}.fs-admin-inline input{flex:0 120px}.fs-admin-roadmap{border-color:var(--fs-border);background:#fafaf9}.fs-admin-roadmap .fs-info-title,.fs-admin-roadmap .fs-info-list{color:var(--fs-muted)}.fs-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.fs-badge-free{color:#166534;background:#dcfce7}.fs-badge-paid{color:#92400e;background:#fef3c7}.fs-badge-admin{color:#3730a3;background:#e0e7ff}
