/* Gerado por tools/gerar-front.py a partir das telas aprovadas em 05/11/2026. Não edite à mão. */
@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jost-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jost-latin-700-normal.woff2) format('woff2')}
/* Tema claro de propósito: a identidade do teatro é azul e amarelo sobre fundo claro. Todas as cores são definidas aqui. */
*{box-sizing:border-box}
html,body{margin:0}
html{color-scheme:light;-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
:root{--az:#0e3a5a;--az2:#0b5394;--am:#df9904;--am2:#fbe9cf;--amt:#8a4b00;--ink:#1c2633;--mut:#5c6470;--line:#e2ded5;--ok:#23704a;--bg:#f5f3ee;--soft:#e9eef3;--gut:max(16px,env(safe-area-inset-left))}
body{font-family:"Futura PT",Futura,Jost,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.45;overflow-x:hidden;padding-bottom:60px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
input,select,textarea{background:#fff;color:var(--ink)}
:focus-visible{outline:2px solid var(--am);outline-offset:2px}
h1,h2,h3,h4{font-weight:500}
.mut{color:var(--mut)}.sm{font-size:12.5px}.xs{font-size:11.5px;color:var(--mut)}
.b{border:1px solid #c9c2b5;background:#fff;color:var(--ink);border-radius:8px;padding:6px 11px;font-size:13px;font-weight:500;line-height:1.25}
.b:hover{border-color:var(--az)}
.b.ok{background:var(--az);border-color:var(--az);color:#fff}
.b.lib,.b.new{background:var(--am);border-color:var(--am);color:#1c1300;font-weight:600}
.b.danger{color:#8f2424;border-color:#e2bcbc}
.b.sm{padding:3px 8px;font-size:12px}
.b.go{padding:10px 20px;font-size:15px}
.acts{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.s-afazer{background:#e9eef3;color:var(--az)}.s-andamento{background:#dbe7f4;color:var(--az2)}.s-travada{background:var(--am2);color:var(--amt)}.s-concluida{background:#e1f1e7;color:var(--ok)}
.s-rep{background:#eee8f6;color:#583c88}.s-ata{background:#f1ede4;color:#5a4a2a}
.p-Crítica{background:#f7dede;color:#8f2424}.p-Alta{background:var(--am2);color:var(--amt)}.p-Média{background:#eceef1;color:#46515e}.p-Baixa{background:#f0efec;color:#5c6470}
.why{font-size:12.5px;color:var(--amt);margin-top:4px}
.is-done .tt{text-decoration:line-through;color:var(--mut)}
.av{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:10.5px;font-weight:600;flex:none;letter-spacing:.02em}
.avs{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.avs span{display:inline-flex;align-items:center;gap:5px}
.empty{background:#fff;padding:26px;text-align:center;color:var(--mut)}

/* ---------- moldura: cabeçalho ---------- */
.mh{position:relative;background:#fff;height:96px;overflow:hidden}
.mh::before{content:"";position:absolute;left:0;top:0;width:58%;height:100%;background:var(--am);clip-path:polygon(0 0,100% 0,0 46%)}
.mh::after{content:"";position:absolute;left:0;top:0;width:58%;height:100%;background:var(--az);clip-path:polygon(0 46%,100% 0,100% 2.5%,0 49%)}
.mh .tri{position:absolute;right:0;top:0;width:34%;height:100%;background:var(--az);clip-path:polygon(0 0,100% 0,100% 100%)}
.mh .in{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;gap:16px;padding:0 24px 12px}
.mh .logo{height:34px;display:block}
.mh h1{margin:0 0 4px;font-size:18px;color:var(--az)}
.mh .sp{flex:1}
.mh .rt{align-self:flex-start;margin-top:12px;display:flex;align-items:center;gap:8px}
.pill{background:rgba(14,58,90,.94);color:#fff;border:0;border-radius:99px;padding:6px 12px;font-size:13px;white-space:nowrap}
.bell{position:relative;background:rgba(14,58,90,.94);color:#fff;border:0;border-radius:99px;width:38px;height:34px;display:grid;place-items:center}
.bell svg{width:18px;height:18px}
.bell i,.tabbar i,.nav i{font-style:normal;background:var(--am);color:#111;border-radius:99px;font-size:11px;font-weight:700;padding:0 6px;line-height:17px}
.bell i{position:absolute;top:-4px;right:-6px}
.pop{position:fixed;top:56px;right:24px;width:min(380px,calc(100vw - 32px));background:#fff;z-index:70;box-shadow:0 14px 40px rgba(0,0,0,.18);border-top:6px solid var(--az);padding:12px 14px}
.pop h3{margin:0 0 6px;font-size:15px;color:var(--az)}

/* ---------- moldura: rodapé com o resumo da semana ---------- */
.mf{position:relative;margin-top:28px;background:var(--az);clip-path:polygon(0 38%,100% 0,100% 100%,0 100%);color:#fff;padding:60px 160px 18px 24px}
.mf::after{content:"";position:absolute;right:0;bottom:0;width:120px;height:100%;background:var(--am);clip-path:polygon(78% 8%,100% 0,100% 100%)}
.mf .in{position:relative;display:flex;flex-wrap:wrap;gap:6px 28px;font-size:13px;align-items:flex-end}
.mf b{display:block;font-size:30px;font-weight:600;line-height:1}
.mf .mfl{flex-basis:100%;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#cfdbe6}

/* canto amarelo = precisa de atenção */
.cut{position:relative;overflow:hidden}
.cut.att::after{content:"";position:absolute;right:0;top:0;width:28px;height:28px;background:var(--am);clip-path:polygon(0 0,100% 0,100% 100%)}
.legend{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:6px;line-height:1.3}
.legend i{display:inline-block;width:14px;height:14px;flex:none;background:var(--am);clip-path:polygon(0 0,100% 0,100% 100%)}
.diag{height:14px;margin:6px 0 10px;background:linear-gradient(to bottom right,transparent calc(50% - 1px),var(--az) calc(50% - 1px),var(--az) calc(50% + 1px),transparent calc(50% + 1px))}

/* ---------- estrutura ---------- */
.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:56vh}
.nav{padding:16px 10px}
.nav button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:14px;color:var(--ink);background:transparent;border:0;text-align:left}
.nav button:hover{background:#ece8df}
.nav button.on{background:var(--az);color:#fff;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
.nav .sep{height:1px;background:var(--line);margin:10px 8px}
.nav .cap{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding:4px 12px}
.nav .legend{margin:18px 12px 0}
.main{padding:14px 22px 6px;min-width:0}
.toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.vtabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;max-width:100%;border-bottom:1px solid var(--line)}
.vtabs::-webkit-scrollbar{display:none}
.vtabs button{border:0;background:transparent;padding:8px 11px;font-size:13.5px;color:var(--mut);border-bottom:3px solid transparent;white-space:nowrap}
.vtabs button.on{color:var(--az);border-bottom-color:var(--az);font-weight:600}
.tools{display:flex;flex-wrap:wrap;gap:6px}
.ph-legend{display:none;margin:-4px 0 10px}

/* ---------- três painéis ---------- */
.lv{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;align-items:start}
.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:center;background:#fff;padding:12px 16px 12px 12px;margin-bottom:6px;cursor:pointer;border-left:4px solid transparent}
.row:hover{border-left-color:#b9c7d4}
.row.sel{border-left-color:var(--az);box-shadow:0 2px 10px rgba(14,58,90,.08)}
.row .tt{font-weight:500;min-width:0}
.row .meta{grid-column:2;font-size:12.5px;color:var(--mut)}
.row .chip{grid-row:1/3;grid-column:3;margin-right:18px}
.row .pk{grid-row:1/3;width:18px;height:18px;accent-color:var(--az)}
.row .nopk{width:0}
.det{background:#fff;padding:20px 22px 24px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.det .dh{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 8px}
.det h2{flex:1 1 100%;color:var(--az);font-size:21px;margin:2px 0 6px;line-height:1.25}
.det dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:7px 10px;font-size:13.5px;margin:10px 0 14px}
.det dt{color:var(--mut)}.det dd{margin:0;min-width:0;overflow-wrap:anywhere}
.det h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--az);margin:18px 0 6px;font-weight:600}
.det p{margin:0 0 6px;font-size:14px}
.att-chip{background:var(--am);color:#1c1300}
.multi{background:var(--soft);padding:9px 11px;font-size:13px;margin-top:12px}
.hist{list-style:none;margin:0;padding:0;font-size:12.5px}
.hist li{padding:6px 0;border-bottom:1px dashed var(--line)}
.hist b{font-weight:600}
.hist .o{color:var(--mut)}
.sublist{list-style:none;margin:0;padding:0}
.sublist li{display:flex;gap:8px;align-items:center;padding:4px 0;font-size:14px}
.sublist input{accent-color:var(--ok);width:16px;height:16px}
.dls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dl{background:var(--soft);color:var(--az);border-radius:8px;padding:4px 10px;font-size:13px;display:inline-flex;gap:6px;align-items:center}
.dl button{border:0;background:transparent;color:var(--mut);padding:0 2px}
.tg{display:inline-block;border:1px solid #c9c2b5;border-radius:99px;padding:3px 10px;font-size:12px;background:#fff;color:var(--ink)}
.tg.on{background:var(--am);border-color:var(--am);color:#1c1300;font-weight:600}
.tgs{display:flex;flex-wrap:wrap;gap:5px}

/* ---------- quadro ---------- */
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.col h3{display:flex;justify-content:space-between;margin:0 0 10px;padding:8px 14px;background:var(--az);color:#fff;font-size:14px;clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}
.c-travada h3{background:var(--am);color:#1c1300}
.c-concluida h3{background:#4d6a80}
.card{background:#fff;padding:12px 14px;margin-bottom:10px;cursor:pointer}
.card .tt{font-weight:600;margin-bottom:4px;padding-right:20px}
.card .meta{font-size:12.5px;color:var(--mut);margin-bottom:8px}
.card .b{padding:3px 8px;font-size:12px}

/* ---------- meu dia ---------- */
.md{max-width:800px}
.hero{background:var(--az);color:#fff;padding:20px 24px 34px;clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}
.hero h2{font-size:36px;margin:0;line-height:1.1}
.hero p{margin:4px 0;color:#dce6ee}
.grp{font-size:12.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--az);margin:22px 0 10px;border-bottom:2px solid var(--am);display:inline-block;padding-bottom:2px;font-weight:600}
.bc{display:flex;gap:16px;background:#fff;padding:14px 16px;margin-bottom:10px;cursor:pointer}
.dd{width:60px;flex:none;text-align:center;background:var(--az);color:#fff;padding:8px 0 10px;clip-path:polygon(0 0,100% 0,100% 86%,0 100%);align-self:flex-start}
.dd b{display:block;font-size:22px;line-height:1}.dd span{font-size:11px}
.dd.late{background:#8f2424}.dd.none{background:#7a8591}
.bd{flex:1;min-width:0}.bd .tt{font-size:16.5px;font-weight:500;padding-right:22px}.bd .meta{font-size:13px;color:var(--mut);margin:2px 0 8px}

/* ---------- linha do tempo ---------- */
.tl .tg-grid,.tl .lane{display:grid;grid-template-columns:130px repeat(7,minmax(0,1fr)) minmax(0,1fr);gap:6px;align-items:start}
.tl .dh{text-align:center;font-size:11.5px;color:var(--mut);text-transform:uppercase}
.tl .dh b{display:block;font-size:19px;color:var(--az)}
.tl .dh.hj b{background:var(--am);color:#111;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.tl .lane{border-top:2px solid var(--az);padding:10px 0;min-height:86px}
.tl .ln span{display:inline-block;background:var(--az);color:#fff;font-weight:600;font-size:12.5px;padding:5px 16px 5px 10px;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);max-width:100%}
.pin{background:#fff;padding:7px 8px;font-size:12px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-bottom:6px}
.pin .tt{font-weight:600;padding-right:14px;overflow-wrap:anywhere}
.pin.cut.att::after{width:18px;height:18px}
.pin .when{display:none}
.pin.st-concluida{opacity:.65}
.late-t{color:#8f2424;font-weight:600}

/* ---------- agenda ---------- */
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.day{background:#fff;min-height:40vh;padding:0 7px 8px}
.day h3{display:flex;justify-content:space-between;margin:0 -7px 8px;padding:6px 9px;font-size:12px;text-transform:uppercase;color:var(--az);border-bottom:2px solid var(--az)}
.day h3 b{font-size:17px}
.day.today h3{background:var(--am);color:#111;border-color:var(--am);clip-path:polygon(0 0,100% 0,100% 70%,0 100%)}
.ev{background:var(--soft);padding:7px;margin-bottom:6px;font-size:12.5px;cursor:pointer}
.ev .tt{font-weight:600;padding-right:14px;overflow-wrap:anywhere}
.ev.cut.att::after{width:18px;height:18px}
.tray{margin-top:14px;background:#fff;padding:12px;border-left:8px solid var(--am)}
.tray h3{margin:0 0 8px;color:var(--az);font-size:14px}
.trl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.daynone{font-size:12px;color:var(--mut)}

/* ---------- fichas ---------- */
.fichas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ficha{background:#fff}
.ficha header{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:22px 16px 10px;border-bottom:3px solid var(--az);overflow:hidden}
.ficha .w1{position:absolute;left:0;top:0;width:55%;height:16px;background:var(--am);clip-path:polygon(0 0,100% 0,0 100%)}
.ficha .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--mut);flex-basis:100%}
.ficha h2{margin:0;font-size:20px;color:var(--az);flex:1}
.ficha .dt{font-size:13px;color:var(--amt);font-weight:600}
.fr-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:9px 14px;border-bottom:1px dashed var(--line);font-size:13.5px;cursor:pointer}
.fr-row .meta{grid-column:2;font-size:12px;color:var(--mut)}
.fr-row .chip{grid-row:1/3;grid-column:3}
.ck{width:18px;height:18px;border:2px solid #aab5c0;background:#fff;padding:0;grid-row:1/3;border-radius:3px}
.is-done .ck{background:var(--ok);border-color:var(--ok)}
.ficha .add{padding:10px 14px}

/* ---------- avisos ---------- */
.two{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px}
.fhd{background:var(--az);color:#fff;padding:18px 22px 30px;clip-path:polygon(0 0,100% 0,100% 74%,0 100%)}
.fhd h2{margin:0;font-size:28px}
.fhd p{margin:4px 0 0;color:#dce6ee}
.fi{display:flex;gap:14px;background:#fff;padding:13px 16px;margin-top:10px;font-size:14.5px;cursor:pointer;width:100%;border:0;text-align:left}
.fi small{display:block;color:var(--mut);font-size:12.5px}
.fi .dot{width:14px;height:14px;background:var(--am);clip-path:polygon(0 0,100% 0,100% 100%);flex:none;margin-top:4px}
.fi.lido .dot{background:#c3ccd5}
.fi.novo{box-shadow:inset 4px 0 0 var(--am)}
.side{background:#fff;padding:16px;border-top:6px solid var(--az);align-self:start}
.side h3{margin:0 0 8px;color:var(--az);font-size:16px}
.mr{border-bottom:1px solid var(--line);padding:9px 0;cursor:pointer}
.mr .tt{font-weight:500;font-size:14px;padding-right:24px}
.nl{list-style:none;margin:0;padding:0}
.nl li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer}
.nl li small{display:block;color:var(--mut);font-size:12px}
.nl li.novo b{color:var(--az)}

/* ---------- painel ---------- */
.kpis{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.k{flex:1 1 150px;background:var(--az);color:#fff;padding:12px 18px;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
.k>span{font-size:12.5px;color:#dce6ee}
.k b{display:block;font-size:32px;font-weight:600;line-height:1.1}
.k.a{background:var(--am);color:#1c1300}.k.a>span{color:#3d2a00}
.pn{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}
.flt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.flt input,.flt select{border:1px solid #c9c2b5;border-radius:8px;padding:6px 9px;font-size:13.5px;min-width:0}
.flt input{flex:1 1 200px}
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:13.5px}
.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;color:var(--mut);padding:10px;border-bottom:2px solid var(--az);font-weight:600}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr.trow{cursor:pointer}
.tbl tr.trow:hover td{background:#fbf9f4}
.tbl .tw{display:block;padding-right:26px;font-weight:500}
.tbl td.cut{overflow:visible}
.box{background:#fff;padding:14px;margin-bottom:14px}
.box.bx-a{border-top:6px solid var(--am)}
.box h3{margin:0 0 8px;color:var(--az);font-size:15px}
.lb{border-bottom:1px solid var(--line);padding:8px 0}
.lb .tt{font-weight:600}

/* ---------- fila, alertas, prazos ---------- */
.intro{background:#fff;padding:14px 18px;border-left:8px solid var(--az);margin-bottom:14px;font-size:14px}
.intro b{color:var(--az)}
.fq{background:#fff;padding:16px 18px;margin-bottom:12px}
.fq h3{margin:6px 0 6px;font-size:18px;color:var(--az);padding-right:26px}
.fq dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 10px;font-size:13.5px;margin:0 0 12px}
.fq dt{color:var(--mut)}.fq dd{margin:0}
.tag{display:inline-block;background:var(--am2);color:var(--amt);border-radius:99px;padding:2px 10px;font-size:12px;font-weight:600}
.fqh{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.dupw{background:#fff5e3;border:1px solid #f0d7a6;padding:8px 10px;font-size:13px;margin-bottom:10px}
.fqp{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:13px}
.fqp input,.fqp select,.pz input,.pz select{border:1px solid #c9c2b5;border-radius:8px;padding:5px 8px;font-size:13px;max-width:100%}
.fqe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.al{display:flex;gap:12px;align-items:flex-start;background:#fff;padding:13px 16px;margin-bottom:8px}
.al .ic{width:16px;height:16px;flex:none;margin-top:3px;background:var(--am);clip-path:polygon(0 0,100% 0,100% 100%)}
.al.info .ic{background:var(--az)}
.al .tx{flex:1;min-width:0;font-size:14px}
.al .tx small{display:block;color:var(--mut);font-size:12.5px}
.pz{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;background:#fff;padding:13px 16px;margin-bottom:8px;align-items:center}
.pz .tt{font-weight:600}
.pz .ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.wait{font-size:12px;background:var(--soft);color:var(--az);border-radius:99px;padding:2px 9px}

/* ---------- painel lateral (criação, detalhe, várias) ---------- */
.scrim{position:fixed;inset:0;background:rgba(10,25,40,.26);z-index:60}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:#fff;z-index:61;overflow-y:auto;border-left:6px solid var(--am);box-shadow:-10px 0 30px rgba(0,0,0,.12);padding:18px 22px 40px}
.drawer.wide{width:min(940px,100%)}
.drawer .det{position:static;max-height:none;padding:0;overflow:visible}
.drh{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:20px;color:var(--az);margin-bottom:10px}
.drh b{font-weight:600}
.x{border:0;background:transparent;font-size:20px;color:var(--mut);padding:2px 8px;line-height:1}
.note{background:var(--soft);padding:9px 12px;font-size:13px;margin-bottom:12px}
.note.am{background:#fff5e3;border-left:4px solid var(--am)}
details{border-top:1px solid var(--line);padding:10px 0}
summary{cursor:pointer;font-weight:600;color:var(--az);font-size:15px;margin-bottom:8px;list-style:none;display:flex;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:18px;line-height:1;color:var(--mut)}
details[open] summary::after{content:"–"}
.fl{display:block;font-size:12.5px;color:var(--mut);margin-bottom:12px;min-width:0}
.fl>span{display:block;margin-bottom:4px}
.fl input:not([type=checkbox]),.fl select,.fl textarea{display:block;width:100%;font-size:15px;color:var(--ink);border:1px solid #c9c2b5;border-radius:8px;padding:8px 10px;background:#fff}
.fl textarea{resize:vertical}
.fl.big input{font-size:20px;font-weight:500;border:0;border-bottom:2px solid var(--az);border-radius:0;padding:6px 0;color:var(--az)}
.fl input:disabled,.fl select:disabled{background:#f3f1ec;color:var(--mut)}
.nt{display:block;margin-top:3px;font-size:11.5px;color:var(--mut)}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.segs{display:flex;flex-wrap:wrap;gap:4px}
.seg{border:1px solid #c9c2b5;background:#fff;border-radius:8px;padding:6px 11px;font-size:13px;color:var(--ink)}
.seg.on{background:var(--az);color:#fff;border-color:var(--az)}
.pp{display:flex;flex-wrap:wrap;gap:6px}
.pp button{display:inline-flex;align-items:center;gap:6px;border:1px solid #c9c2b5;background:#fff;border-radius:99px;padding:3px 10px 3px 3px;font-size:13px;color:var(--ink)}
.pp button.on{background:var(--az);border-color:var(--az);color:#fff}
.pp button:disabled{cursor:default;opacity:1}
.ck2{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink);margin-bottom:8px}
.ck2 input{width:16px;height:16px;accent-color:var(--az)}
.subs{list-style:none;margin:0 0 6px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}
.subs li{display:flex;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid #f0ede7;font-size:14px;color:var(--ink)}
.subs li:last-child{border-bottom:0}
.subs li span{flex:1;min-width:0}
.subs input[type=checkbox]{accent-color:var(--ok);width:16px;height:16px}
.addrow{display:flex;gap:6px}
.addrow input{flex:1;min-width:0;border:1px solid #c9c2b5;border-radius:8px;padding:6px 9px;font-size:14px}
.drv{margin-top:8px;border:1px solid var(--line);background:#fbf9f4;padding:8px}
.drv button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:6px 4px;font-size:13.5px;color:var(--ink)}
.drv button:hover{background:#efeae0}
.route{background:var(--soft);padding:9px 11px;font-size:13px;color:var(--ink);margin-top:8px}
.avisa{background:var(--soft);padding:10px 12px;font-size:13.5px;color:var(--ink);margin:10px 0 14px}
.fbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.newb{display:inline-block;font-style:normal;font-size:10.5px;background:var(--am2);color:var(--amt);border-radius:99px;padding:1px 7px;margin-left:6px;font-weight:600}
.brows{margin:10px 0}
.brow,.bhead{display:grid;grid-template-columns:24px minmax(0,2.2fr) minmax(0,1.3fr) 150px minmax(0,1fr) 28px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.bhead{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);border-bottom:2px solid var(--az);font-weight:600}
.brow input:not([type=checkbox]),.brow select{width:100%;border:1px solid #d9d3c7;border-radius:6px;padding:6px 7px;font-size:13.5px;min-width:0}
.brow input[type=checkbox]{width:17px;height:17px;accent-color:var(--az)}
.brow .rm{border:0;background:transparent;color:var(--mut);font-size:16px}
.bopts{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;margin-bottom:6px}
.bopts .fl{margin:0;min-width:200px}
.bopts .inl{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--ink)}
.bopts .inl input{width:64px;border:1px solid #c9c2b5;border-radius:8px;padding:6px 8px}

/* ---------- modal ---------- */
.modalwrap{position:fixed;inset:0;z-index:80;background:rgba(10,25,40,.42);display:grid;place-items:center;padding:16px}
.modal{background:#fff;max-width:500px;width:100%;padding:20px 22px;border-top:6px solid var(--az);max-height:90vh;overflow:auto}
.modal h3{margin:0 0 8px;color:var(--az);font-size:19px}
.modal p{margin:0 0 10px;font-size:14px}
.cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.cmp div{background:var(--soft);padding:10px;font-size:13.5px}
.cmp small{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-bottom:3px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:8px 6px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}
.opt input{margin-top:3px;accent-color:var(--az)}
.mnav button{display:flex;justify-content:space-between;width:100%;border:0;background:transparent;padding:12px 6px;border-bottom:1px solid var(--line);font-size:15px;text-align:left;color:var(--ink)}
.mnav i{font-style:normal;background:var(--am);border-radius:99px;padding:0 7px;font-size:12px;font-weight:700;color:#111}

/* ---------- seleção ---------- */
.selbar{position:fixed;left:50%;transform:translateX(-50%);bottom:70px;z-index:55;background:var(--az);color:#fff;padding:9px 12px 9px 16px;display:flex;gap:10px;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}
.selbar .b{border-color:#fff}

/* ---------- entrada ---------- */
.login{min-height:100vh;display:grid;place-items:center;padding:24px var(--gut) 70px}
.fr{position:relative;background:#fff;padding:76px 52px 116px;box-shadow:0 10px 30px rgba(14,58,90,.12);width:100%;max-width:580px}
.fr .f1{position:absolute;left:0;top:0;width:62%;height:64px;background:var(--am);clip-path:polygon(0 0,100% 0,0 100%)}
.fr .f2{position:absolute;right:0;top:0;width:26%;height:110px;background:var(--az);clip-path:polygon(0 0,100% 0,100% 100%)}
.fr .f3{position:absolute;left:0;bottom:0;width:100%;height:96px;background:var(--az);clip-path:polygon(0 70%,100% 0,100% 100%,0 100%)}
.fr .f4{position:absolute;right:0;bottom:0;width:90px;height:96px;background:var(--am);clip-path:polygon(70% 10%,100% 0,100% 100%)}
.fr .fin{position:relative;z-index:1}
.fr .logo{height:46px;display:block;margin-bottom:18px}
.fr h1{margin:0 0 6px;color:var(--az);font-size:28px}
.fr p{margin:0 0 14px}
.gbtn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--ink);border:1px solid #b9b2a5;border-radius:999px;padding:10px 20px;font-size:15px;font-weight:500}
.gbtn:hover{border-color:var(--az)}
.gbtn svg{width:18px;height:18px}
.simnote{font-size:12.5px;background:#111;color:#e6e6e6;padding:7px 12px;border-radius:8px;display:inline-block;margin-top:16px}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.person{display:flex;gap:10px;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--line);padding:10px;font-size:13px;color:var(--ink)}
.person:hover{border-color:var(--az);box-shadow:inset 4px 0 0 var(--am)}
.person b{display:block;font-size:14.5px}
.person .av{width:32px;height:32px;font-size:12px}
.person.out .av{background:#7a8591}

/* ---------- barra de simulação ---------- */
.sim{position:fixed;left:12px;bottom:12px;z-index:90;display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:#111;color:#ddd;border-radius:999px;padding:5px 6px 5px 12px;font:12px system-ui,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.3);max-width:calc(100vw - 24px)}
.sim button{border:0;border-radius:999px;padding:5px 10px;background:#2a2a2a;color:#ddd;font:600 12px system-ui,sans-serif}
.sim button.on{background:var(--am);color:#111}
.sim select{background:#2a2a2a;color:#eee;border:0;border-radius:999px;padding:5px 8px;font:600 12px system-ui,sans-serif;max-width:170px}
.sim .lbl{color:#bbb}

#toast{position:fixed;left:50%;bottom:72px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--az);color:#fff;padding:12px 18px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px;width:max-content;max-width:min(600px,calc(100vw - 32px));transition:.25s;z-index:99;pointer-events:none}
#toast.on{opacity:1;transform:translateX(-50%)}
#toast b{color:#ffcf6b}

.tabbar{display:none}

/* ---------- telas médias ---------- */
@media (max-width:1099px){
 .lv{grid-template-columns:minmax(0,1fr)}
 .lv .det{display:none}
 .pn{grid-template-columns:minmax(0,1fr)}
 .two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1000px){
 .board{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fichas{grid-template-columns:minmax(0,1fr)}
 .tl .tg-grid{display:none}
 .tl .lane{display:block}
 .tl .lane .pin{display:block}
 .pin .when{display:inline}
 .tl .ln{margin-bottom:6px}
 .week{grid-template-columns:minmax(0,1fr)}
 .day{min-height:0}
 .day.noday{display:none}
 .fqe{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
 .tbl thead{display:none}
 .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
 .tbl tr{background:#fff;border-bottom:1px solid var(--line);padding:8px 10px}
 .tbl td{border:0;padding:2px 0}
 .tbl td[data-l]::before{content:attr(data-l) ": ";color:var(--mut);font-size:12px}
}

/* ---------- celular ---------- */
@media (max-width:760px){
 body{padding-bottom:84px;font-size:15px}
 .mh{height:112px}
 .mh::before{width:72%;clip-path:polygon(0 0,100% 0,0 42%)}
 .mh::after{width:72%;clip-path:polygon(0 42%,100% 0,100% 2.5%,0 45%)}
 .mh .tri{width:34%;height:58%}
 .mh .in{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;padding:0 var(--gut) 10px}
 .mh .logo{height:22px}
 .mh h1{font-size:21px;margin:0}
 .mh .sp{display:none}
 .mh .rt{position:absolute;right:var(--gut);top:10px;margin:0}
 .mh .rt .pill,.mh .rt .b.new{display:none}
 .pop{top:52px;right:16px}
 .shell{display:block}
 .nav{display:none}
 .main{padding:12px var(--gut) 4px}
 .ph-legend{display:flex}
 .tools .b{font-size:12.5px}
 .row{padding:11px 12px 11px 10px}
 .row .chip{margin-right:16px}
 .det dl{grid-template-columns:96px minmax(0,1fr)}
 .board{grid-template-columns:minmax(0,1fr)}
 .hero h2{font-size:28px}
 .g2,.g3{grid-template-columns:minmax(0,1fr)}
 .drawer{border-left:0;border-top:6px solid var(--am);padding:14px var(--gut) 100px}
 .brow,.bhead{grid-template-columns:24px minmax(0,1fr) 28px}
 .bhead{display:none}
 .brow{grid-template-areas:"ck t rm" ". r r" ". d d" ". s s";padding:10px 0}
 .brow>:nth-child(1){grid-area:ck}.brow>:nth-child(2){grid-area:t}.brow>:nth-child(3){grid-area:r}.brow>:nth-child(4){grid-area:d}.brow>:nth-child(5){grid-area:s}.brow>:nth-child(6){grid-area:rm}
 .people{grid-template-columns:minmax(0,1fr)}
 .fr{padding:62px 20px 100px}
 .fq dl{grid-template-columns:120px minmax(0,1fr)}
 .pz{grid-template-columns:minmax(0,1fr)}
 .pz .ctl{justify-content:flex-start}
 .mf{margin-top:22px;padding:46px 74px 14px var(--gut);clip-path:polygon(0 26%,100% 0,100% 100%,0 100%)}
 .mf .in{gap:6px 18px;font-size:12px}
 .mf b{font-size:22px}
 .mf::after{width:60px}
 .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:68px;z-index:50;background:var(--az);justify-content:space-around;align-items:center;clip-path:polygon(0 16%,100% 0,100% 100%,0 100%);padding:8px 6px calc(env(safe-area-inset-bottom)) 6px}
 .tabbar button{border:0;background:transparent;color:#cdd8e2;font-size:12px;font-weight:500;position:relative;padding:8px 4px;min-width:56px}
 .tabbar button.on{color:#fff;font-weight:700}
 .tabbar i{position:absolute;top:0;right:2px}
 .tabbar .plus{background:var(--am);color:#111;width:46px;height:46px;min-width:46px;border-radius:50%;font-size:26px;line-height:1;padding:0;margin-top:-6px}
 .sim{position:static;border-radius:0;max-width:none;justify-content:center;padding:6px 10px;box-shadow:none}
 .sim select{max-width:170px}
 .sim .rb,.sim .rs,.sim .lbl-long{display:none}
 #toast{bottom:88px}
 .selbar{bottom:84px}
 .two .side{display:none}
}
