:host{display:block;min-width:0;color:#18232f;font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color-scheme:light;--red:#ae3443;--line:#eddae0}*{box-sizing:border-box}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #476ed4;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.15;letter-spacing:-.6px}h2{font-size:20px}h3{font-size:17px}small,.muted{color:#647184}.muted{margin-top:7px}header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.crumb{color:var(--red);font-size:12px;font-weight:700;margin-bottom:8px}.version{font-size:11px;font-weight:600;color:#747a87;display:inline-block;margin-top:12px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);border-radius:11px;background:#fff5f6;color:var(--red);padding:10px 14px;min-height:42px;font-weight:650;line-height:1.25}.btn.primary{background:var(--red);border-color:var(--red);color:white}.btn.plain{background:white;color:#263345}.btn.danger{background:#fff1f2;color:#a12d3b}.panel{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 24px #521c2610}.empty{padding:42px 20px;text-align:center}.empty p{color:#677486;margin:8px 0 18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.year-card,.dept-card{width:100%;border:1px solid var(--line);border-radius:16px;background:white;padding:20px;text-align:left;color:#1d2939}.year-card:hover,.dept-card:hover{border-color:#c4808b;background:#fffafb}.year-card strong{font-size:28px;display:block}.year-card span,.year-card small{display:block;margin-top:5px}.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.stat{flex:1;min-width:140px;background:white;border:1px solid var(--line);border-radius:13px;padding:14px 17px}.stat b{display:block;font-size:23px}.stat small{display:block}.searchbar{display:flex;align-items:end;gap:10px;margin-bottom:18px;flex-wrap:wrap}.searchbar label{flex:1;min-width:180px}.field{display:grid;gap:6px;font-size:13px;font-weight:650;color:#3e4c60}input,select,textarea{width:100%;min-height:43px;border:1px solid #d6dce5;border-radius:10px;padding:10px 12px;background:#fff;color:#192538}input:focus,select:focus,textarea:focus{outline:2px solid #bd6b7a;outline-offset:1px}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--red)}textarea{resize:vertical}.role-line{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #eee6e9;padding:12px 0 0;margin-top:12px}.badge{border-radius:7px;font-size:12px;padding:5px 8px;white-space:nowrap;font-weight:650}.vacant{background:#e4f5e9;color:#186437}.filled{background:#e4edff;color:#244f98}.inactive{background:#eef0f4;color:#5b6572}.person-row{padding:18px 0;border-top:1px solid #ebeef2;display:flex;gap:16px;justify-content:space-between;align-items:center}.person-row:first-of-type{border-top:0}.person-row strong{display:block}.person-meta{font-size:13px;color:#657286;margin-top:4px;overflow-wrap:anywhere}.person-row .actions{justify-content:flex-end}.nopeople{color:#758195;padding:20px 0 6px}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:5px}.note{background:#fff6e7;border:1px solid #f0dfbd;border-radius:10px;padding:12px;color:#725128;font-size:13px;margin:12px 0}.error{background:#fff0f2;border:1px solid #e7b9c3;border-radius:10px;padding:13px;color:#963044;margin:10px 0}.success{background:#eaf8ef;border:1px solid #b4d8c0;border-radius:10px;padding:12px;color:#205e38;margin-bottom:15px}dialog{border:1px solid #e6dce0;border-radius:19px;padding:0;max-width:640px;width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto;background:white;color:#18232f;box-shadow:0 22px 90px #14203045}dialog::backdrop{background:rgba(20,26,34,.42)}.dialog-head{position:sticky;top:0;background:white;display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid #edf0f2;gap:12px;z-index:2}.dialog-body{padding:22px}.form-grid{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.check{display:flex;align-items:center;gap:9px;font-size:14px}.access{display:grid;gap:13px;border:1px solid var(--line);border-radius:12px;background:#fff8f9;padding:16px}.hint{font-size:12px;font-weight:400;color:#687588}.dialog-foot{display:flex;justify-content:flex-end;gap:9px;margin-top:10px;flex-wrap:wrap}dl{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:0}dt{color:#657286;font-weight:600}dd{margin:0;overflow-wrap:anywhere}main{padding:3px 0 24px}footer{padding-top:4px}.read-only{color:#52647c;border:1px solid #dae1eb;border-radius:9px;padding:9px 12px;font-size:13px}details{margin:8px 0}summary{cursor:pointer;font-weight:650}.counts{display:block;margin-top:12px;font-size:12px;color:#667588}@media(max-width:700px){header{flex-direction:column}.grid{grid-template-columns:1fr}.person-row{align-items:flex-start;flex-direction:column}.person-row .actions{justify-content:flex-start}h1{font-size:27px}.panel{padding:17px}.two{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.actions .btn{min-height:44px}.dialog-body{padding:17px}.dialog-head{padding:15px 17px}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.cpf-box{border:1px solid var(--line);border-radius:13px;background:#fffafb;padding:14px;display:grid;gap:10px}
.cpf-label{font-size:13px;font-weight:750;color:#3d4a5d}
.cpf-search-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}
.cpf-result{border-radius:10px;padding:11px 12px;font-size:13px}
.cpf-result.found{background:#eaf8ef;border:1px solid #b6ddc3;color:#205f39}
.cpf-result.warn{background:#fff6e7;border:1px solid #f0d9aa;color:#725128}
.cpf-result.new{background:#eef4ff;border:1px solid #c9d8f4;color:#294e85}
input.locked[readonly]{background:#f4f6f8;color:#667385;cursor:not-allowed}
@media(max-width:700px){.cpf-search-row{grid-template-columns:1fr}}
