
:root{--ink:#17365d;--blue:#1f4e78;--sky:#d9eaf7;--bg:#f6f8fb;--line:#d7dee8;--green:#e2f0d9;--amber:#fff2cc;--orange:#fce4d6;--pink:#f4cccc}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:#243142}
header{background:var(--ink);color:white;padding:14px 24px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.brand{font-size:22px;font-weight:700}.brand span{font-size:12px;font-weight:400;opacity:.75}
nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:white;text-decoration:none;padding:7px 10px;border-radius:6px}nav a:hover{background:#ffffff18}
main{max-width:1500px;margin:auto;padding:24px}h1{color:var(--ink);margin-top:0}h2{color:var(--blue);margin-top:26px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}
.card{background:white;border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:9px;padding:18px}.card b{font-size:30px;color:var(--ink);display:block}.card span{font-size:13px}.card.warn{border-left-color:#d6a600}.card.orange{border-left-color:#db7c2b}.card.pink{border-left-color:#b54a56}
.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}
section,.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:18px}
table{width:100%;border-collapse:collapse;background:white;font-size:13px}th{background:var(--blue);color:white;text-align:left;padding:9px}td{padding:8px;border-bottom:1px solid #e7ebf0;vertical-align:top}tr:hover td{background:#f8fbfd}
.wide{font-size:12px}.badge{font-size:11px;background:var(--sky);padding:3px 6px;border-radius:5px;white-space:nowrap}
.notice{background:var(--amber);border-left:5px solid #c69a00;padding:12px 14px;margin:12px 0;border-radius:5px}.success{background:var(--green);padding:10px}
label{display:block;margin:10px 0;font-weight:600}input,select{padding:9px;border:1px solid #bdc8d5;border-radius:5px;min-width:220px;margin:4px}
button,.button{background:var(--blue);color:white;border:0;padding:9px 14px;border-radius:5px;text-decoration:none;cursor:pointer}.secondary{background:#5e6c7b}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.reconcile{display:grid;grid-template-columns:1.2fr 1fr 2fr;gap:12px;align-items:center;background:white;border:1px solid var(--line);padding:12px;margin:8px 0;border-radius:7px}
.flash{padding:10px;margin-bottom:12px;border-radius:5px}.flash.ok{background:var(--green)}.flash.erro{background:var(--pink)}
footer{text-align:center;color:#6d7886;padding:20px;font-size:12px}

button.danger{background:#a83a3a}

.who{margin-left:auto;font-size:12px;opacity:.9}
.stack{display:flex;flex-direction:column;gap:10px}
.stack button{width:100%}
button.dark{background:#34495e}
.compact{padding:12px}
.small{font-size:12px;color:#687586}
.check{font-weight:400;display:flex;align-items:flex-start;gap:8px}
.check input{min-width:auto;margin-top:3px}

.full{margin-top:20px;background:white;border:1px solid var(--line);border-radius:9px;padding:18px}

.total-row td{background:#edf3f8!important;border-top:2px solid var(--blue);font-weight:700}
.table-total{margin-top:10px;text-align:right;font-size:13px;color:var(--ink)}
.summary-strip{display:flex;gap:18px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:7px;padding:10px 14px;margin:12px 0;color:var(--ink)}
.summary-strip span:first-child{font-size:15px}

.smallcards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.smallcards .card b{font-size:24px}
code{background:#eef2f5;padding:2px 5px;border-radius:4px}

.legacycards{margin-bottom:12px}
.legacycards .card b{font-size:30px}

.boardfilters select,.boardfilters input{min-width:170px}
.matrix th,.matrix td{text-align:center}
.matrix th:nth-child(2),.matrix td:nth-child(2){text-align:left;min-width:260px}

.boardfilters select[name='especialidade']{min-width:170px}

.operator-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;align-items:end}
.edit-operator{display:grid;gap:6px;padding:8px 0;min-width:250px}
details summary{cursor:pointer;color:var(--blue)}
.okbadge{background:#e2f0d9}
.offbadge{background:#f4cccc}

.inlineform{display:flex;gap:6px;align-items:center}
.matrix{font-size:12px}.matrix td,.matrix th{padding:5px}
.perm{min-width:32px;padding:4px 7px;background:#eee;color:#555;border:0}
.perm-on{background:#d9ead3;color:#1d5d2a;font-weight:bold}
hr{border:0;border-top:1px solid #ddd;margin:28px 0}

.note-cell{max-width:420px;white-space:normal}
.poem-note{white-space:pre-wrap;max-width:620px}
.class-form{display:grid;gap:8px;margin:0 0 18px}
.class-form select{width:100%;min-height:150px}
.class-form input{width:100%;box-sizing:border-box;margin:6px 0}
textarea{width:100%;box-sizing:border-box;resize:vertical}
.summary-sentence{font-size:1.04rem}
.quality-block{margin:20px 0}

.deutz-block{margin:22px 0}
.deutz-block h3{margin-top:20px}

.linkbtn{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
