.esp-msg{ color:var(--ok); font-size:.84rem; font-weight:600 }
.esp-cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; margin-top:16px; align-items:stretch }
.esp-cols .esp-col{ margin:0 }
.esp-cols + .card{ margin-top:16px }
@media (max-width:900px){ .esp-cols{ grid-template-columns:minmax(0,1fr) } }
.esp-res{ max-height:560px; overflow:auto; margin-top:10px }
.esp-itens-box{ max-height:560px; overflow:auto }
.esp-b{ display:flex; gap:10px; align-items:center; justify-content:space-between; padding:9px 2px; border-top:1px solid var(--border); font-size:.86rem }
.esp-b:first-child{ border-top:0 } .esp-b span{ min-width:0 } .esp-b button{ flex:none } .esp-b.feito{ opacity:.55 }
.esp-i{ display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:6px 10px; align-items:center; padding:10px 0; border-top:1px solid var(--border) }
.esp-i:first-child{ border-top:0 }
.esp-chk{ display:flex !important; gap:10px; align-items:flex-start; margin:0 !important; color:var(--text) !important; font-size:.88rem !important; cursor:pointer }
.esp-chk input{ width:auto !important; margin-top:3px }
.esp-i.off .esp-chk span{ text-decoration:line-through; color:var(--muted) }
.esp-tag{ font-size:.7rem; border-radius:20px; padding:2px 9px; background:var(--primary-light); color:var(--primary-dark,#c96e08); white-space:nowrap } .esp-tag.m{ background:#e8f3ff; color:#1f6fd1 }
.esp-x{ border:0; background:none; font-size:1.2rem; line-height:1; color:var(--muted); cursor:pointer; padding:2px 6px } .esp-x:hover{ color:var(--danger) }
.esp-mot{ grid-column:1 / -1; font-size:.8rem !important; padding:6px 10px !important }
.esp-manual{ margin-top:10px }
.esp-pick{ display:flex; justify-content:space-between; gap:12px; align-items:center; width:100%; text-align:left; background:none; border:0; border-top:1px solid var(--border); padding:11px 4px; cursor:pointer; color:var(--text); font:inherit }
.esp-pick:hover{ background:var(--primary-light) } .esp-pick span:first-child{ display:flex; flex-direction:column; min-width:0 } .esp-pick small{ color:var(--muted) }
.esp-arq{ cursor:pointer; display:inline-block }
.esp-sug{ margin-top:16px }
.esp-al{ border-left:3px solid var(--primary); background:var(--primary-light); border-radius:6px; padding:8px 12px; margin-top:8px; font-size:.86rem }
.esp-al.cl{ border-left-color:#1f6fd1; background:#e8f3ff; color:#12385f }
.esp-tag.ia{ background:#efe7fb; color:#6a3fb5 }
.esp-filtros{ display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-bottom:6px }
.esp-filtros .tbl-search{ flex:1 1 260px; min-width:220px }
.esp-periodo{ position:relative }
.esp-atalhos{ display:flex; gap:6px; flex-wrap:wrap }
.esp-chip{ border:1px solid var(--border); background:var(--panel); color:var(--text); border-radius:20px; padding:6px 12px; font-size:.8rem; font-weight:500; cursor:pointer }
.esp-chip:hover{ border-color:var(--primary); color:var(--primary-dark,#c96e08); background:var(--primary-light) }
.esp-chip.lim{ color:var(--muted); border-style:dashed }
.esp-per-btn{ display:flex; align-items:center; gap:9px; border:1px solid var(--border); background:var(--bg); color:var(--text); border-radius:10px; padding:9px 14px; font:inherit; font-size:.88rem; cursor:pointer; white-space:pre }
.esp-per-btn:hover{ border-color:var(--primary) } .esp-per-btn svg{ color:var(--primary) }
.esp-cal{ position:absolute; top:calc(100% + 8px); left:0; z-index:30; width:312px; background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:16px; box-shadow:0 18px 44px rgba(20,20,30,.16) }
.esp-cal[hidden]{ display:none }
.esp-cal-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px } .esp-cal-top strong{ font-family:Poppins,Inter,sans-serif; font-size:.98rem; text-transform:capitalize }
.esp-nav{ width:34px; height:34px; border-radius:8px; border:0; background:var(--bg); color:var(--text); font-size:1.25rem; line-height:1; cursor:pointer } .esp-nav:hover{ background:var(--primary-light); color:var(--primary) }
.esp-cal-sem,.esp-cal-dias{ display:grid; grid-template-columns:repeat(7,1fr); row-gap:3px; text-align:center }
.esp-cal-sem span{ font-size:.72rem; font-weight:600; color:var(--muted); padding-bottom:6px }
.esp-dia{ height:38px; border:0; background:none; font:inherit; font-size:.86rem; color:var(--text); cursor:pointer; border-radius:8px; position:relative }
.esp-dia:hover{ background:var(--primary-light) }
.esp-dia.hoje{ font-weight:700; color:var(--primary-dark,#c96e08) }
.esp-dia.hoje::after{ content:""; position:absolute; left:50%; bottom:5px; width:4px; height:4px; margin-left:-2px; border-radius:50%; background:var(--primary) }
.esp-dia.ini.hoje::after,.esp-dia.fim.hoje::after,.esp-dia.so.hoje::after{ background:#fff }
.esp-dia.no{ background:var(--primary-light); border-radius:0; color:var(--text) }
.esp-dia.ini{ border-radius:8px 0 0 8px; background:var(--primary); color:#fff } .esp-dia.fim{ border-radius:0 8px 8px 0; background:var(--primary); color:#fff }
.esp-dia.so,.esp-dia.ini.fim{ border-radius:8px; background:var(--primary); color:#fff }
.esp-cal .esp-chip{ border-radius:8px }
.esp-cal-rod{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid var(--border) }
.esp-ult{ margin-top:2px }
.esp-hist{ margin-top:16px } .esp-hist summary{ cursor:pointer; display:flex; align-items:center; gap:10px; list-style:none } .esp-hist summary::-webkit-details-marker{ display:none }
.esp-hist summary::before{ content:"▸"; color:var(--muted); transition:transform .15s } .esp-hist[open] summary::before{ transform:rotate(90deg) }
.esp-hist-lista{ margin-top:10px; max-height:420px; overflow:auto }
.esp-h{ padding:11px 0; border-top:1px solid var(--border) } .esp-h:first-child{ border-top:0 }
.esp-h-top{ display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center }
.esp-h-acao{ font-size:.7rem; font-weight:600; border-radius:6px; padding:2px 8px; background:var(--primary-light); color:var(--primary-dark,#c96e08) }
.esp-h-acao.criada{ background:#e6f6ec; color:#17794a } .esp-h-acao.excluida{ background:#fdeaea; color:var(--danger) }
.esp-h-res{ font-size:.87rem; margin-top:4px }
.esp-h-det{ margin-top:4px } .esp-h-det summary{ cursor:pointer; color:var(--primary) } .esp-h-det ul{ margin:6px 0 0; padding-left:18px; font-size:.82rem; color:var(--muted) }
.cb-resumo{ display:flex; flex-wrap:wrap; gap:12px 36px } .cb-resumo div{ display:flex; flex-direction:column } .cb-resumo b{ font-family:Poppins,Inter,sans-serif; font-size:1.5rem }
.cb-trecho{ max-width:560px; white-space:normal }
.cb-hero{ position:relative; height:470px; border-radius:16px; overflow:hidden; background:radial-gradient(120% 90% at 50% 45%, #1d1a3a 0%, #0f1224 55%, #080a16 100%); box-shadow:0 12px 34px rgba(15,18,36,.28); margin-bottom:10px }
.cb-hero canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y }
.cb-hero-tit{ position:absolute; top:18px; left:22px; display:flex; flex-direction:column; gap:2px; pointer-events:none }
.cb-hero-tit b{ color:#ffd9b0; font-family:Poppins,Inter,sans-serif; font-size:1.05rem } .cb-hero-tit span{ color:#9aa3d6; font-size:.8rem }
.cb-hero-info{ position:absolute; left:18px; right:18px; bottom:16px; display:flex; flex-wrap:wrap; gap:10px; pointer-events:none }
.cb-hero-info div{ display:flex; flex-direction:column; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-radius:12px; padding:9px 15px; min-width:112px }
.cb-hero-info b{ color:#fff; font-family:Poppins,Inter,sans-serif; font-size:1.35rem; line-height:1.1 } .cb-hero-info span{ color:#aab3e6; font-size:.74rem }
.cb-dica{ position:absolute; z-index:5; max-width:220px; background:rgba(12,14,30,.92); border:1px solid rgba(255,190,130,.45); color:#fff; border-radius:10px; padding:8px 11px; pointer-events:none; font-size:.82rem; display:flex; flex-direction:column; gap:2px }
.cb-dica[hidden]{ display:none } .cb-dica span{ color:#ffbe82; font-size:.74rem }
.cb-nota{ margin:0 2px 16px }
@media (max-width:700px){ .cb-hero{ height:420px } .cb-hero-info div{ min-width:0; flex:1 1 40% } }
.esp-tag.mod{ background:#e6f6ec; color:#17794a }
.cb-modal{ position:fixed; inset:0; z-index:200; background:rgba(15,18,36,.55); display:flex; align-items:center; justify-content:center; padding:16px; overflow:auto }
.cb-modal-c{ width:100%; max-width:560px; max-height:92vh; overflow:auto; margin:0 !important }
.cb-abas{ display:inline-flex; gap:4px; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:3px; margin-bottom:12px }
.cb-aba{ border:0; background:none; font:inherit; font-size:.88rem; font-weight:600; color:var(--muted); padding:7px 16px; border-radius:8px; cursor:pointer }
.cb-aba.on{ background:var(--panel); color:var(--primary-dark,#c96e08); box-shadow:0 1px 3px rgba(0,0,0,.1) }
.cb-pal{ display:flex; flex-wrap:wrap; gap:4px } .cb-pal span{ background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:1px 7px; font-size:.76rem }
.esp-mot.pend{ border-color:#f0b15c !important; background:#fff8ec !important }
.esp-mot.erro{ border-color:var(--danger) !important; background:#fdeeee !important }
.esp-erro{ color:var(--danger); font-size:.84rem; font-weight:600 }
.cb-st{ display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-weight:600; border-radius:20px; padding:3px 11px 3px 9px; white-space:nowrap }
.cb-st::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor }
.cb-st.on{ background:#e6f6ec; color:#17794a } .cb-st.off{ background:var(--bg); color:var(--muted); border:1px solid var(--border) }
.cb-sw{ display:flex !important; align-items:center; gap:12px; cursor:pointer; margin:0 !important; padding:9px 12px; border:1px solid var(--border); border-radius:12px; background:var(--bg); min-height:44px; box-sizing:border-box }
.cb-sw input{ position:absolute; opacity:0; width:0 !important; height:0; pointer-events:none }
.cb-sw-t{ flex:none; width:42px; height:24px; border-radius:20px; background:#c4c8d4; position:relative; transition:background .18s }
.cb-sw-t::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .18s }
.cb-sw input:checked ~ .cb-sw-t{ background:#22a05f } .cb-sw input:checked ~ .cb-sw-t::after{ transform:translateX(18px) }
.cb-sw input:focus-visible ~ .cb-sw-t{ outline:2px solid var(--primary); outline-offset:2px }
.cb-sw-l{ display:flex; flex-direction:column; line-height:1.25; color:var(--text) } .cb-sw-l b{ font-size:.9rem } .cb-sw-l small{ font-size:.76rem; color:var(--muted) }
.cb-sw input:checked ~ .cb-sw-l .off, .cb-sw input:not(:checked) ~ .cb-sw-l .on{ display:none }
.cb-esp{ display:flex; flex-direction:column; gap:3px; max-width:440px } .cb-esp span{ font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-left:12px; position:relative } .cb-esp span::before{ content:""; position:absolute; left:2px; top:.55em; width:5px; height:5px; border-radius:50%; background:var(--primary) }
.cb-esp em{ font-size:.76rem; color:var(--muted); font-style:normal; padding-left:12px }
