:root{--orange:#ea580c;--orange-light:#fff7ed;--dark:#111827;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--bg:#f9fafb;--surface:#fff;--radius:8px;--green:#059669;--green-light:#d1fae5;--red:#dc2626;--red-light:#fee2e2;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6}
.nav{background:var(--dark);position:sticky;top:0;z-index:100}
.nav-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-weight:800;font-size:1.1rem;color:white;text-decoration:none}
.nav-logo span{color:var(--orange)}
.nav-links{display:flex;align-items:center;gap:1.5rem}
.nav-links a{color:#9ca3af;text-decoration:none;font-size:.9rem}
.nav-links a:hover{color:white}
.btn{display:inline-flex;align-items:center;padding:.55rem 1.2rem;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;border:none;font-family:var(--font);transition:opacity .15s}
.btn:hover{opacity:.85}
.btn-primary{background:var(--orange);color:white}
.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.btn-sm{padding:.35rem .8rem;font-size:.8rem}
.app-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 56px)}
.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.5rem 0;display:flex;flex-direction:column;justify-content:space-between}
.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem}
.sidebar-link{display:block;padding:.55rem .75rem;border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.9rem}
.sidebar-link:hover,.sidebar-link.active{background:var(--bg);color:var(--orange);font-weight:600}
.sidebar-upgrade{display:block;margin-top:1rem;padding:.55rem .75rem;border-radius:var(--radius);background:var(--orange-light);color:var(--orange);text-decoration:none;font-size:.85rem;font-weight:600;text-align:center}
.sidebar-user{padding:1rem 1.5rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted);word-break:break-all}
.app-main{padding:2rem}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.card-title{font-size:1.1rem;font-weight:700;color:var(--dark)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}
th{font-weight:600;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;background:var(--bg)}
tr:last-child td{border-bottom:none}
.form-group{margin-bottom:1.25rem}
label{display:block;font-weight:600;font-size:.85rem;color:var(--dark);margin-bottom:.4rem}
input,select,textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-family:var(--font);background:var(--surface);color:var(--text)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(234,88,12,.1)}
.form-hint{font-size:.8rem;color:var(--muted);margin-top:.3rem}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.page-title{font-size:1.5rem;font-weight:800;color:var(--dark)}
.page-subtitle{color:var(--muted);font-size:.9rem;margin-top:.25rem}
.hero{background:var(--dark);color:white;padding:5rem 1.5rem;text-align:center}
.hero-inner{max-width:700px;margin:0 auto}
.hero h1{font-size:3rem;font-weight:900;line-height:1.1;margin-bottom:1rem}
.hero h1 span{color:var(--orange)}
.hero p{font-size:1.15rem;color:#9ca3af;margin-bottom:2rem}
.hero-actions{display:flex;gap:1rem;justify-content:center}
.section{max-width:1100px;margin:0 auto;padding:4rem 1.5rem}
.section-title{font-size:1.75rem;font-weight:800;color:var(--dark);text-align:center;margin-bottom:.5rem}
.section-sub{text-align:center;color:var(--muted);margin-bottom:3rem}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.feature-icon{font-size:1.5rem;margin-bottom:.75rem}
.feature-card h3{font-size:1rem;font-weight:700;margin-bottom:.4rem}
.feature-card p{color:var(--muted);font-size:.9rem}
.auth-wrap{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:2rem}
.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:420px}
.auth-title{font-size:1.5rem;font-weight:800;color:var(--dark);margin-bottom:.4rem}
.auth-sub{color:var(--muted);font-size:.9rem;margin-bottom:2rem}
.alert{padding:.9rem 1.25rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1.25rem;border:1px solid}
.alert-success{background:var(--green-light);color:#065f46;border-color:#6ee7b7}
.alert-error{background:var(--red-light);color:#991b1b;border-color:#fca5a5}
.alert-info{background:var(--orange-light);color:#9a3412;border-color:#fdba74}
.badge{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600}
.badge-valid{background:var(--green-light);color:var(--green)}
.badge-invalid{background:var(--red-light);color:var(--red)}
.empty{text-align:center;padding:4rem 2rem;color:var(--muted)}
.empty h3{font-size:1.1rem;color:var(--dark);margin-bottom:.5rem}
.empty p{font-size:.9rem;margin-bottom:1.5rem}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:700px;margin:0 auto}
.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}
.pricing-card.featured{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange)}
.pricing-name{font-weight:700;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.pricing-price{font-size:2.5rem;font-weight:900;color:var(--dark);margin:.5rem 0}
.pricing-price span{font-size:1rem;font-weight:400;color:var(--muted)}
.pricing-features{list-style:none;margin:1.5rem 0;display:flex;flex-direction:column;gap:.6rem}
.pricing-features li{font-size:.9rem}
.pricing-features li::before{content:'+ ';color:var(--orange);font-weight:700}
.footer{background:var(--dark);color:#6b7280;padding:2rem 1.5rem;font-size:.85rem}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{color:inherit;text-decoration:none}

/* Quick check inline form */
.inline-check{display:flex;gap:.5rem;max-width:460px;}
.inline-check input{flex:1}
.result-valid{background:var(--green-light);border:1px solid #6ee7b7;border-radius:var(--radius);padding:.75rem 1rem;color:#065f46;font-weight:600;margin-top:.75rem}
.result-invalid{background:var(--red-light);border:1px solid #fca5a5;border-radius:var(--radius);padding:.75rem 1rem;color:#991b1b;font-weight:600;margin-top:.75rem}
