:root{--navy:#1f2a4a;--blue:#82aadb;--blue-d:#4d77ae;--blue-l:#eaf1fa;--red:#bf2a1f;--gold:#f7b32b;--bg:#f5f8fc;--card:#fff;--line:#dbe3ee;--ok:#2e7d52;--warn:#b7791f;--bad:#bf2a1f;--txt:#1d2433;--mut:#66728a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--txt);line-height:1.45}
a{color:var(--blue-d)}
.top{background:#fff;border-bottom:4px solid var(--blue);padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.top img.logo{height:90px;width:auto;display:block}
.top .grow{flex:1}
.top .nav{display:flex;gap:6px;flex-wrap:wrap}
.top .nav a{text-decoration:none;color:var(--navy);padding:8px 13px;border-radius:9px;font-weight:600;font-size:14px}
.top .nav a.on,.top .nav a:hover{background:var(--blue-l)}
.hero{background:#b4cdea url(faixa.svg) right center/cover no-repeat;color:var(--navy);padding:34px 20px;min-height:210px;position:relative}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(234,241,250,.88) 0%,rgba(234,241,250,.6) 55%,rgba(234,241,250,0) 85%)}.hero>*{position:relative}
.hero h1{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:28px}
.hero p{margin:0;max-width:560px;font-size:16px}
.aviso{background:#fff7e0;border:1px solid #f1d98a;color:#6b4e00;padding:10px 14px;border-radius:10px;margin:14px auto 0;max-width:1200px}
main{max-width:1200px;margin:0 auto;padding:16px 20px 50px}
button,.btn{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:10px;padding:9px 15px;font-weight:600;font-size:14px;text-decoration:none;display:inline-block}
.b-pri{background:var(--navy);color:#fff}.b-pri:hover{background:#2d3c68}
.b-sec{background:#fff;color:var(--navy);border-color:var(--line)}.b-sec:hover{background:var(--blue-l)}
.b-red{background:var(--red);color:#fff}
.b-ok{background:var(--ok);color:#fff}
.b-sm{padding:6px 10px;font-size:13px}
button:disabled{opacity:.45;cursor:not-allowed}
input[type=text],input[type=password],input[type=number],input[type=tel],select,textarea,input[type=file]{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%;color:var(--txt)}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);border-color:var(--blue)}
.bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.bar input[type=text]{flex:1;min-width:200px;width:auto}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:#fff;border:1px solid var(--line);color:var(--navy);border-radius:999px;padding:6px 13px;font-size:13px;font-weight:500}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.chk{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--navy)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.cover{height:190px;display:flex;align-items:flex-end;padding:12px;color:#fff;font-family:Georgia,serif;font-weight:700;font-size:17px;line-height:1.2;position:relative;background-size:cover;background-position:center;cursor:pointer}
.cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:rgba(0,0,0,.18)}
.cover span{position:relative;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.cover.img{padding:0;background:#eee}.cover.img img{width:100%;height:100%;object-fit:cover;display:block}
.cbody{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.cbody h3{margin:0;font-size:16px;color:var(--navy);font-family:Georgia,serif;cursor:pointer}
.auth{font-size:13px;color:var(--mut)}
.desc{font-size:13.5px;color:#39445c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tag{font-size:11px;background:var(--blue-l);color:var(--blue-d);border-radius:6px;padding:2px 8px;align-self:flex-start;font-weight:600}
.st{font-size:13px;font-weight:700}.st.ok{color:var(--ok)}.st.no{color:var(--bad)}.st.mid{color:var(--warn)}
.cact{display:flex;gap:6px;margin-top:auto;padding-top:6px}
.cact .b-pri{flex:1}
.empty{padding:40px;text-align:center;color:var(--mut);background:#fff;border:1px dashed var(--line);border-radius:12px}
.ovl{position:fixed;inset:0;background:rgba(20,28,50,.55);display:flex;align-items:center;justify-content:center;padding:14px;z-index:50;overflow:auto}
.modal{background:#fff;border-radius:16px;max-width:540px;width:100%;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.35);max-height:94vh;overflow:auto}
.modal h2{margin:0 0 4px;font-family:Georgia,serif;color:var(--navy);font-size:21px}
.modal .sub{color:var(--mut);font-size:14px;margin-bottom:14px}
.dmeta{display:flex;gap:14px}
.dmeta img{width:120px;height:170px;object-fit:cover;border-radius:8px;flex:none;border:1px solid var(--line)}
.f{margin-bottom:11px}.f label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:4px}
.f .hint{font-size:12px;color:var(--mut);margin-top:3px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mact{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.err{color:var(--bad);font-size:13px;min-height:18px;margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.okbox{background:#e7f6ee;border:1px solid #b6e2c8;border-radius:12px;padding:14px;margin-bottom:10px}
.okbox .cod{font-size:26px;font-weight:800;color:var(--ok);letter-spacing:.05em}
.priv{font-size:12px;color:var(--mut)}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:99;opacity:0;pointer-events:none;transition:opacity .25s}
#toast.on{opacity:1}
footer{max-width:1200px;margin:0 auto;padding:0 20px 30px;color:var(--mut);font-size:12px}
/* admin */
.sec{margin-bottom:26px}
.sec h2{font-family:Georgia,serif;color:var(--navy);font-size:20px;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.badge{background:var(--red);color:#fff;border-radius:999px;font-size:12px;padding:1px 9px;font-family:system-ui}
.badge.g{background:var(--blue-d)}
.tw{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:680px}
th{background:var(--blue-l);color:var(--navy);text-align:left;padding:9px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:top}
tr.late td{background:#fdf0ee}
.small{font-size:12px;color:var(--mut)}
.pill{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.p-pend{background:#fff0cf;color:#8a5a00}.p-sep{background:#e0ecfa;color:var(--blue-d)}.p-ret{background:#e3e8f7;color:var(--navy)}.p-done{background:#dff2e7;color:var(--ok)}.p-late{background:#fbdcd8;color:var(--bad)}.p-off{background:#eceff4;color:var(--mut)}
.acts{display:flex;gap:5px;flex-wrap:wrap}
.acts form{margin:0}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;max-width:640px}
.login{max-width:380px;margin:50px auto}
.flash{background:#e7f6ee;border:1px solid #b6e2c8;color:#1f5d3b;padding:10px 14px;border-radius:10px;margin-bottom:14px}
.flash.e{background:#fdecea;border-color:#f3bcb6;color:#8a1f16}
.capa-prev{width:110px;height:155px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
@media(max-width:560px){.row2{grid-template-columns:1fr}.hero h1{font-size:23px}.top img.logo{height:70px}.dmeta img{width:90px;height:130px}}
@media print{.top,.hero,.noprint,footer,#toast{display:none!important}body{background:#fff}.tw{border:none}}
