:root{--red:#df1e32;--ink:#1f2328;--muted:#68707a;--line:#e6e8eb;--bg:#f4f5f7;--sidebar:#202225;--green:#167a56}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;margin:0;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.admin-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:#fff;display:flex;flex-direction:column;height:100vh;padding:24px 16px;position:sticky;top:0}.admin-brand{align-items:center;border-bottom:1px solid #3a3c40;display:flex;gap:12px;min-height:58px;padding:0 10px 24px;text-decoration:none}.admin-brand span,.login-brand span{background:var(--red);border-radius:50%;color:#fff;display:grid;font-weight:900;height:38px;place-items:center;width:38px}.admin-brand strong{font-size:.98rem}.sidebar nav{display:grid;gap:6px;margin-top:26px}.sidebar nav a{align-items:center;border-radius:6px;color:#cfd2d6;display:flex;font-size:.92rem;font-weight:650;gap:13px;padding:12px 14px;text-decoration:none}.sidebar nav a span{color:#aeb2b7;text-align:center;width:20px}.sidebar nav a.router-link-active,.sidebar nav a:hover{background:#35383d;color:#fff}.sidebar nav a.router-link-active span{color:#ff7180}.sidebar-footer{border-top:1px solid #3a3c40;margin-top:auto;padding:18px 12px 4px}.sidebar-footer a{color:#cfd2d6;font-size:.85rem}.admin-main{min-width:0}.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);color:var(--muted);display:flex;font-size:.85rem;gap:12px;height:72px;padding:0 34px}.environment-dot{background:#e2a11b;border-radius:50%;display:inline-block;height:8px;margin-right:7px;width:8px}.logout-button,.sidebar-toggle,.text-button{background:transparent;border:0;cursor:pointer}.logout-button{color:var(--muted);margin-left:auto}.sidebar-toggle{display:none;font-size:1.4rem}.admin-content{padding:34px}.page-header{align-items:center;display:flex;gap:30px;justify-content:space-between;margin-bottom:28px}.page-header h1{font-size:1.75rem;letter-spacing:-.02em;margin:0 0 7px}.page-header p{color:var(--muted);margin:0}.admin-button{background:#fff;border:1px solid #ccd0d5;border-radius:5px;color:var(--ink);cursor:pointer;font-size:.86rem;font-weight:700;min-height:40px;padding:0 17px}.admin-button--primary{background:var(--red);border-color:var(--red);color:#fff}.admin-button:disabled{cursor:not-allowed;opacity:.55}.metric-grid{display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:142px;padding:24px}.metric-grid span{color:var(--muted);font-size:.84rem}.metric-grid strong{font-size:2rem;margin:11px 0 7px}.metric-grid small{color:#959ba3;margin-top:auto}.metric-grid .metric-card--accent{background:#087b85;border-color:#087b85;color:#fff}.metric-grid .metric-card--accent small,.metric-grid .metric-card--accent span{color:#ffffffbf}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-heading{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;min-height:82px;padding:18px 22px}.panel-heading h2{font-size:1.05rem;margin:0 0 4px}.panel-heading p{color:var(--muted);font-size:.82rem;margin:0}.panel-heading a,.text-button{color:var(--red);font-size:.84rem;font-weight:700}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:.88rem;text-align:left;width:100%}th{background:#fafafa;color:#747b84;font-size:.76rem;letter-spacing:.04em;padding:13px 20px;text-transform:uppercase}td{border-top:1px solid var(--line);padding:17px 20px}tbody tr:hover{background:#fcfcfc}.table-subtitle{color:var(--muted);display:block;margin-top:4px}.empty-cell{color:var(--muted);padding:40px;text-align:center}.status-badge{background:#fff5c3;border-radius:999px;color:#67580c;display:inline-flex;font-size:.7rem;font-weight:800;letter-spacing:.03em;padding:5px 8px}.status-badge[data-status=ACTIVE],.status-badge[data-status=PAID],.status-badge[data-status=PUBLISHED]{background:#dff5eb;color:#075f3f}.status-badge[data-status=CANCELED],.status-badge[data-status=FAILED]{background:#fde3e7;color:#9b1c2c}.state-message{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);padding:34px}.state-message--error{background:#fff7f8;border-color:#f2cbd0;color:#a21e2d;display:grid;gap:6px}.card-list{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}.campaign-card{background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;gap:24px;justify-content:space-between;padding:25px}.campaign-card h2{font-size:1.15rem;margin:16px 0 8px}.campaign-card p{color:var(--muted);font-size:.8rem;margin:0}.campaign-card dl{display:grid;gap:13px;margin:0;min-width:150px}.campaign-card dl div{border-bottom:1px solid var(--line);padding-bottom:10px}.campaign-card dt{color:var(--muted);font-size:.74rem}.campaign-card dd{font-weight:800;margin:4px 0 0}.auth-layout{background:radial-gradient(circle at 20% 15%,#ffd7dc 0,transparent 35%),linear-gradient(135deg,#f8f1e8,#eef5f3);display:grid;min-height:100vh;padding:30px;place-items:center}.login-card{background:#fff;border-radius:12px;box-shadow:0 24px 60px #211e1c24;padding:38px 40px;width:min(100%,440px)}.login-brand{align-items:center;display:flex;gap:12px}.login-heading{margin:38px 0 28px}.login-heading>span{color:var(--red);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.login-heading h1{font-size:1.8rem;margin:9px 0 8px}.login-heading p,.login-note{color:var(--muted)}.login-card form{display:grid;gap:18px}.login-card label{display:grid;font-size:.84rem;font-weight:700;gap:7px}.login-card input{border:1px solid #cdd1d6;border-radius:5px;min-height:46px;padding:0 12px}.login-card .admin-button{margin-top:4px}.form-error{color:#a21e2d;font-size:.82rem;margin:0}.login-note{font-size:.76rem;margin:22px 0 0;text-align:center}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.card-list{grid-template-columns:1fr}}@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.sidebar{left:0;position:fixed;transform:translate(-100%);transition:transform .18s ease;width:248px;z-index:20}.sidebar.is-open{transform:translate(0)}.sidebar-toggle{display:block}.admin-content,.topbar{padding-left:18px;padding-right:18px}.page-header{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr}.campaign-card{flex-direction:column}.login-card{padding:30px 24px}}
