*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#eef1f1;color:#16211f;font-family:'Plus Jakarta Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:#17606c}a:hover{color:#0f454e}
button,input,select,textarea{font:inherit;color:inherit}
.admin-wrap{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:#0f3b42;color:#fff;padding:20px 16px;display:flex;flex-direction:column;gap:22px}
.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand:hover{color:#fff}
.brand-mark{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:13px;font-weight:800}
.brand-main{font-size:13px;font-weight:800;letter-spacing:-.2px;line-height:1.1}
.brand-sub{font-size:9.5px;font-weight:600;opacity:.65;letter-spacing:.4px;margin-top:2px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:9px;color:rgba(255,255,255,.75);transition:.15s}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.on{background:rgba(255,255,255,.14);color:#fff}.nav-item.on .nav-label{font-weight:800}.nav-item.on .nav-dot{background:#8fd0c4}
.nav-dot{width:8px;height:8px;border-radius:3px;flex:none;background:rgba(255,255,255,.3)}
.nav-label{flex:1;font-size:12.5px;font-weight:600}.nav-count{font-size:10.5px;font-weight:700;opacity:.55}
.session-box{margin-top:auto;background:rgba(255,255,255,.08);border-radius:12px;padding:13px}
.session-label{font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;opacity:.6}
.session-name{font-size:12.5px;font-weight:700;margin-top:6px}
.session-links{display:flex;gap:10px;margin-top:11px}.session-links a{font-size:10.5px;font-weight:800;color:#8fd0c4}
.mnav{display:none}
.content{padding:24px 26px 60px;min-width:0;max-width:1240px}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}
.head-copy{flex:1 1 260px;min-width:0}
.eyebrow{font-size:10.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#17606c}
.title{margin:8px 0 0;font-size:24px;font-weight:800;letter-spacing:-.8px}
.lead{font-size:12.5px;color:#788685;margin-top:6px;line-height:1.55;max-width:620px}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1.5px solid rgba(0,0,0,.12);min-height:40px;padding:0 15px;border-radius:11px;background:#fff;color:#16211f;font-size:12.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:#17606c;color:#17606c}
.btn.primary{border:0;background:#17606c;color:#fff}.btn.primary:hover{background:#0f454e;color:#fff}
.btn.wa{border:0;background:#1f9d55;color:#fff}.btn.wa:hover{background:#178246;color:#fff}
.btn.danger{color:#a8452f}.btn.danger:hover{border-color:#a8452f;color:#a8452f}
.btn.sm{min-height:32px;padding:0 11px;font-size:11.5px;border-radius:9px}
.btn.ghost{border-color:transparent;background:transparent}
.grid{display:grid;gap:14px}
.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-top:16px}
.card{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:16px;padding:18px}
.stat{padding:16px}
.label{font-size:9.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#9aa8a7}
.value{font-size:23px;font-weight:800;letter-spacing:-.8px;margin-top:7px}
.sub{font-size:11px;color:#8d9b9a;margin-top:4px;line-height:1.5}
.sub.ok{color:#2f7a4f;font-weight:700}.sub.warn{color:#8a6a1f;font-weight:700}.sub.bad{color:#a8452f;font-weight:700}
.columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:14px}
.card-title{font-size:13.5px;font-weight:800}
.card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-head .grow{flex:1}
.mono{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:10.5px;font-weight:800;flex:none}
.row{display:flex;align-items:center;gap:11px}.grow{flex:1;min-width:0}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:7px;font-size:9.5px;font-weight:800;letter-spacing:.3px;white-space:nowrap}
.chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;color:#4a5958;background:#f1f4f4;border-radius:6px;padding:3px 8px;margin:2px 4px 2px 0}
.table-wrap{overflow:auto;margin-top:12px;border-radius:10px}
.table{width:100%;border-collapse:collapse;font-size:11.5px}
.table th{padding:10px 9px;text-align:left;color:#9aa8a7;text-transform:uppercase;font-size:9px;letter-spacing:.7px;border-bottom:1px solid rgba(0,0,0,.07);white-space:nowrap;position:sticky;top:0;background:#fff}
.table td{padding:11px 9px;border-bottom:1px solid rgba(0,0,0,.05);vertical-align:top}
.table tr:hover td{background:#f8faf9}
.table .num{color:#9aa8a7;font-size:10.5px}
.search{display:flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,.12);border-radius:11px;background:#fff;min-height:40px;padding:0 12px;min-width:220px;flex:1}
.search input{width:100%;border:0;outline:0;background:transparent;font-size:12.5px}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
select.input,.input{width:100%;border:1.5px solid rgba(0,0,0,.12);border-radius:11px;background:#fff;min-height:42px;padding:9px 12px;font-size:13px;outline:0}
textarea.input{resize:vertical;line-height:1.55}
.input:focus{border-color:#17606c;box-shadow:0 0 0 3px rgba(23,96,108,.12)}
.field{display:flex;flex-direction:column;gap:6px}
.field>span{font-size:11px;font-weight:800;color:#4a5958}
.field small{font-size:10.5px;color:#8d9b9a;line-height:1.5}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid .full{grid-column:1/-1}
.section-label{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#17606c;margin:22px 0 12px;padding-top:16px;border-top:1px dashed rgba(0,0,0,.1)}
.section-label:first-child{margin-top:0;padding-top:0;border-top:0}
.checks{display:flex;flex-wrap:wrap;gap:7px}
.check{display:inline-flex;align-items:center;gap:7px;border:1.5px solid rgba(0,0,0,.1);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer;background:#fff}
.check input{accent-color:#17606c}
.check:has(input:checked){border-color:#17606c;background:#e3eeef;color:#0f454e}
.radio-row{display:flex;gap:8px;flex-wrap:wrap}
.alert{border-radius:12px;padding:12px 14px;margin-top:14px;font-size:12.5px;font-weight:700;line-height:1.5}
.alert.ok{background:#e6f2ea;color:#2f7a4f;border:1px solid rgba(47,122,79,.18)}
.alert.bad{background:#f6e6e2;color:#a8452f;border:1px solid rgba(168,69,47,.18)}
.alert.info{background:#e3eeef;color:#0f454e;border:1px solid rgba(23,96,108,.15);font-weight:600}
.empty{padding:28px 10px;text-align:center;color:#8d9b9a;font-size:12px;line-height:1.6}
.ev-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ev-item{display:flex;gap:13px;align-items:center;border:1px solid rgba(0,0,0,.07);border-radius:14px;padding:12px 14px;background:#fff}
.datebox{flex:none;width:50px;display:flex;flex-direction:column;align-items:center;padding:7px 0;background:#f6f8f8;border-radius:11px}
.datebox .d1{font-size:8.5px;font-weight:700;letter-spacing:.6px;color:#8d9b9a;text-transform:uppercase}
.datebox .d2{font-size:19px;font-weight:800;line-height:1.05;letter-spacing:-.8px}
.datebox .d3{font-size:9.5px;font-weight:700;color:#4a5958}
.ev-name{font-size:13.5px;font-weight:800;line-height:1.3}
.muted{font-size:11px;color:#8d9b9a;margin-top:2px;line-height:1.45}
.ev-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.wa-preview{background:#e7f3ea;border-radius:14px;padding:14px}
.wa-bubble{background:#d9fdd3;border-radius:10px 10px 2px 10px;padding:10px 12px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 1px rgba(0,0,0,.08);margin-left:auto;max-width:100%}
.wa-to{font-size:10.5px;font-weight:700;color:#2f7a4f;margin-bottom:8px}
.vars{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.vars code{font-size:10.5px;background:#f1f4f4;border-radius:5px;padding:2px 6px;cursor:pointer;color:#17606c;font-weight:700}
.src-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.src-item{border:1px solid rgba(0,0,0,.07);border-radius:14px;padding:13px 14px;background:#fff}
.src-item.on{border-color:#17606c;box-shadow:0 0 0 3px rgba(23,96,108,.1)}
.src-top{display:flex;gap:11px;align-items:flex-start}
.src-title{font-size:13px;font-weight:800;line-height:1.3;color:#16211f}
.src-url{font-size:10.5px;color:#8d9b9a;word-break:break-all;margin-top:3px}
.src-foot{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed rgba(0,0,0,.08)}
.mark{background:#fdf0c2;border-radius:3px;padding:0 1px}
details.box{border:1px solid rgba(0,0,0,.07);border-radius:14px;background:#fff;padding:0}
details.box>summary{list-style:none;padding:14px 16px;cursor:pointer;font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px}
details.box>summary::-webkit-details-marker{display:none}
details.box>summary::after{content:'+';margin-left:auto;font-size:16px;color:#9aa8a7}
details.box[open]>summary::after{content:'−'}
details.box>.inner{padding:0 16px 16px}
.poster-thumb{width:100%;max-width:220px;border-radius:12px;border:1px solid rgba(0,0,0,.08);display:block}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:#0f3b42}
.login-card{width:100%;max-width:380px;background:#fff;border-radius:20px;padding:26px}
@media(max-width:899px){
  .admin-wrap{display:block}
  .sidebar{position:static;height:auto;padding:13px 16px;flex-direction:row;align-items:center}
  .sidebar .nav,.session-box{display:none}
  .mnav{display:flex;gap:6px;overflow-x:auto;padding:10px 16px;background:#0f3b42;position:sticky;top:0;z-index:5}
  .mnav a{flex:none;padding:7px 12px;border-radius:99px;font-size:12px;font-weight:700;color:rgba(255,255,255,.8);background:rgba(255,255,255,.08)}
  .mnav a.on{background:#fff;color:#0f3b42}
  .content{padding:18px 16px 60px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:1fr}
  .ev-item{flex-wrap:wrap}.ev-actions{width:100%;justify-content:flex-start}
  .title{font-size:21px}
}
