:root{
 /* superfícies (escuro quente) */
 --bg:#14110D; --panel:#1E1A14; --panel2:#262019; --panel3:#2D2620;
 --sb:#0F0C08; --sb2:#1A1611; --line:#332C23; --line2:#3D352A;
 /* texto */
 --ink:#F4EFE6; --ink2:#D2CABB; --mut:#9B927F; --mut2:#746C5C;
 /* marca */
 --yellow:#F5B700; --yellow2:#D9A200; --yellow-ink:#1C1605; --yellow-soft:rgba(245,183,0,.15); --yellow-line:rgba(245,183,0,.35);
 /* paleta status/funil */
 --pink:#E64FA0; --pink-soft:rgba(230,79,160,.16);
 --blue:#5AA2E0; --blue-soft:rgba(90,162,224,.16);
 --amber:#E0A93B; --amber-soft:rgba(224,169,59,.16);
 --green:#46B877; --green-soft:rgba(70,184,119,.16);
 --red:#E8675E; --red-soft:rgba(232,103,94,.16);
 --purple:#A78BFA; --purple-soft:rgba(167,139,250,.16);
 --gray:#A59C8B; --gray-soft:rgba(165,156,139,.15);
 --r:14px; --r-sm:10px;
 --sh:0 1px 2px rgba(0,0,0,.3); --sh-md:0 6px 20px rgba(0,0,0,.35); --sh-lg:0 20px 50px rgba(0,0,0,.5);
 --f:'Outfit',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
#errbar{display:none;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;z-index:9999;background:var(--red);color:#fff;padding:8px 14px;font-size:13px}
#errbar span{flex:1;min-width:0}
#errbar button{flex:0 0 auto;background:rgba(0,0,0,.22);border:0;color:#fff;border-radius:6px;width:24px;height:24px;font-size:12px;line-height:1;cursor:pointer}
#errbar button:hover{background:rgba(0,0,0,.4)}
svg.i{display:inline-block;vertical-align:-3px;flex:0 0 auto}
button{font-family:var(--f);cursor:pointer}
input,select,textarea{font-family:var(--f)}
a{color:var(--yellow)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#3A3327;border-radius:8px;border:3px solid var(--bg)}
.sb-scroll::-webkit-scrollbar-thumb{background:#2A241B;border-color:var(--sb)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;border-radius:10px;padding:9px 14px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink);transition:.14s}
.btn:hover{border-color:var(--mut2);background:var(--panel3)}
.btn .i{color:var(--mut)}
.btn.pri{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
.btn.pri .i{color:var(--yellow-ink)}
.btn.pri:hover{background:var(--yellow2);border-color:var(--yellow2)}
.btn.white{background:#fff;color:#1A1714;border-color:#fff}
.btn.white .i{color:#1A1714}
.btn.white:hover{background:#ECE7DD}
.btn.sm{padding:7px 11px;font-size:12.5px}
.btn.lg{padding:13px 18px;font-size:15px;width:100%;justify-content:center}
.btn.icon{padding:8px;border-radius:9px}
.btn.danger{color:var(--red);border-color:var(--line2);background:transparent}
.btn.danger:hover{border-color:var(--red);background:var(--red-soft)}
.select{display:inline-flex;align-items:center;font-size:13px;font-weight:600;border-radius:10px;padding:9px 13px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink)}
select.select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239B927F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}

/* ---------- LOGIN ---------- */
.login{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(245,183,0,.08),transparent),var(--bg);padding:20px}
.login-box{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--sh-lg)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.login-brand .nm{font-weight:800;font-size:18px}
.login-brand .sub{font-size:12px;color:var(--mut)}
.login-hint{color:var(--mut);font-size:13px;margin:6px 0 18px}
.av{width:42px;height:42px;border-radius:12px;background:var(--yellow);color:var(--yellow-ink);font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(245,183,0,.3)}
.fld{display:block;margin-bottom:13px}
.fld>span{display:block;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:5px}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid var(--line2);background:var(--panel2);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:14px;outline:none}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px var(--yellow-soft)}
.fld textarea{resize:vertical}
.login-err{display:none;color:var(--red);font-size:13px;margin:2px 0 12px}
.chk{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink2);margin:4px 0 6px;cursor:pointer}
.chk input{width:17px;height:17px;accent-color:var(--yellow)}

/* ---------- APP shell ---------- */
.app{display:grid;grid-template-columns:262px 1fr;height:100vh;overflow:hidden}
.rail{background:var(--sb);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;padding:18px 18px 12px}
.brand .av{width:38px;height:38px;font-size:18px;border-radius:11px}
.brand .av.brand-logo{background:#fff;padding:3px;overflow:hidden}
.brand .av.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.brand .nm{font-weight:700;font-size:15px;color:#fff}
.brand .sub{font-size:11px;color:var(--mut2)}
.railact{display:flex;gap:8px;padding:0 14px 10px}
.railact .btn.pri{flex:1;justify-content:center}
.bell{position:relative;border:1px solid var(--line);background:var(--sb2);color:var(--ink2);border-radius:10px;width:40px;display:flex;align-items:center;justify-content:center}
.bell:hover{border-color:var(--mut2)}
.bdot{position:absolute;top:-6px;right:-6px;background:var(--yellow);color:var(--yellow-ink);font-size:10px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--sb)}
.nav{flex:1;overflow-y:auto;padding:6px 12px 16px}
.navsec{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut2);padding:15px 10px 6px}
.navitem{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;color:var(--ink2);font-size:13.5px;font-weight:500;cursor:pointer;transition:.12s;white-space:nowrap}
.navitem .i{color:var(--mut)}
.navitem:hover{background:var(--sb2)}
.navitem.on{background:var(--yellow);color:var(--yellow-ink);font-weight:700}
.navitem.on .i{color:var(--yellow-ink)}
.navitem .cnt{margin-left:auto;font-size:11px;font-weight:700;color:var(--mut2)}
.navitem.on .cnt{color:var(--yellow-ink)}
.railfoot{padding:10px 12px 12px;border-top:1px solid var(--line)}
.merow{display:flex;align-items:center;gap:10px;padding:8px 8px 10px}
.me-n{font-size:13px;font-weight:700;line-height:1.1}
.me-e{font-size:11px;color:var(--mut)}
.out{display:flex;align-items:center;gap:9px;color:var(--mut);font-size:13px;cursor:pointer;padding:8px 10px;border-radius:8px}
.out:hover{background:var(--sb2);color:var(--ink2)}
.main{display:flex;flex-direction:column;overflow:hidden}
.scroll{flex:1;overflow-y:auto}
.wrap{max-width:1180px;margin:0 auto;padding:24px 34px 90px}

/* avatar */
.avt{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#3a322620,#5a4e3a);color:var(--ink);font-weight:700;border:1px solid var(--line2);flex:0 0 auto}

/* ---------- page head ---------- */
.phead{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.phead .tt{flex:1;min-width:240px}
.phead h1{font-size:28px;font-weight:700;letter-spacing:-.6px;margin:0}
.phead .sub{color:var(--mut);font-size:14px;margin-top:5px}
.phead .acts{display:flex;gap:9px;align-items:center;flex-wrap:wrap}

/* ---------- KPI ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.kpi .kl{font-size:13px;font-weight:600;color:var(--ink2)}
.kpi .kv{font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1;margin:12px 0 4px}
.kpi .kd{font-size:12.5px;color:var(--mut)}

/* ---------- panel ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-top:16px}
.panel .hd{display:flex;align-items:center;gap:10px;padding:15px 18px 4px}
.panel .hd h3{font-size:16px;font-weight:700;margin:0}
.panel .bd{padding:10px 14px 14px}
.empty{color:var(--mut);font-size:13px;text-align:center;padding:22px}

/* rows */
.arow{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:11px;cursor:pointer}
.arow:hover{background:var(--panel2)}
.lrow{display:flex;align-items:center;gap:12px;padding:11px 10px;border-bottom:1px solid var(--line2)}
.lrow:last-child{border-bottom:0}
.tx{flex:1;min-width:0}
.tx .t{font-size:13.5px;font-weight:600}
.tx .m{font-size:12px;color:var(--mut);margin-top:1px}
.rt{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.rt .dt,.sub{font-size:12px;color:var(--mut2)}
.cdot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;display:inline-block}

/* badges */
.bg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;border-radius:7px;padding:3px 9px;white-space:nowrap}
.bgdot{width:7px;height:7px;border-radius:50%;background:currentColor}
.note{display:flex;align-items:center;gap:9px;background:var(--yellow-soft);border:1px solid var(--yellow-line);border-radius:10px;padding:11px 14px;font-size:13px;color:var(--ink2);margin-top:16px}
.note .i{color:var(--yellow)}

/* cores utilitárias */
.c-yellow{color:var(--yellow)} .c-pink{color:var(--pink)} .c-blue{color:var(--blue)} .c-amber{color:var(--amber)}
.c-green{color:var(--green)} .c-red{color:var(--red)} .c-purple{color:var(--purple)} .c-gray{color:var(--gray)}
.bg.c-yellow{background:var(--yellow-soft)} .bg.c-pink{background:var(--pink-soft)} .bg.c-blue{background:var(--blue-soft)}
.bg.c-amber{background:var(--amber-soft)} .bg.c-green{background:var(--green-soft)} .bg.c-red{background:var(--red-soft)}
.bg.c-purple{background:var(--purple-soft)} .bg.c-gray{background:var(--gray-soft)}
.cdot.c-yellow{background:var(--yellow)} .cdot.c-pink{background:var(--pink)} .cdot.c-blue{background:var(--blue)}
.cdot.c-amber{background:var(--amber)} .cdot.c-green{background:var(--green)} .cdot.c-red{background:var(--red)}
.cdot.c-purple{background:var(--purple)} .cdot.c-gray{background:var(--gray)}

.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--mut2);padding:8px 10px;border-bottom:1px solid var(--line2)}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line2)}
.tbl td.cn{font-weight:600;display:flex;align-items:center;gap:8px}

/* ---------- CALENDÁRIO ---------- */
.cal-bar{display:flex;align-items:center;gap:10px;margin:18px 0 12px}
.cal-title{font-size:18px;font-weight:700;min-width:170px}
.cal-legend{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:12px;color:var(--mut)}
.cal-leg-item{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600}
.cal-leg-item .i{width:13px;height:13px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-grid.head{margin-bottom:8px;gap:8px}
.cal-wd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--mut2);text-align:center;padding:4px}
.cal-cell{background:var(--panel);border:1px solid var(--line);border-radius:11px;min-height:92px;padding:6px 6px 7px;display:flex;flex-direction:column;gap:4px}
.cal-cell.out{background:transparent;border:0}
.cal-cell.today{border-color:var(--yellow);box-shadow:0 0 0 2px var(--yellow-soft)}
.cal-h{display:flex;align-items:center;justify-content:space-between}
.cal-d{font-size:13px;font-weight:700;color:var(--ink2)}
.cal-add{opacity:0;border:0;background:var(--panel3);color:var(--ink2);width:20px;height:20px;border-radius:6px;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}
.cal-cell:hover .cal-add{opacity:1}
.cal-add:hover{background:var(--yellow);color:var(--yellow-ink)}
.cal-evs{display:flex;flex-direction:column;gap:3px;overflow:hidden}
.cal-ev{font-size:11px;font-weight:600;border-radius:6px;padding:2px 6px;cursor:pointer;overflow:hidden;border-left:3px solid}
.cal-ev b{font-weight:800}
.cal-ev .ce-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev .ce-m{font-size:10px;font-weight:500;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.cal-ev.c-yellow{background:var(--yellow-soft);border-color:var(--yellow);color:#F7CB4A}
.cal-ev.c-pink{background:var(--pink-soft);border-color:var(--pink);color:#F08CC4}
.cal-ev.c-blue{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.cal-ev.c-green{background:var(--green-soft);border-color:var(--green);color:var(--green)}
.cal-ev.c-red{background:var(--red-soft);border-color:var(--red);color:var(--red)}
.cal-ev.c-amber{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}
.cal-ev.c-purple{background:var(--purple-soft);border-color:var(--purple);color:var(--purple)}
.cal-ev.c-gray{background:var(--gray-soft);border-color:var(--gray);color:var(--gray)}
.cal-ev .ce-st{display:inline-flex;vertical-align:-2px;margin-right:1px}
.cal-ev .ce-st .i{width:13px;height:13px}
.cal-more{margin-top:1px;border:0;background:transparent;color:var(--mut);font-size:10.5px;font-weight:700;cursor:pointer;padding:1px 4px;border-radius:5px;text-align:left;align-self:flex-start}
.cal-more:hover{color:var(--ink);background:var(--panel3)}
/* seletor de visão Mês/Semana/Dia */
.cal-views{display:inline-flex;gap:2px;background:var(--panel2);border:1px solid var(--line2);border-radius:9px;padding:2px}
.cal-vbtn{border:0;background:transparent;color:var(--mut);font-family:var(--f);font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:7px;cursor:pointer}
.cal-vbtn:hover{color:var(--ink)}
.cal-vbtn.on{background:var(--yellow);color:var(--yellow-ink)}
/* visão semana: células mais altas */
.cal-cell.wk{min-height:200px}
/* visão dia */
.cal-dayv{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cal-dayv-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:15px}
.cal-dayv-h .cal-add{opacity:1;width:auto;height:auto;gap:6px;padding:6px 12px;font-size:13px;font-weight:700}
.cal-dayv-list{display:flex;flex-direction:column;gap:7px;padding:14px;min-height:120px}
.cal-dayv-list .cal-ev{font-size:13px;padding:9px 12px}
.cal-dayv-list .cal-ev .ce-m{font-size:11.5px}
@media(max-width:980px){.wrap{padding:20px 18px 80px}}
@media(max-width:760px){.cal-bar{flex-wrap:wrap}.cal-legend{width:100%;margin-left:0;justify-content:flex-start;order:5}.cal-grid{gap:5px}.cal-cell{min-height:74px;padding:5px 5px 6px;border-radius:9px}.cal-cell.wk{min-height:120px}.cal-ev{font-size:10px;padding:2px 5px}.cal-cell .cal-ev .ce-m{display:none}.cal-leg-item{font-size:10px}.cal-title{font-size:16px;min-width:0;flex:1}.cal-add{opacity:1}}

/* ---------- BOARD ---------- */
.board{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:12px;margin-top:18px;overflow-x:auto;padding-bottom:8px}
@media(max-width:1200px){.board{grid-template-columns:repeat(6,240px)}}
.kcol{background:var(--panel2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:120px}
.kcol-h{display:flex;align-items:center;justify-content:space-between;padding:11px 12px 6px}
.kcnt{font-size:12px;font-weight:700;color:var(--mut)}
.kcol-b{padding:6px 8px 10px;display:flex;flex-direction:column;gap:8px;min-height:60px;flex:1}
.kcol-b.over{background:var(--yellow-soft);border-radius:10px}
.kc-empty{color:var(--mut2);font-size:12px;text-align:center;padding:10px}
.kc{background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:11px;cursor:pointer;box-shadow:var(--sh);transition:.12s}
.kc:hover{border-color:var(--mut2);transform:translateY(-1px)}
.kc.dragging{opacity:.5}
.kc-t{font-size:13px;font-weight:700;line-height:1.3}
.kc-m{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);margin-top:6px}
.kc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.ptag{font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;background:var(--panel3);color:var(--ink2)}
.ptag.c-blue{background:var(--blue-soft);color:var(--blue)} .ptag.c-amber{background:var(--amber-soft);color:var(--amber)} .ptag.c-green{background:var(--green-soft);color:var(--green)} .ptag.c-purple{background:var(--purple-soft);color:var(--purple)}
.kc-f{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.kc-dt{font-size:11.5px;color:var(--mut);display:inline-flex;align-items:center;gap:4px}
.overdue{font-size:11.5px;font-weight:700;color:var(--red);display:inline-flex;align-items:center;gap:4px}

/* ---------- TOAST ---------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#0B0907;color:#fff;border:1px solid var(--line2);padding:11px 18px;border-radius:11px;font-size:13.5px;font-weight:600;box-shadow:var(--sh-lg);opacity:0;pointer-events:none;transition:.2s;z-index:600;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.err{border-color:var(--red);color:#FFD9D6}
.toast.success{border-color:var(--green)}

/* ---------- MODAL ---------- */
.modal{position:fixed;inset:0;z-index:700;display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.mbg{position:absolute;inset:0;background:rgba(8,6,4,.62);backdrop-filter:blur(2px)}
.mbox{position:relative;width:100%;max-width:540px;max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--sh-lg)}
.mhd{display:flex;align-items:center;gap:11px;padding:18px 20px 4px}
.mic{width:34px;height:34px;border-radius:10px;background:var(--yellow-soft);color:var(--yellow);display:flex;align-items:center;justify-content:center}
.mhd h3{flex:1;font-size:18px;font-weight:700;margin:0}
.mx{border:0;background:transparent;color:var(--mut);display:flex;padding:4px;border-radius:8px}
.mx:hover{background:var(--panel3);color:var(--ink)}
.mbd{padding:14px 20px 6px}
.mrow2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mrow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:520px){.mrow2,.mrow3{grid-template-columns:1fr}}
.mbd .fld{margin-bottom:13px}
.seg{display:flex;gap:6px;background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:4px}
.seg button{flex:1;border:0;background:transparent;color:var(--mut);font-weight:600;font-size:12.5px;padding:8px 6px;border-radius:7px;transition:.12s}
.seg button:hover{color:var(--ink2)}
.seg button.on{background:var(--yellow);color:var(--yellow-ink)}
.mft{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px 18px;border-top:1px solid var(--line2);margin-top:8px}
.mft-r{display:flex;gap:9px;margin-left:auto}

/* ---------- SELETOR DE SETOR (rail) ---------- */
/* Botão do setor ativo + lista ao lado, no espírito do seletor de subcontas
   do GHL: um clique mostra tudo o que a pessoa pode acessar. */
.sectorbtn{display:flex;align-items:center;gap:10px;width:calc(100% - 28px);margin:0 14px 10px;padding:9px 11px;border-radius:11px;border:1px solid var(--line2);background:var(--sb2);color:var(--ink);text-align:left;transition:.14s}
.sectorbtn:hover{border-color:var(--yellow-line);background:var(--panel2)}
.sectorbtn.solo{cursor:default}
.sectorbtn.solo:hover{border-color:var(--line2);background:var(--sb2)}
.sectorbtn .sb-ic{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--yellow-soft);color:var(--yellow)}
.sectorbtn .sb-tx{min-width:0;flex:1}
.sectorbtn .sb-n{display:block;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sectorbtn .sb-d{display:block;font-size:10.5px;color:var(--mut2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sectorbtn .sb-ch{color:var(--mut);flex:0 0 auto}
.sec-opt{display:flex;align-items:center;gap:10px;margin:4px 6px;padding:9px 10px;border-radius:10px;cursor:pointer;transition:.12s}
.sec-opt:hover{background:var(--panel2)}
.sec-opt.on{background:var(--yellow-soft)}
.sec-opt .sb-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--panel3);color:var(--yellow)}
.sec-opt .tx{min-width:0;flex:1}
.sec-opt .t{font-size:13px;font-weight:600}
.sec-opt .m{font-size:11px;color:var(--mut2)}
.sec-opt .i{color:var(--yellow)}

/* ---------- NOTIF POP ---------- */
.pop{position:fixed;left:74px;bottom:64px;z-index:650;width:330px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--sh-lg)}
.np-h{display:flex;align-items:center;gap:8px;padding:13px 15px;border-bottom:1px solid var(--line2);font-weight:700;font-size:14px}
.np-clr{margin-left:auto;border:0;background:transparent;color:var(--yellow);font-size:12px;font-weight:600}
.np-l{padding:6px}
.nrow{display:flex;gap:10px;padding:10px;border-radius:10px}
.nrow.unread{background:var(--yellow-soft)}
.nic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--panel3)}
.nt{font-size:13px;font-weight:500;line-height:1.35}
.nd{font-size:11px;color:var(--mut2);margin-top:2px}
/* o popover de setor abre ao LADO da rail (262px), alinhado ao botão (top via JS) */
.secpop{left:270px;bottom:auto;width:290px}
.secpop .pop-h{padding:12px 15px 8px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut2)}
.secpop .pop-f{padding:8px 15px 12px;font-size:11.5px;color:var(--mut2);border-top:1px solid var(--line2)}

/* ---------- SWITCH de tema ---------- */
.theme-row{display:flex;align-items:center;gap:9px;padding:8px 10px;color:var(--mut);font-size:13px;font-weight:500}
.theme-row .i{color:var(--mut)}
.switch{margin-left:auto;position:relative;width:42px;height:23px;border-radius:13px;background:var(--line2);border:1px solid var(--line2);transition:.16s;flex:0 0 auto;padding:0}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.16s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.switch.on{background:var(--yellow);border-color:var(--yellow)}
.switch.on::after{left:21px}

/* ---------- TEMA CLARO (opcional) ---------- */
body.light{
 --bg:#F6F3EE; --panel:#FFFFFF; --panel2:#FAF7F1; --panel3:#F0EBE1;
 --sb:#FFFFFF; --sb2:#F3EEE4; --line:#EAE3D7; --line2:#E0D8C8;
 --ink:#1A1714; --ink2:#4A443B; --mut:#8A8273; --mut2:#A7A093;
 --yellow-line:rgba(245,183,0,.5);
 --sh:0 1px 2px rgba(26,23,20,.06); --sh-md:0 6px 20px rgba(26,23,20,.10); --sh-lg:0 20px 50px rgba(26,23,20,.18);
}
body.light .rail{border-right-color:var(--line)}
body.light .brand .nm{color:var(--ink)}
body.light .bell{background:var(--panel2);color:var(--ink2)}
body.light .navitem:hover,body.light .out:hover{background:var(--panel3)}
body.light .cal-ev.c-yellow{color:#8A6500}
body.light .cal-ev.c-pink{color:#B0246F}
body.light .toast{background:#FFFFFF;color:#1A1714}
body.light ::-webkit-scrollbar-thumb{background:#D9D0C0}
body.light .sb-scroll::-webkit-scrollbar-thumb{background:#E0D8C8}

/* ---------- elementos interativos extras ---------- */
.sp{flex:1}
.lrow.click{cursor:pointer;transition:.12s;border-radius:10px;padding-left:8px;padding-right:8px}
.lrow.click:hover{background:var(--panel2)}
.open-link{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--yellow)}
.linklike{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
.linklike:hover{color:var(--yellow);text-decoration:underline}

/* ---------- REUNIÕES ---------- */
.mtgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:18px}
.mtcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 17px;box-shadow:var(--sh);cursor:pointer;transition:.14s}
.mtcard:hover{border-color:var(--mut2);transform:translateY(-2px);box-shadow:var(--sh-md)}
.mtcard-h{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}
.mtcard-h h4{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.2px}
.mtcard-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12px;color:var(--mut);margin-top:8px}
.mtcard-meta .i{color:var(--mut2)}
.mtcard-notes{font-size:13px;color:var(--ink2);margin-top:10px;line-height:1.5;white-space:pre-wrap;max-height:120px;overflow:hidden}
.mtcard-notes.empty-notes{color:var(--mut2);font-style:italic}
.ata{white-space:pre-wrap;line-height:1.7;font-size:15px;color:var(--ink2);max-width:780px}
.pchks{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:11px 13px;max-height:160px;overflow:auto}
.pchk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);cursor:pointer}
.pchk input{width:16px;height:16px;accent-color:var(--yellow);flex:0 0 auto}
@media(max-width:520px){.pchks{grid-template-columns:1fr}}

/* ---------- MINHAS DEMANDAS (split) + ROTINAS ---------- */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:900px){.split2{grid-template-columns:1fr}}
.split2 .panel{margin-top:16px}
.rrow{display:flex;align-items:center;gap:11px;padding:10px 8px;border-bottom:1px solid var(--line2)}
.rrow:last-child{border-bottom:0}
.rchk{width:18px;height:18px;accent-color:var(--green);flex:0 0 auto;cursor:pointer}
.rrow .tx{flex:1;min-width:0;cursor:pointer}
.rrow.done .tx .t{text-decoration:line-through;color:var(--mut)}
.rrow.late .tx .m{color:var(--red);font-weight:600}
.iconbtn{border:0;background:transparent;color:var(--mut2);padding:6px;border-radius:8px;cursor:pointer;flex:0 0 auto}
.iconbtn:hover{background:var(--panel3);color:var(--red)}
.iconbtn.move{font-size:14px;font-weight:800;line-height:1;padding:6px 7px;color:var(--mut)}
.iconbtn.move:hover{background:var(--panel3);color:var(--yellow)}
.iconbtn:disabled{opacity:.3;cursor:default;pointer-events:none}
.cal-ev.noresp{border-left-style:dashed;border-left-width:3px}

/* blocos de prioridade (Minhas demandas) */
.prioblock + .prioblock{margin-top:14px}
.priohd{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 8px;border-bottom:1px solid var(--line2);margin-bottom:4px}
.priohd .bg{font-size:12.5px}
.prioblock .kcnt{font-size:12px;font-weight:700;color:var(--mut)}

/* ---------- CARDS (projetos) ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:17px;box-shadow:var(--sh);cursor:pointer;transition:.14s}
.card:hover{border-color:var(--mut2);transform:translateY(-2px);box-shadow:var(--sh-md)}
.card .ct{width:40px;height:40px;border-radius:11px;background:var(--yellow-soft);color:var(--yellow);display:flex;align-items:center;justify-content:center;margin-bottom:11px}
.card h4{margin:0;font-size:15.5px;font-weight:700}
.card .m{font-size:13px;color:var(--mut);margin-top:6px;min-height:18px}
.card .ft{display:flex;align-items:center;gap:8px;margin-top:13px;flex-wrap:wrap}
.board3{grid-template-columns:repeat(3,minmax(220px,1fr))}
@media(max-width:820px){.board3{grid-template-columns:repeat(3,240px)}}

/* ---------- avatar de cliente + ações de linha ---------- */
.cliav{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background-size:cover;background-position:center;flex:0 0 auto;font-weight:800;color:var(--yellow-ink)}
.cliav.ph.c-yellow{background:var(--yellow)} .cliav.ph.c-pink{background:var(--pink);color:#fff}
.rowacts{flex-direction:row;align-items:center;gap:6px}

/* ---------- BANCO DE IDEIAS ---------- */
.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:18px}
.idea{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;box-shadow:var(--sh);display:flex;flex-direction:column}
.idea-top{display:flex;align-items:center;gap:8px;font-size:13px}
.idea-t{font-size:15px;font-weight:700;margin-top:9px;line-height:1.3}
.idea-n{font-size:13px;color:var(--mut);margin-top:6px;line-height:1.45;white-space:pre-wrap}
.idea-ft{display:flex;align-items:center;gap:7px;margin-top:13px;flex-wrap:wrap}

/* ---------- PÁGINA PÚBLICA DO CLIENTE ---------- */
.pubbody{min-height:100%;background:var(--bg)}
.publoading,.puberr{max-width:760px;margin:80px auto;text-align:center;color:var(--mut);font-size:15px;padding:0 20px}
.puberr{color:var(--red)}
.pub-cover{height:200px;background:linear-gradient(120deg,#2a2118,#1a1611);background-size:cover;background-position:center;position:relative}
.pub-cover-sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.1),rgba(20,17,13,.85))}
.pub-wrap{max-width:1080px;margin:0 auto;padding:0 22px 80px}
.pub-suggest{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-top:24px}
.kc-pend{border-color:var(--amber)!important;background:var(--amber-soft)}
.pub-head{display:flex;align-items:flex-end;gap:16px;margin-top:-44px;position:relative;flex-wrap:wrap}
.pub-av{width:88px;height:88px;border-radius:20px;background:var(--panel2);background-size:cover;background-position:center;border:3px solid var(--bg);box-shadow:var(--sh-md);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;color:var(--yellow);flex:0 0 auto}
.pub-h-tx{flex:1;min-width:200px;padding-bottom:4px}
.pub-h-tx h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.5px}
.pub-sub{color:var(--mut);font-size:13px;margin-top:2px}
.pub-head .btn{margin-bottom:6px}
.pub-section{margin-top:30px}
.pub-section h2{font-size:17px;font-weight:700;margin:0 0 12px}
.pub-day{margin-bottom:18px}
.pub-date{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--yellow);margin-bottom:7px}
.pub-post{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:8px}
.pp-head{display:flex;align-items:center;gap:12px}
.pub-post .pp-l{flex:1;min-width:0}
.pp-t{font-size:14.5px;font-weight:600}
.pp-m{font-size:12.5px;color:var(--mut);margin-top:2px}
.pub-foot{margin-top:34px;text-align:center;color:var(--mut2);font-size:12px}
.pub-approve h2{color:var(--amber)}
.pub-post.approve{border-color:var(--amber);background:var(--amber-soft);cursor:pointer}
.pub-post.approve:hover{filter:brightness(1.05)}
.rev-title{font-size:17px;font-weight:700;line-height:1.3}
.rev-meta{color:var(--mut);font-size:13px;margin-top:4px}

/* mídia no painel do cliente + no modal de revisão */
.pp-medias{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:11px}
.pp-media{width:100%;border-radius:9px;max-height:260px;object-fit:cover;background:var(--panel2);border:1px solid var(--line2);display:block}
.pp-cap{font-size:13px;color:var(--ink2);margin-top:9px;white-space:pre-wrap;line-height:1.5}
img.pp-media.zoomable{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.lightbox.show{display:flex}
.lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox .lb-x{position:fixed;top:16px;right:20px;background:rgba(255,255,255,.16);color:#fff;border:0;width:42px;height:42px;border-radius:50%;font-size:18px;cursor:pointer}
.lightbox .lb-x:hover{background:rgba(255,255,255,.3)}

/* anexos no modal de post */
.att-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.att{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--line2);border-radius:9px;padding:6px 8px}
.att-thumb{width:34px;height:34px;border-radius:7px;background:var(--panel3) center/cover no-repeat;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--mut)}
.att-thumb.vid{color:var(--blue)}
.att-n{flex:1;min-width:0;font-size:12.5px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-empty{font-size:12.5px;color:var(--mut2);padding:4px 2px}
.att-add{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--yellow);cursor:pointer;border:1px dashed var(--yellow-line);border-radius:9px;padding:8px 12px;background:var(--yellow-soft)}
.att-view{display:flex;flex-wrap:wrap;gap:8px}
.att-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink2);background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:6px 10px;text-decoration:none}
.att-chip:hover{border-color:var(--yellow-line);color:var(--yellow)}
.tbl-metrics td:nth-child(2),.tbl-metrics td:nth-child(3),.tbl-metrics th:nth-child(2),.tbl-metrics th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.tbl-metrics td:last-child,.tbl-metrics th:last-child{text-align:right}

/* widget de imagem (foto/capa do cliente) */
.imgup{display:flex;align-items:center;gap:10px}
.imgup .btn{cursor:pointer}
.imgup-prev{width:56px;height:56px;border-radius:10px;background:var(--panel2) center/cover no-repeat;border:1px solid var(--line2);flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--mut2)}

/* busca + filtros */
.searchbar{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:9px 13px;margin-top:16px;max-width:440px}
.searchbar .i{color:var(--mut2)}
.searchbar input{flex:1;border:0;background:transparent;color:var(--ink);font-family:var(--f);font-size:14px;outline:none}
.filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}
.filterbar .searchbar{margin-top:0;flex:1;min-width:220px}

/* ---------- AGENDA (Google Calendar) ---------- */
.ag-day + .ag-day{margin-top:18px}
.ag-dh{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--yellow);padding:4px 6px 8px;border-bottom:1px solid var(--line2);margin-bottom:2px}
.ag-dc{margin-left:auto;font-size:11px;font-weight:700;color:var(--mut2);text-transform:none;letter-spacing:0}
.ag-ev{gap:12px}
.ag-t{flex:0 0 auto;min-width:52px;font-size:12.5px;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums}
.note code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:rgba(0,0,0,.25);border-radius:5px;padding:1px 5px}

/* ---------- EMBED de terceiro (Google Agenda) ---------- */
/* O iframe vinha 800x600 fixo, o que quebraria o layout no celular. Aqui ele é
   fluido. O embed do Google é sempre claro: fundo branco e cantos arredondados
   para parecer intencional no tema escuro, em vez de um retângulo solto. */
.embed{width:100%;height:min(68vh,640px);min-height:420px;border-radius:10px;overflow:hidden;background:#fff}
.embed iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:700px){.embed{height:70dvh;min-height:340px}}

/* chips de filtro (etapas do cliente) */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:20px;padding:7px 13px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink2);transition:.12s}
.chip:hover{border-color:var(--mut2);color:var(--ink)}
.chip b{font-weight:800;color:var(--mut2)}
.chip.on{border-color:currentColor}
.chip.on b{color:inherit}
.chip.on.c-gray{background:var(--gray-soft)} .chip.on.c-blue{background:var(--blue-soft)}
.chip.on.c-green{background:var(--green-soft)} .chip.on.c-amber{background:var(--amber-soft)}
.chip.on.c-red{background:var(--red-soft)}

/* drag no calendário + nota de reprovação */
.cal-ev{cursor:grab}
.cal-ev.dragging{opacity:.45}
.cal-cell.over{border-color:var(--yellow);box-shadow:0 0 0 2px var(--yellow-soft);background:var(--yellow-soft)}
.note.rej{border-color:rgba(232,103,94,.45);background:var(--red-soft)}
.note.rej .i{color:var(--red)}

/* ===== API & Integrações ===== */
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}
.lrow.off{opacity:.5}
.lrow .mic2{width:30px;height:30px;border-radius:9px;background:var(--yellow-soft);color:var(--yellow);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pill{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--mut);background:var(--panel3);border:1px solid var(--line2);border-radius:20px;padding:2px 8px;vertical-align:middle}
.krow{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:2px}
.kv2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.kv2>span{font-size:12px;font-weight:700;color:var(--mut2);min-width:70px}
.kv2 code{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:6px 10px;color:var(--ink2);overflow:auto}
/* documentação */
.apidoc .bd{padding:6px 18px 18px}
.apidoc h4{font-size:14px;font-weight:700;margin:20px 0 8px;color:var(--ink);border-top:1px solid var(--line2);padding-top:16px}
.apidoc h4:first-of-type{border-top:0;padding-top:4px;margin-top:6px}
.apidoc p{color:var(--ink2);font-size:13px;margin:4px 0 8px}
.apidoc code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:var(--panel2);border:1px solid var(--line2);border-radius:6px;padding:1px 6px;color:var(--yellow)}
.apidoc .tbl td .mono,.apidoc .sm2{font-size:11.5px;color:var(--mut)}
.apidoc .tbl code{color:var(--ink)}
.apidoc .dl{margin:4px 0 4px 18px;color:var(--ink2);font-size:13px}
.apidoc .dl li{margin:5px 0}
.apidoc .ex{margin:10px 0}
.apidoc .exh{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:5px}
.code{background:var(--sb);border:1px solid var(--line2);border-radius:10px;padding:12px 14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--ink2);white-space:pre;line-height:1.6;margin:0}

/* ===================================================================
   MOBILE
   A rail de 262px não cabe em celular: abaixo de 900px ela vira gaveta
   (fora do fluxo, deslizando por cima) e a topbar assume as ações dela
   — menu, novo post e sino. O resto é respiro: alvos de toque maiores,
   tabelas que rolam em vez de espremer, e modal como folha inferior.
   =================================================================== */
.topbar{display:none}
.scrim{display:none}

@media(max-width:900px){
 .app{grid-template-columns:1fr;height:100vh;height:100dvh}
 .rail{position:fixed;top:0;bottom:0;left:0;width:min(86vw,290px);z-index:400;transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--sh-lg)}
 .app.navopen .rail{transform:none}
 .scrim{display:block;position:fixed;inset:0;z-index:390;background:rgba(8,6,4,.6);opacity:0;pointer-events:none;transition:opacity .22s}
 .app.navopen .scrim{opacity:1;pointer-events:auto}
 .topbar{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:9px 12px;background:var(--panel);border-bottom:1px solid var(--line)}
 .tb-nm{flex:1;min-width:0;font-weight:800;font-size:15px;letter-spacing:-.2px}
 .tb-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line2);background:var(--panel2);color:var(--ink2);border-radius:10px}
 .tb-btn:active{background:var(--panel3)}
 .topbar .bdot{border-color:var(--panel)}
 .wrap{padding:16px 14px 80px}
 .phead h1{font-size:22px}
 .phead .sub{font-size:13px}
 .kpi{padding:15px}
 .kpi .kv{font-size:28px}
 /* o sino fica na topbar (topo) → o pop vira folha inferior, no alcance do polegar */
 .pop{left:8px;right:8px;bottom:8px;width:auto;max-height:70dvh}
 /* na gaveta não há espaço "ao lado": o seletor de setor também vira folha */
 .secpop{left:8px;right:8px;bottom:8px;top:auto!important;width:auto}
 /* tabela rola dentro do painel em vez de espremer as colunas */
 .bd:has(>.tbl),.mbd:has(>.tbl){overflow-x:auto}
 .bd:has(>.tbl) .tbl,.mbd:has(>.tbl) .tbl{min-width:max-content}
 /* kanban: swipe coluna a coluna */
 .board{scroll-snap-type:x proximity}
 .kcol{scroll-snap-align:start}
 .searchbar,.filterbar .searchbar{max-width:none}
}

@media(max-width:600px){
 /* iOS dá zoom em input com fonte < 16px */
 .fld input,.fld select,.fld textarea,.searchbar input{font-size:16px}
 .login-box{padding:24px 20px}
 /* modal vira folha inferior, com o rodapé de ações sempre alcançável */
 .modal{padding:0;align-items:flex-end}
 .mbox{max-width:none;max-height:94dvh;border-radius:18px 18px 0 0}
 .mft{position:sticky;bottom:0;background:var(--panel);z-index:2}
 .mft .btn{padding:11px 14px}
 /* alvos de toque */
 .iconbtn{padding:9px}
 .btn.sm{padding:9px 12px}
}

@media(max-width:480px){
 .cal-grid{gap:3px}
 .cal-cell{min-height:62px;padding:3px 3px 4px;border-radius:7px}
 .cal-d{font-size:11px}
 .cal-ev{font-size:9.5px;padding:1px 3px;border-left-width:2px}
 .cal-wd{font-size:9.5px;padding:2px 0}
 .phead h1{font-size:20px}
}

/* Painel do cliente (aberto quase sempre pelo link, no celular) */
@media(max-width:760px){
 .pub-cover{height:130px}
 .pub-wrap{padding:0 14px 60px}
 .pub-head{margin-top:-32px;gap:12px}
 .pub-av{width:64px;height:64px;border-radius:16px;font-size:26px;border-width:2px}
 .pub-h-tx{min-width:0}
 .pub-h-tx h1{font-size:21px}
 .pub-head .btn{width:100%;justify-content:center;margin-bottom:0}
 .pub-suggest{padding:14px;gap:10px}
 .pub-suggest .btn{width:100%;justify-content:center}
 .pub-section{margin-top:22px}
 .pp-medias{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
 .pp-media{max-height:180px}
 .lightbox{padding:10px}
 .lightbox .lb-x{top:10px;right:12px}
}

/* ===== Tutorial de conexão do MCP ===== */
.apidoc code.mute{color:var(--mut2);background:transparent;border-color:transparent}
.mcp-vals{margin:10px 0 6px}
.mcp-shot{display:flex;gap:10px;align-items:stretch;flex-wrap:nowrap;overflow-x:auto;background:var(--sb);border:1px solid var(--line2);border-radius:12px;padding:14px;margin:8px 0}
.mcp-menu{background:var(--sb2);border:1px solid var(--line2);border-radius:10px;padding:6px;min-width:190px;flex:0 0 auto}
.mcp-mh{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--mut2);padding:5px 8px 7px}
.mcp-mi{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:7px;font-size:12.5px;color:var(--ink2);white-space:nowrap}
.mcp-mi .mcp-ar{color:var(--mut2);font-weight:700}
.mcp-mi.hot{background:var(--yellow-soft);outline:2px solid var(--yellow);color:var(--ink);font-weight:700}
.mcp-mi.hot .mcp-ar{color:var(--yellow)}
.mcp-mi.mute{color:var(--mut2);font-size:11px;white-space:normal}
.mcp-arw{align-self:center;color:var(--yellow);display:flex;flex:0 0 auto}
.mcp-arw .i{color:var(--yellow)}
.mcp-modal{background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:14px;width:320px;max-width:100%;flex:0 0 auto;box-shadow:var(--sh-md)}
.mcp-mt{font-weight:700;font-size:13px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.mcp-f{margin-bottom:9px}
.mcp-f label{display:block;font-size:11px;color:var(--mut);margin-bottom:4px}
.mcp-in{border:1px solid var(--line2);background:var(--panel2);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mcp-in.hot{border-color:var(--yellow);box-shadow:0 0 0 3px var(--yellow-soft);color:var(--ink);font-weight:600}
.mcp-in.mute{color:var(--mut2);font-style:italic}
.mcp-adv{font-size:11px;color:var(--mut);margin:12px 0 8px;border-top:1px solid var(--line2);padding-top:10px}
.mcp-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.mcp-bt{font-size:12px;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid var(--line2);color:var(--ink2)}
.mcp-bt.pri{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
.mcp-bt.hot{box-shadow:0 0 0 3px var(--yellow-soft)}
