:root{--navy:#12345b;--blue:#1b5b91;--cyan:#2d8bb8;--ink:#172033;--muted:#667085;--bg:#f3f6fa;--card:#fff;--line:#d9e1ea;--success:#137a55;--danger:#b42318;--warn:#b26a00;--radius:16px;--shadow:0 12px 34px rgba(18,52,91,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:var(--blue);text-decoration:none}h1,h2,h3{line-height:1.2;margin:0 0 .7rem}p{margin:.4rem 0 1rem}.muted{color:var(--muted)}.small{font-size:.86rem}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{background:linear-gradient(120deg,var(--navy),#0d2745);color:#fff;padding:14px 0;position:sticky;top:0;z-index:20;box-shadow:0 4px 18px rgba(0,0,0,.12)}.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2d8bb8,#84d3ef);color:#fff;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.brand small{display:block;color:#cde3f2}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{color:#dceaf4;padding:9px 12px;border-radius:10px;font-size:.92rem}.nav a:hover,.nav a.active{background:rgba(255,255,255,.12);color:#fff}.page{padding:28px 0 54px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card.compact{padding:16px}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-20px;top:-30px;width:90px;height:90px;border-radius:50%;background:rgba(45,139,184,.08)}.stat .value{font-size:2rem;font-weight:800;color:var(--navy)}.stat .label{color:var(--muted);font-size:.9rem}.mode-banner{border-radius:18px;padding:20px 22px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.mode-banner.trial{background:linear-gradient(120deg,#86510a,#d38513)}.mode-banner.final{background:linear-gradient(120deg,#116447,#16996b)}.mode-banner.off{background:linear-gradient(120deg,#3c4658,#667085)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700;background:#e8eef5;color:var(--navy)}.badge.trial{background:#fff0d6;color:#8d5605}.badge.final{background:#dcfae6;color:#087443}.badge.active{background:#dcfae6;color:#087443}.badge.closed{background:#f2f4f7;color:#475467}.badge.draft{background:#e9eef4;color:#44546a}.badge.danger{background:#fee4e2;color:#b42318}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:10px 15px;font-weight:700;cursor:pointer;font:inherit;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#e8eef5;color:var(--navy)}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.warn{background:#c67700;color:#fff}.btn.ghost{background:transparent;color:var(--blue);border:1px solid var(--line)}.btn.small{padding:7px 10px;font-size:.84rem}.btn.wide{width:100%;margin-top:14px}form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #c9d3df;border-radius:10px;padding:11px 12px;margin-top:6px;background:#fff;color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#4f9bc2;box-shadow:0 0 0 3px rgba(45,139,184,.13)}textarea{min-height:110px;resize:vertical}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse;font-size:.91rem}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e6ebf1;vertical-align:top}th{background:#edf3f8;color:var(--navy);font-size:.82rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}tr:last-child td{border-bottom:0}.alert{padding:12px 14px;border-radius:11px;margin:10px 0 16px}.alert.success{background:#dcfae6;color:#07673e;border:1px solid #a6eac1}.alert.danger{background:#fee4e2;color:#9f1a12;border:1px solid #f6b9b5}.alert.warning{background:#fff2d9;color:#86510a;border:1px solid #f2d39a}.alert.info{background:#e7f3fb;color:#154d73;border:1px solid #b9daee}.installer{min-height:100vh;padding:44px 20px;background:radial-gradient(circle at top left,#d8ecf7,transparent 38%),var(--bg)}.install-card{max-width:780px;margin:auto;background:#fff;border-radius:22px;padding:30px;box-shadow:var(--shadow);border:1px solid var(--line)}.install-card>.brand-mark{margin-bottom:18px}.requirements{border:1px solid var(--line);border-radius:14px;padding:15px;margin:20px 0}.req{display:grid;grid-template-columns:26px 1fr auto;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line)}.req:last-child{border:0}.req em{font-style:normal;color:var(--muted);font-size:.85rem}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0c2644,#174f7c)}.login-card{width:min(450px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.28)}.login-card .brand-mark{margin-bottom:18px}.public-hero{background:linear-gradient(130deg,#0e2e50,#1b5b91);color:#fff;padding:54px 0}.public-hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:850px}.campaign-card{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.form-shell{width:min(900px,calc(100% - 28px));margin:30px auto 70px}.form-header{background:linear-gradient(130deg,#12345b,#1f6a9f);color:#fff;border-radius:20px;padding:26px;margin-bottom:18px;box-shadow:var(--shadow)}.progress{height:9px;background:#dce5ee;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#1b5b91,#4bb5d8);width:0}.question{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;margin-bottom:14px}.question.invalid{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.08)}.question-number{font-size:.78rem;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.05em}.question-text{font-weight:700;margin:5px 0 13px}.stimulus{background:#f0f5f9;border-left:4px solid var(--cyan);padding:13px 14px;border-radius:8px;margin:10px 0}.options{display:grid;gap:9px}.option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);padding:10px 12px;border-radius:10px;cursor:pointer}.option:hover{background:#f7fafc}.option input{width:auto;margin:3px 0 0}.option span{font-weight:500}.help{color:var(--muted);font-size:.84rem;margin-top:5px}.analysis-good{color:#087443;font-weight:700}.analysis-watch{color:#b26a00;font-weight:700}.analysis-bad{color:#b42318;font-weight:700}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.tabs a{padding:9px 12px;border-radius:10px;background:#e8eef5;color:var(--navy);font-weight:700}.tabs a.active{background:var(--blue);color:#fff}.decision-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:12px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef3f7;padding:2px 6px;border-radius:6px}.print-only{display:none}@media(max-width:850px){.grid.four,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .container{align-items:flex-start;flex-direction:column}.nav{width:100%;overflow:auto;flex-wrap:nowrap}.decision-row{grid-template-columns:1fr}.campaign-card{grid-template-columns:1fr}}@media(max-width:600px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.container{width:min(100% - 20px,1180px)}.card{padding:16px}.page{padding-top:18px}.public-hero{padding:34px 0}.form-shell{width:min(100% - 16px,900px)}.mode-banner{align-items:flex-start;flex-direction:column}}@media print{.topbar,.actions,.btn,.no-print{display:none!important}.print-only{display:block}.page{padding:0}.card{box-shadow:none;border:0}.container{width:100%}body{background:#fff}}
