/* Book de Metas Kawagraf — mesma família visual dos demais módulos do portal. */
.kw-root{font:14px/1.5 Manrope,'Segoe UI',sans-serif;color:#1e3a3a}
.kw-head h1{font-family:'Playfair Display',Georgia,serif;font-size:29px;margin:0}
.kw-head p{color:#5a7d7d;margin:4px 0 0;font-size:13px}

.kw-cycle{display:flex;gap:26px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #dce5e3;border-top:3px solid #1e3a3a;padding:14px 20px;margin:18px 0 14px}
.kw-cycle-now{display:grid;gap:1px;padding-right:22px;border-right:1px solid #dce5e3}
.kw-cycle-now small{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#5a7d7d}
.kw-cycle-now b{font:600 19px Manrope,Arial}
.kw-cycle-info{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#5a7d7d}
.kw-cycle-info b{color:#1e3a3a}
.kw-progress{margin-left:auto;display:grid;gap:6px;min-width:230px}
.kw-progress span{font-size:12px;color:#5a7d7d}
.kw-bar{height:7px;background:#e3ecec;border-radius:4px;overflow:hidden}
.kw-bar i{display:block;height:100%;background:#4fd1c5}

.kw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.kw-tabs button{font:500 13px Manrope,Arial,sans-serif;background:#fff;color:#1e3a3a;border:1px solid #dce5e3;padding:9px 15px;cursor:pointer}
.kw-tabs button[aria-selected=true]{background:#1e3a3a;border-color:#1e3a3a;color:#fff}
.kw-notice:not(:empty){background:#e3f3f1;border-left:3px solid #4fd1c5;padding:9px 13px;font-size:13px;margin:0 0 12px}

/* Seleção de área */
.kw-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;margin-bottom:16px}
.kw-areas button{display:grid;gap:3px;text-align:left;background:#fff;border:1px solid #dce5e3;border-top:3px solid #c4d6d2;padding:12px 14px;cursor:pointer;font:inherit;color:#1e3a3a}
.kw-areas button b{font:600 14px Manrope,Arial}
.kw-areas button small{font-size:11px;color:#5a7d7d}
.kw-areas button span{font-size:11px;font-weight:700;margin-top:4px}
.kw-areas button[aria-selected=true]{border-top-color:#1e3a3a;box-shadow:0 2px 10px rgba(30,58,58,.09)}
.kw-areas button:hover{background:#f7faf9}
.kw-ok{color:#15604f}
.kw-pending{color:#8a5d17}
.kw-none{color:#9aa8a5;font-style:italic}

.kw-area{background:#fff;border:1px solid #dce5e3;margin-bottom:18px}
.kw-area>header{display:flex;align-items:center;gap:14px;background:#edf3f3;border-bottom:1px solid #dce5e3;padding:12px 18px;flex-wrap:wrap}
.kw-area h2{font:600 16px Manrope,Arial;margin:0}
.kw-area>header>span{font-size:12px;color:#5a7d7d}
.kw-hint{margin-left:auto;font-size:11px;color:#7c8f8b}
.kw-area>header button{margin-left:auto}

/* Árvore de indicadores */
.kw-tree,.kw-tree ul{list-style:none;margin:0;padding:0}
.kw-tree ul{margin-left:26px;border-left:1px solid #dce5e3}
.kw-line{display:flex;align-items:center;gap:8px;padding:2px 14px 2px 10px;border-bottom:1px solid #f1f5f4}
.kw-line:hover{background:#f7faf9}
.kw-twist{width:26px;height:26px;flex:none;border:1px solid #dce5e3;background:#fff;color:#1e3a3a;font-size:11px;line-height:1;cursor:pointer;padding:0}
.kw-twist-empty{border-color:transparent;background:transparent}
.kw-open{flex:1;display:grid;gap:1px;text-align:left;background:transparent;border:0;padding:9px 4px;cursor:pointer;font:inherit;color:#1e3a3a;min-width:0}
.kw-open b{font-weight:600}
.kw-open small{font-size:11px;color:#7c8f8b}
.kw-open:hover b{text-decoration:underline}
.kw-level-1>.kw-line>.kw-open b{font-size:15px}
.kw-flags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.kw-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}
.kw-chip-ok{background:#e1f2ef;color:#15604f}
.kw-chip-pend{background:#f7ecd9;color:#8a5d17}
.kw-chip-acao{background:#e8eeff;color:#2a3f7a}

/* Tabelas */
.kw-table{width:100%;border-collapse:collapse;font-size:13px}
.kw-table th{text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#5a7d7d;font-weight:700;padding:9px 12px;border-bottom:1px solid #dce5e3;white-space:nowrap}
.kw-table td{padding:7px 12px;border-bottom:1px solid #eef2f1;vertical-align:middle}
.kw-table tbody tr:hover td{background:#f7faf9}
.kw-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.kw-input{width:130px}
.kw-input input{width:100%;text-align:right;padding:5px 8px;font-variant-numeric:tabular-nums;border:1px solid #cfdcda;border-radius:4px;font:inherit;color:#1e3a3a;background:#fff}
.kw-input input:disabled{background:#f4f7f6;color:#9aa8a5}
.kw-ro{display:block;text-align:right;color:#5a7d7d;font-variant-numeric:tabular-nums}
.kw-months tbody th{text-align:left;font-size:13px;text-transform:none;letter-spacing:0;color:#1e3a3a;font-weight:600;padding:7px 12px;border-bottom:1px solid #eef2f1}
.kw-months tr.kw-future th,.kw-months tr.kw-future td{color:#9aa8a5}
.kw-months tr.kw-current th{border-left:3px solid #4fd1c5;padding-left:9px}
.kw-todo{color:#9aa8a5;font-style:italic}
.kw-tally{font-size:12px;color:#5a7d7d;display:flex;gap:10px;flex-wrap:wrap}
.kw-panel td:first-child{max-width:340px}
.kw-panel small{display:block;font-size:11px;color:#7c8f8b;margin-top:2px}
.kw-ref{font-size:11px;font-weight:700;display:grid;gap:4px;margin-left:auto;min-width:150px}
.kw-ref select{padding:5px 8px;font:inherit}

.kw-farol{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:11px;white-space:nowrap}
.kw-atingida{background:#e1f2ef;color:#15604f}
.kw-atencao{background:#f7ecd9;color:#8a5d17}
.kw-critica{background:#f9e3e0;color:#93321f}
.kw-sem-meta{background:#eef2f1;color:#6b7e79}
.kw-vazio{background:#f2f4f4;color:#9aa8a5}

/* Plano de ação */
.kw-filters{display:flex;gap:6px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid #eef2f1}
.kw-filters button{font:500 12px Manrope,Arial;background:#fff;border:1px solid #dce5e3;padding:6px 12px;cursor:pointer;color:#1e3a3a}
.kw-filters button[aria-selected=true]{background:#1e3a3a;border-color:#1e3a3a;color:#fff}
.kw-new-action{padding:16px 18px;border-bottom:1px solid #eef2f1;background:#f7faf9}
.kw-new-action h3{font:700 12px Manrope,Arial;letter-spacing:.05em;text-transform:uppercase;margin:0 0 12px}
.kw-action-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kw-area>.kw-action-list{padding:16px 18px}
.kw-action-list li{border-bottom:1px solid #eef2f1;padding-bottom:11px}
.kw-action-list li:last-child{border-bottom:0;padding-bottom:0}
.kw-action-top{display:flex;gap:10px;align-items:baseline;justify-content:space-between}
.kw-action-list b{font-weight:600}
.kw-action-list small{display:block;font-size:11px;color:#7c8f8b;margin-top:3px}
.kw-result{color:#15604f!important}
.kw-action-edit{display:flex;gap:8px;align-items:center;margin-top:7px;flex-wrap:wrap}
.kw-action-edit select{width:150px;flex:none;padding:5px 8px;font:inherit;border:1px solid #cfdcda;border-radius:4px;background:#fff;color:#1e3a3a}
.kw-action-edit input{flex:1;min-width:190px;padding:5px 8px;font:inherit;border:1px solid #cfdcda;border-radius:4px;background:#fff;color:#1e3a3a}

/* Janela do indicador */
.kw-dialog{border:1px solid #dce5e3;border-radius:8px;max-width:780px;width:calc(100% - 32px);max-height:90dvh;padding:0;color:#1e3a3a;font:14px Manrope,'Segoe UI',sans-serif;overflow:auto;background:#fff}
.kw-dialog::backdrop{background:#0f1c1cb3}
.kw-dialog header{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:18px 22px;background:#1e3a3a;color:#fff;position:sticky;top:0;z-index:2}
.kw-dialog header b{font:600 19px Manrope,Arial;display:block;margin:3px 0}
.kw-dialog header small{display:block;color:#c1d6d2;font-size:11.5px}
.kw-dialog header button{background:transparent;border:1px solid #6f8f8a;color:#fff;padding:6px 12px;cursor:pointer;font:inherit;flex:none}
.kw-dialog-tabs{display:flex;gap:4px;padding:12px 22px 0}
.kw-dialog-tabs button{font:500 13px Manrope,Arial;background:#fff;border:1px solid #dce5e3;padding:7px 14px;cursor:pointer;color:#1e3a3a}
.kw-dialog-tabs button[aria-selected=true]{background:#edf3f3;border-color:#1e3a3a}
.kw-dialog .kw-table,.kw-dialog h3,.kw-dialog .kw-action-list,.kw-dialog .kw-action-form,.kw-dialog>p{margin-left:22px;margin-right:22px;width:auto}
.kw-dialog .kw-table{width:calc(100% - 44px)}
.kw-dialog h3{font:700 12px Manrope,Arial;letter-spacing:.05em;text-transform:uppercase;margin-top:22px;margin-bottom:10px}
.kw-dialog>p:last-child{padding-bottom:22px}
.kw-dialog .kw-action-list{padding-bottom:22px}
.kw-year{display:flex;gap:16px;align-items:end;padding:14px 22px 6px}
.kw-year label{font-size:11px;font-weight:700;display:grid;gap:4px}
.kw-year select{padding:5px 9px;font:inherit}
.kw-year small{font-size:11px;color:#7c8f8b;padding-bottom:6px}
.kw-warn{background:#f7ecd9;border-left:3px solid #9A6B22;padding:9px 12px;font-size:12px;margin-top:16px}
.kw-dialog-error{background:#f9e3e0;border-left:3px solid #93321f;padding:9px 12px;font-size:13px;margin:12px 22px}
.kw-action-form{display:grid;gap:12px;padding-top:16px}
.kw-action-form label{font-size:12px;font-weight:700;display:grid;gap:5px}
.kw-action-form input,.kw-action-form select,.kw-action-form textarea{padding:7px 9px;font:inherit;border:1px solid #cfdcda;border-radius:4px;background:#fff;color:#1e3a3a;width:100%}
.kw-action-form textarea{resize:vertical}
.kw-action-form button{justify-self:start;background:#1e3a3a;color:#fff;border:1px solid #1e3a3a;padding:8px 16px;cursor:pointer;font:inherit}
.kw-form-grid{display:grid;grid-template-columns:1fr 200px;gap:12px}

/* OPR */
.kw-opr{background:#fff;border:1px solid #dce5e3}
.kw-opr-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:18px 20px;background:#1e3a3a;color:#fff;flex-wrap:wrap}
.kw-opr-head h2{font:600 22px Manrope,Arial;margin:4px 0}
.kw-opr-head small{color:#c1d6d2;font-size:12px}
.kw-opr-controls{display:flex;gap:14px;align-items:end;flex-wrap:wrap}
.kw-opr-pick{font-size:11px;font-weight:700;display:grid;gap:4px;min-width:210px}
.kw-opr-controls .kw-ref{margin-left:0;color:#fff}
.kw-opr-controls select{padding:5px 8px;font:inherit}
.kw-quad{display:grid;grid-template-columns:1fr 1.25fr;gap:1px;background:#dce5e3}
.kw-quad article{background:#fff;padding:16px 18px;min-height:150px}
.kw-quad h3{font:700 12px Manrope,Arial;letter-spacing:.05em;text-transform:uppercase;color:#1e3a3a;margin:0}
.kw-quad>article>small{color:#7c8f8b;font-size:11px;display:block;margin:2px 0 10px}
.kw-quad-c{grid-row:span 2}
.kw-spark{width:100%;height:auto;display:block;margin-bottom:10px}
.kw-note{font-size:12px;color:#5a7d7d;background:#f4f7f6;padding:8px 10px;margin:10px 0 0}
.kw-link{color:#1e3a3a;font-weight:700}

button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #4fd1c5;outline-offset:2px}

@media(max-width:960px){
 .kw-quad{grid-template-columns:1fr}
 .kw-quad-c{grid-row:auto}
 .kw-progress{margin-left:0}
 .kw-table{display:block;overflow-x:auto}
 .kw-form-grid{grid-template-columns:1fr}
 .kw-cycle-now{border-right:0;padding-right:0}
 .kw-hint{margin-left:0;flex-basis:100%}
}
