:root{color-scheme:light;--ink:#1b1d22;--muted:#7b828f;--line:#e8e9ed;--light:#f5f6f8;--brand:#d12e43;--brand-dark:#b21c32;--nav:#14161b;--card:#fff;--green:#16875c;--radius:16px}*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px}body{margin:0;background:#f6f7f9;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.side{background:var(--nav);color:#b1b5bf;min-height:100vh;display:flex;flex-direction:column;padding:30px 19px 23px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:3px 9px 37px}.brand-icon{height:43px;width:43px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;line-height:1}.brand strong{display:block;letter-spacing:-1px;font-size:24px;line-height:1.1;font-weight:850}.brand strong span{color:#ee6d7e}.brand small{display:block;color:#7c8290;font-size:10px;letter-spacing:.06em;margin-top:5px}.nav-title{font-size:10px;letter-spacing:.14em;font-weight:750;color:#626874;margin:5px 11px 13px}.side nav{display:grid;gap:5px}.navlink{display:flex;align-items:center;border-radius:10px;font-weight:600;padding:13px 14px;transition:.17s;color:#a8acb5}.navlink:hover{background:#252830;color:#fff}.navlink.on{background:#322126;color:#ff9aaa}.side-bottom{margin-top:auto;border-top:1px solid #2e323b;padding:21px 10px 0;display:grid;gap:8px}.side-bottom span{font-weight:700;color:#f2f2f4;word-break:break-word}.side-bottom a{color:#999eaa;font-size:12px}.side-bottom a:hover{color:white}.main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;background:white;border-bottom:1px solid var(--line);padding:27px clamp(22px,4%,58px)}h1,h2,h3,p{margin-top:0}.topbar h1{font-size:27px;letter-spacing:-.8px;margin:6px 0 0}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.18em;color:var(--brand);text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:16px}.version{font-size:11px;color:#8c9098;font-weight:650}.body-content{width:100%;max-width:1450px;padding:32px clamp(22px,4%,58px) 56px;margin:auto;flex:1}.footer{border-top:1px solid var(--line);color:#999ca5;font-size:12px;padding:18px clamp(22px,4%,58px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;min-height:40px;padding:10px 15px;font-size:12px;white-space:nowrap;font-weight:750;border:1px solid transparent;text-align:center;transition:.16s}.btn:hover{transform:translateY(-1px)}.btn-main{background:var(--brand);color:white;border-color:var(--brand)}.btn-main:hover{background:var(--brand-dark)}.btn-subtle{background:white;border-color:#dfe1e6;color:#292d36}.btn-subtle:hover{background:#f6f6f8}.btn-white{background:white;color:var(--brand)}.btn-warn{background:#fff3f3;color:#a72d38;border-color:#ffdfe4}.btn:disabled{opacity:.4;cursor:not-allowed}.full{width:100%}.welcome{background:linear-gradient(120deg,#1e2028 0%,#252730 65%,#3c2129 100%);color:#fff;border-radius:17px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.welcome h2{font-size:27px;letter-spacing:-.7px;margin:10px 0}.welcome p{color:#c1c3cc;max-width:490px;line-height:1.6;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 23px}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 24px}.metric{background:white;border:1px solid var(--line);border-radius:14px;padding:22px 21px;min-width:0}.metric span{display:block;color:#7d8290;font-size:12px;font-weight:600}.metric strong{display:block;font-weight:780;font-size:34px;letter-spacing:-1px;margin:12px 0 6px;line-height:1}.metric small{color:#9599a5;font-size:11px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:27px;margin-bottom:22px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.section-head h2{font-size:18px;letter-spacing:-.35px;margin:0 0 5px}.section-head p{font-size:12px;color:#8d919b;margin:0}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;letter-spacing:.06em;color:#9398a2;font-weight:750;text-transform:uppercase;padding:13px 12px;background:#fafafb;white-space:nowrap}td{padding:18px 12px;border-top:1px solid #eff0f3;vertical-align:middle;font-size:12px;color:#5b616d}td strong{color:#20242d;font-weight:730}tr:hover td{background:#fdfdfe}.pill{display:inline-block;font-size:10px;font-weight:750;border-radius:40px;padding:6px 10px}.pill.good{color:#13794f;background:#e6f7ef}.pill.muted-pill{background:#f0f0f3;color:#7b7d87}.link{display:inline-block;background:none;border:0;padding:0;color:var(--brand);font-size:12px;font-weight:730;cursor:pointer}.link:hover{text-decoration:underline}.link.danger{color:#b33242}.empty{border:1px dashed #dddfe4;border-radius:11px;color:#8d919b;background:#fbfbfc;padding:40px 24px;text-align:center;line-height:1.6}.empty a{color:var(--brand);font-weight:700}.bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:12px;height:210px;padding:15px 3px 4px}.bar-item{display:flex;align-items:center;flex-direction:column;height:100%;justify-content:flex-end;gap:7px;min-width:0}.bar-track{height:140px;width:100%;max-width:38px;display:flex;align-items:end;justify-content:center}.bar-fill{background:linear-gradient(0deg,var(--brand),#f27c88);border-radius:6px 6px 3px 3px;width:100%;min-height:3px}.bar-item small{color:#9296a2;font-size:10px;white-space:nowrap}.bar-value{font-size:10px;color:#8c929e}.layout-2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:20px;align-items:start}.layout-2 .card{margin-bottom:0}.layout-2.form-layout{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr)}.form{display:grid;gap:19px}.form label{font-weight:700;font-size:12px;display:grid;gap:8px;color:#494f59}.form input:not([type=checkbox]),.form select,.filters input,.filters select{width:100%;background:#fff;border:1px solid #dee0e6;border-radius:9px;min-height:43px;padding:11px 12px;color:#222831;outline:none}.form input:focus,.form select:focus,.filters input:focus,.filters select:focus{border-color:#dc6373;box-shadow:0 0 0 3px #fce6ea}.form input::placeholder{color:#b3b7bf}.form .check{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:600}.check input{accent-color:var(--brand);width:17px;height:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-actions{display:flex;gap:9px;flex-wrap:wrap}.hint{color:#9094a0;font-size:11px;line-height:1.5;margin-top:-10px}.filters{display:flex;align-items:end;gap:12px;margin-bottom:19px;flex-wrap:wrap}.filters label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#777f89}.filters label.grow{flex:1;min-width:190px}.filters input,.filters select{min-width:130px}.inline-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.inline-actions form{display:inline}.alert{border:1px solid transparent;border-radius:10px;padding:13px 15px;font-size:12px;line-height:1.6;margin-bottom:18px}.alert.success{background:#edf8f2;border-color:#caebd8;color:#277c53}.alert.error{background:#fff0f1;border-color:#fbd0d4;color:#a52e42}.alert.info{background:#f3f6fc;border-color:#dee7f9;color:#576782;margin:22px 0 0}.alert a{text-decoration:underline}.preview-card .section-head{margin-bottom:16px}.qr-preview{display:grid;place-items:center;padding:32px;background:#f6f7f9;border:1px solid #e9ebef;border-radius:12px;min-height:260px;color:#989ca7;overflow:hidden}.qr-preview svg,.qr-preview img{display:block;width:min(100%,252px);height:auto;aspect-ratio:1;background:white}.small{font-size:11px;line-height:1.55}.muted{color:#8a909d}.code-url{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;word-break:break-all;background:#f7f8fa;border-radius:8px;padding:13px;font-size:11px;line-height:1.7;color:#5b626e;margin:15px 0}.crumb{color:#969aa6;font-size:11px;margin-bottom:24px}.crumb a{color:var(--brand)}.campaign-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.campaign-head h2{font-size:27px;letter-spacing:-.8px;margin:7px 0 12px}.campaign-head .pill{margin-right:12px}.button-stack{display:grid;gap:10px;margin-top:18px}.detail{border-bottom:1px solid #edf0f3;padding:16px 0;display:grid;gap:8px}.detail span{font-size:11px;font-weight:730;color:#848995}.break-url{overflow-wrap:anywhere;line-height:1.7;color:#404753;font-size:12px}.detail a{color:var(--brand)}code{font-size:12px;color:#5e6570}.login-body{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at top right,#4b2730,transparent 55%),#15161c}.auth-card{background:white;border-radius:17px;padding:42px;width:100%;max-width:410px;box-shadow:0 24px 90px #0004}.auth-card.wide{max-width:610px}.auth-logo{display:flex;align-items:center;gap:10px;color:#d12e43;font-weight:800;font-size:25px;margin-bottom:30px}.auth-logo span{color:#21242b}.auth-card h1{font-size:25px;letter-spacing:-.8px;margin:0 0 10px}.auth-card p{color:#9295a0;line-height:1.65;font-size:12px;margin-bottom:26px}.auth-card h3{font-size:14px;margin:12px 0 0}.auth-card .muted{margin-bottom:0}.auth-card .alert{margin:0}.auth-card .form{gap:18px}.form .btn{min-height:44px}.form input:focus-visible,.form select:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #a91d35;outline-offset:2px}
@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-2,.layout-2.form-layout{grid-template-columns:1fr}.side{width:210px}.app{grid-template-columns:210px minmax(0,1fr)}.side{padding-left:12px;padding-right:12px}.topbar{padding:23px 28px}.body-content{padding:25px 28px 40px}}
@media(max-width:700px){.app{display:block}.side{position:relative;width:auto;height:auto;min-height:0;display:block;padding:15px}.brand{padding:0 3px 14px}.brand small,.nav-title,.side-bottom{display:none!important}.side nav{display:flex;overflow-x:auto;gap:6px}.side .navlink{padding:10px;white-space:nowrap;font-size:11px}.topbar{padding:19px 17px;align-items:flex-start}.topbar h1{font-size:22px}.top-actions{gap:8px}.top-actions .version{display:none}.top-actions .btn{padding:9px 11px;font-size:10px}.body-content{padding:20px 14px 38px}.metric{padding:17px}.metric strong{font-size:28px}.card{padding:18px}.welcome{padding:23px;display:block}.welcome h2{font-size:23px}.welcome .btn{margin-top:15px}.section-head{align-items:flex-start}.bar-item small{font-size:8px;transform:rotate(-35deg);transform-origin:center}.bars{gap:5px}.bar-value{font-size:8px}.campaign-head{display:block}.campaign-head .inline-actions{margin-top:17px}.form-grid{grid-template-columns:1fr}.auth-card{padding:26px}.footer{padding:18px 15px}}
@media print{body{background:white!important}.app{display:block;min-height:0}.side,.topbar,.footer,.btn,.print-hide,.crumb,.inline-actions{display:none!important}.body-content{max-width:none;padding:0}.card{border:0;border-radius:0;padding:0;margin:0 0 25px;break-inside:avoid}.metric{border:1px solid #ddd}.metric-grid{grid-template-columns:repeat(3,1fr)}.table-wrap{overflow:visible}table{font-size:11px}tr{break-inside:avoid}a{color:#333}.welcome{background:white!important;color:black;display:none}@page{margin:15mm;size:A4}}
