.adm{background:var(--paper)}
.adm__bar{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 4px 16px -10px rgba(0,0,0,.25)}
.adm__barin{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;flex-wrap:wrap;padding:.3rem 0}
.adm__brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.adm__brand img{height:46px;width:auto} .adm__brand span{font:600 .78rem var(--head);text-transform:uppercase;letter-spacing:.12em;color:var(--steel);border-left:2px solid var(--line);padding-left:.8rem}
.adm__user{display:flex;gap:.3rem;flex-wrap:wrap} .adm__user a{text-decoration:none;font-weight:600;font-size:.88rem;padding:.4rem .7rem;border-radius:8px;color:var(--steel)}
.adm__user a:hover,.adm__user a.is-on{background:var(--primary-l);color:var(--primary)}
.adm__nav{background:var(--primary);border-bottom:3px solid var(--accent)}
.adm__nav .wrap{display:flex;gap:.15rem;overflow-x:auto}
.adm__nav a{color:#fff;text-decoration:none;padding:.7rem .9rem;font:600 .9rem var(--head);white-space:nowrap;opacity:.9;border-radius:8px 8px 0 0;margin-top:4px}
.adm__nav a:hover{opacity:1;background:rgba(255,255,255,.12)} .adm__nav a.is-on{background:var(--accent);color:var(--ink);opacity:1}
.adm__nav a.is-on .badge{background:var(--primary);color:#fff}
.adm__main{padding:2rem 0 4rem}
.adm__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.adm__head h1{font-size:2.2rem;margin:0;display:flex;align-items:center;gap:.6rem} .adm__head small{font:500 1rem var(--body)}
.adm .panel{margin-bottom:1.5rem} .adm .panel h2{font-size:1.35rem}
.panel--flush{padding:0;overflow:hidden}
.row-gap{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.narrow{max-width:460px;display:grid;gap:1rem}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem 1.4rem;text-decoration:none;transition:.15s}
.kpi:hover{border-color:var(--primary)} .kpi b{color:var(--primary)} .kpi--hot b{color:var(--primary-dd)} .kpi b{display:block;font:700 2.4rem var(--head)} .kpi span{color:var(--steel);font-size:.9rem}
.kpi--hot{background:var(--accent);border-color:var(--accent)} .kpi--hot span{color:var(--ink)}
.tbl{overflow-x:auto}
.tbl table{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--steel);padding:.8rem 1rem;border-bottom:1px solid var(--line);background:#fbfaf7;white-space:nowrap}
.tbl td{padding:.7rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0} .tbl tr.is-off{opacity:.55}
.tbl td input,.tbl td select{padding:.45rem .6rem;font-size:.92rem}
.clickrow{cursor:pointer} .clickrow:hover td{background:var(--accent-l)}
.thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;background:var(--paper)}
.strong{font-weight:600;text-decoration:none} .strong:hover{text-decoration:underline}
.acts{white-space:nowrap} .acts form{display:inline} .acts .btn{margin-left:.25rem}
.btn--danger{background:#fff;color:var(--danger);box-shadow:inset 0 0 0 1.5px #f0c4bf} .btn--danger:hover{background:var(--danger);color:#fff}
.pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;font:600 .78rem var(--body);background:var(--paper);color:var(--steel)}
.pill--new{background:var(--accent);color:var(--ink)} .pill--quoted{background:#e3eefc;color:#1c4f91}
.pill--done{background:#e2f4ea;color:var(--ok)} .pill--closed{background:#eceae4;color:var(--steel)}
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.toolbar input[type=search]{max-width:320px} .toolbar select{max-width:240px}
.check{display:inline-flex;gap:.4rem;align-items:center;font-weight:500;white-space:nowrap}
.tabs{display:flex;gap:.3rem;flex-wrap:wrap} .tabs a{padding:.5rem .9rem;border-radius:8px;text-decoration:none;font-weight:600;background:#fff;border:1px solid var(--line)}
.tabs a.is-on{background:var(--primary);color:#fff;border-color:var(--primary)}
.pe{display:grid;grid-template-columns:1fr 330px;gap:1.5rem;align-items:start}
.pe__side{position:sticky;top:84px} .pe__side .panel{display:grid;gap:.8rem}
.imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem;margin-bottom:.5rem}
.imgs__item{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;display:grid;font-size:.85rem}
.imgs__item img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--paper)}
.imgs__item label{display:flex;gap:.4rem;align-items:center;padding:.35rem .6rem;cursor:pointer}
.imgs__del{color:var(--danger);border-top:1px solid var(--line)}
.specrows{display:grid;gap:.5rem;margin-bottom:.9rem}
.specrow{display:grid;grid-template-columns:1fr 1.6fr 40px;gap:.5rem}
.specrow__rm{border:0;background:none;border-radius:8px;cursor:pointer;color:var(--steel)} .specrow__rm:hover{background:#fdeceb;color:var(--danger)}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.3rem .75rem;font:500 .85rem var(--body);cursor:pointer} .chip:hover{border-color:var(--primary);color:var(--primary)}
.switch{display:flex;align-items:center;gap:.7rem;font-weight:600;cursor:pointer}
.switch input{position:absolute;opacity:0}
.switch span{width:42px;height:24px;border-radius:12px;background:#d6d3ca;position:relative;transition:.2s;flex:0 0 auto}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.switch input:checked+span{background:var(--ok)} .switch input:checked+span::after{left:21px}
.switch input:focus-visible+span{box-shadow:0 0 0 3px rgba(226,49,43,.3)}
.catform{display:grid;grid-template-columns:1.2fr 1fr 2fr 80px auto;gap:.6rem}
.dl{display:grid;grid-template-columns:110px 1fr;gap:.5rem 1rem;margin:0 0 1rem} .dl dt{color:var(--steel);font-size:.9rem} .dl dd{margin:0;font-weight:500}
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-dd));padding:16px}
.login__box{width:min(400px,100%);background:#fff;border-radius:var(--r-lg);padding:2rem;display:grid;gap:1rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.login__box{border-top:6px solid var(--accent)} .login__logo{display:grid;justify-items:center;gap:.4rem;margin-bottom:.5rem} .login__logo img{height:90px} .login__logo span{font:600 .78rem var(--head);text-transform:uppercase;letter-spacing:.14em;color:var(--steel)}
@media (max-width:900px){
  .kpis{grid-template-columns:1fr 1fr} .pe{grid-template-columns:1fr} .pe__side{position:static}
  .catform{grid-template-columns:1fr} .adm__nav a{padding:.4rem .6rem;font-size:.88rem}
}
.adm .chip{margin:0}
@media print{ .adm__bar,.adm__head .row-gap,.pe__side form,.btn{display:none!important} .adm{background:#fff} .pe{grid-template-columns:1fr} }

/* settings / pages / slides */
.stabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1.2rem;position:sticky;top:120px;z-index:5;background:var(--paper);padding:.4rem 0}
.stabs a{padding:.55rem 1rem;border-radius:999px;text-decoration:none;font-weight:600;background:#fff;border:1px solid var(--line);font-size:.9rem}
.stabs a:hover{border-color:var(--primary);color:var(--primary)}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem} .sgrid .field--full{grid-column:1/-1}
.help{font-weight:400;color:var(--steel);font-size:.8rem}
.imgfield{display:flex;gap:1rem;align-items:center;padding:.8rem;border:1.5px dashed var(--line);border-radius:var(--r);background:#fff}
.imgfield img{height:64px;max-width:180px;object-fit:contain;background:var(--paper);border-radius:6px;padding:4px}
.imgfield input[type=file]{font-size:.85rem}
.colorrow{display:flex;gap:.6rem;align-items:center} .colorrow input[type=color]{width:52px;height:42px;border:1.5px solid var(--line);border-radius:8px;padding:2px;background:#fff;cursor:pointer}
.savebar{position:sticky;bottom:0;background:rgba(251,248,242,.96);backdrop-filter:blur(6px);padding:.9rem 0;border-top:1px solid var(--line);display:flex;gap:.8rem;align-items:center;z-index:5}
.rtb{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;margin-bottom:.35rem}
.rtb button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:.25rem .6rem;font:600 .8rem var(--body);cursor:pointer}
.rtb button:hover{border-color:var(--primary);color:var(--primary)} .rtb span{margin-left:.4rem}
textarea.code{font-family:ui-monospace,Consolas,monospace;font-size:.88rem;line-height:1.55}
.slist{display:grid;gap:.8rem}
.srow{display:grid;grid-template-columns:40px 150px 1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:.7rem 1rem}
.srow.is-off{opacity:.55}
.srow__n{font:700 1.3rem var(--head);color:var(--primary);text-align:center}
.srow__img{height:84px;border-radius:8px;display:grid;place-items:center;overflow:hidden;padding:4px}
.srow__img img{max-height:100%;object-fit:contain}
.srow__img--red{background:var(--primary)} .srow__img--yellow{background:#eceef1} .srow__img--light{background:#fff;border:1px solid var(--line)}
.srow h3{margin:0 0 .2rem;font-size:1rem}
.themepick{display:flex;gap:.6rem;flex-wrap:wrap}
.themepick label{display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:pointer;font-weight:600;font-size:.85rem}
.themepick input{position:absolute;opacity:0}
.themepick i{width:84px;height:52px;border-radius:8px;border:3px solid transparent;box-shadow:inset 0 0 0 1px var(--line)}
.themepick input:checked+i{border-color:var(--ink)}
.themepick input:focus-visible+i{outline:2px solid var(--primary);outline-offset:2px}
.th-red{background:linear-gradient(110deg,var(--primary-dd),var(--primary))} .th-yellow{background:linear-gradient(90deg,#eceef1 52%,#fff 52%)} .th-light{background:linear-gradient(90deg,#fff 52%,var(--paper) 52%)}
.th-banner{background:linear-gradient(90deg,#3a1210,#8a6a55)}
.clist{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem}
.citem{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid}
.citem img{height:100px;width:100%;object-fit:contain;padding:.6rem;background:#fff;border-bottom:1px solid var(--line)}
.citem form{display:grid;gap:.4rem;padding:.6rem}
.citem input{padding:.35rem .5rem;font-size:.85rem}
@media (max-width:900px){ .sgrid{grid-template-columns:1fr} .srow{grid-template-columns:1fr;text-align:left} .srow__n{text-align:left} .stabs{top:0;position:static} }

.mlist{display:grid;gap:.5rem}
.mrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mrow--child{margin-left:2rem;background:var(--paper)} .mrow.is-off{opacity:.55}
[hidden]{display:none!important}

.testmail{margin-top:1.2rem;padding:1rem 1.2rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.testmail .row-gap{margin-top:.5rem} .testmail ol{padding-left:1.2rem;line-height:1.8}
.okbox{background:#e8f6ee;border:1px solid #b7e2c8;color:#145c34;padding:1rem 1.2rem;border-radius:var(--r);margin-bottom:1.5rem}
.log{white-space:pre-wrap;font-size:.78rem;max-height:240px;overflow:auto;background:#fff;border:1px solid var(--line);padding:.6rem;border-radius:6px;color:var(--ink)}
.olist{display:grid;gap:.5rem;margin-bottom:.8rem}
.orow{display:grid;grid-template-columns:1.2fr 1.2fr 1.4fr 36px;gap:.5rem;align-items:center;padding:.5rem;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.orow select,.orow input{padding:.5rem .6rem;font-size:.9rem}
.orow [data-ofor]{grid-column:3}
.orow .specrow__rm{grid-column:4;grid-row:1}
.clist2{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;align-items:start}
.cnode{margin:0!important}
.cnode__head{display:flex;justify-content:space-between;gap:.6rem;align-items:start}
.cnode__head h3{margin:.4rem 0 0;font-size:1rem}
.bubble{background:var(--paper);border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:.7rem .9rem;margin:.8rem 0;font-size:.92rem}
.cnode__opts{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.cnode__opts li{padding:.4rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.88rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:baseline}
@media (max-width:900px){.orow{grid-template-columns:1fr} .orow [data-ofor],.orow .specrow__rm{grid-column:auto;grid-row:auto}}

.adm__nav .badge{background:var(--accent);color:var(--heading)}
