:root{--bg:#f5f7fb;--ink:#172439;--muted:#6b7788;--line:#e4e9f1;--brand:#164d94;--brand2:#0b2c59;--green:#21784c;--white:#fff;--shadow:0 9px 30px rgba(15,29,49,.035)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}input,select{width:100%;border:1px solid #d7deea;border-radius:9px;padding:10px 11px;background:white;color:var(--ink);min-width:0}input:focus,select:focus{outline:2px solid #9fc2ed;outline-offset:1px}input[type=file]{padding:7px}label{display:grid;gap:6px;font-size:13px;font-weight:600}button,.secondary{border:0;border-radius:9px;padding:10px 16px;cursor:pointer;font-weight:650}.primary{background:var(--brand);color:white}.primary:hover{background:var(--brand2)}.secondary,.ghost{background:#eaf0f8;color:var(--brand2)}button:disabled{opacity:.55;cursor:not-allowed}.smallbtn{padding:7px 10px;font-size:12px;white-space:nowrap}.app{display:flex;min-height:100vh}.sidebar{width:250px;flex:0 0 250px;padding:28px 18px;color:#e6effc;background:linear-gradient(150deg,#102e56,#0b1c36);display:flex;flex-direction:column}.brand{font-size:18px;font-weight:600;letter-spacing:-.6px;display:flex;gap:7px;align-items:center}.brand strong{font-weight:750}.brand-icon{background:#3180e7;color:white;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;font-size:23px;margin-right:5px}.nav-label{font-size:10px;letter-spacing:2px;color:#88a1c5;margin:42px 12px 12px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:12px 14px;color:#b3c4dd;border-radius:10px;font-weight:500}.sidebar nav a:hover,.sidebar nav a.selected{background:#24466e;color:#fff;text-decoration:none}.side-bottom{margin-top:auto;color:#c1d1e8;font-size:12px;border-top:1px solid #2e4462;padding:20px 14px}.side-bottom span{color:#7fa0c9}.main{flex:1;min-width:0}.top{min-height:118px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:28px clamp(20px,3vw,50px)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#6e91bd}h1,h2,h3,p{margin:0}.top h1{font-size:27px;letter-spacing:-.8px;margin-top:3px}.profile{display:flex;gap:20px;align-items:center;text-align:right}.profile small{display:block;font-size:11px;color:var(--muted)}.content{padding:32px clamp(20px,3vw,50px) 80px;display:grid;gap:22px;max-width:1550px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric{background:white;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:var(--shadow);display:grid;gap:6px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:32px;letter-spacing:-1px}.metric small,.muted{color:var(--muted)}.small{font-size:12px}.panel{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:24px;min-width:0;display:grid;gap:18px}.panel h2{font-size:17px;letter-spacing:-.3px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.max-panel{max-width:750px}.max-form{max-width:500px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#748092;background:#f8fafc}td,th{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td{color:#324155}tr:last-child td{border-bottom:0}.pill{border-radius:100px;padding:5px 9px;background:#e9edf4;display:inline-block;white-space:nowrap;font-size:11px;font-weight:700}.pill.ok{color:#206b42;background:#e5f5eb}.pill.neutral{color:#69778a;background:#eef1f5}.notice{padding:14px 17px;border-radius:11px;border:1px solid #c7d6ee;background:#f0f6ff;color:#21446f}.notice.info{border-color:#d2e1f5}.notice.error{background:#fff2f1;color:#923b35;border-color:#ffd1cd}.notice.warning{background:#fff9ed;border-color:#f4dfaf;color:#765516}.name-cell{display:flex;align-items:center;gap:9px}.thumb{width:48px;height:42px;object-fit:contain;border:1px solid var(--line);border-radius:8px}.upload-inline{display:flex;align-items:center;gap:6px}.upload-inline input{max-width:160px}.import-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.months{display:grid;gap:0}.months a{padding:12px 2px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--ink)}.months a:hover{color:var(--brand)}.months a:last-child{border-bottom:0}.text-link{font-weight:650}.login-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 20%,#e4eefb,transparent 43%),linear-gradient(130deg,#f5f8fd,#edf2f9)}.login-card{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px rgba(22,45,75,.1);padding:38px;width:min(100%,450px);display:grid;gap:19px}.login-card .brand{color:#123b6a}.login-card h1{font-size:25px;letter-spacing:-.7px}.large{font-size:20px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;word-break:break-word}.install-body{padding:32px 14px}.installer{max-width:800px;margin:auto;border-radius:18px;background:white;padding:30px;border:1px solid var(--line);display:grid;gap:20px}.installer h1{font-size:28px}.installer h2{font-size:18px;margin-top:8px}.installer form{display:grid;gap:14px}.checks{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12px;border-radius:30px;background:#eaf4f0;padding:7px 10px;color:#225a43}.chip.bad{background:#ffebe8;color:#a23f37}.check-line{display:flex;align-items:center;gap:10px}.check-line input{width:auto}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.sidebar{width:200px;flex-basis:200px}}@media(max-width:720px){.app{display:block}.sidebar{width:auto;position:static;padding:14px;display:block}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.sidebar nav a{white-space:nowrap;padding:9px 10px;font-size:12px}.nav-label,.side-bottom{display:none}.brand{font-size:16px}.top{padding:20px;min-height:0}.profile{flex-direction:column;align-items:flex-end;gap:2px}.top h1{font-size:23px}.content{padding:18px 12px 45px}.cards{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:16px}.metric strong{font-size:26px}.panel{padding:16px}.import-form,.form-grid{grid-template-columns:1fr}.upload-inline{flex-direction:column;align-items:stretch}}@media print{.sidebar,.top,.notice{display:none}.main,.content{display:block}.panel{break-inside:avoid}}

/* v1.0.2: gerenciamento seguro de registros */
.record-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.danger-btn{background:#a52b32;color:#fff;border:0;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer;width:max-content}
.danger-btn:hover{background:#861e28}
.action-danger-soft{background:#fff0f0!important;color:#9b3038!important}
.delete-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.delete-bar label{max-width:330px;flex:1;min-width:230px}
.month-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.month-row:last-child{border-bottom:0}
.month-row a:first-child{flex:1;border-bottom:0}
.month-row a:last-child{flex:0 0 auto}
input[type=checkbox]{width:auto;min-width:0}
