:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172337;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:#1e60c3;color:white;border:1px solid #1e60c3;border-radius:9px;padding:10px 16px;font-weight:650}button:hover{filter:brightness(.95)}input,select{width:100%;min-width:0;border:1px solid #d8dfeb;border-radius:9px;background:white;padding:10px 12px;color:#1c2b40}input:focus,select:focus{outline:2px solid #9fc1f4;outline-offset:1px}label{font-size:13px;color:#44546a;font-weight:600;display:grid;gap:6px}h1,h2,p{margin-top:0}h1{font-size:27px;letter-spacing:-.7px;margin-bottom:4px}h2{font-size:17px;letter-spacing:-.2px;margin-bottom:18px}.muted,small{color:#79869a}.small{font-size:12px}.shell{display:flex;min-height:100vh}.sidebar{width:238px;background:#101d32;color:#e8f0fb;position:sticky;top:0;height:100vh;flex-shrink:0;display:flex;flex-direction:column;padding:24px 15px}.brand{display:flex;gap:11px;align-items:center;padding:8px 8px 33px}.brand strong{font-size:14px}.brand small{display:block;font-size:11px;margin-top:2px;color:#99a9c2}.mark{width:43px;height:43px;display:grid;place-items:center;background:#2a64ba;color:white;border-radius:12px;font-weight:800;letter-spacing:-1px}.mark span{color:#a9d4ff}nav{display:grid;gap:5px}nav a{color:#b7c6da;text-decoration:none;padding:12px 13px;border-radius:10px;font-weight:550;font-size:14px;display:flex;align-items:center;gap:12px}nav a:hover{background:#1a304f}nav a.active{background:#294c82;color:white}.nav-dot{width:8px;height:8px;border:1px solid #7695bc;border-radius:50%}.active .nav-dot{background:#64abff;border-color:#64abff}.side-bottom{margin-top:auto;border-top:1px solid #263d5c;padding:18px 9px 0;display:flex;align-items:center;justify-content:space-between;font-size:13px}.plain{background:transparent;border:0;padding:5px;color:#b7c6da}.workspace{flex:1;min-width:0}.top{padding:28px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebf3;background:white}.top small{font-size:10px;letter-spacing:1.4px;font-weight:700}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e3edff;color:#2456a0;font-weight:800}.content{padding:28px 40px;max-width:1530px;margin:auto}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.kpi,.panel{background:#fff;border:1px solid #e4e9f2;border-radius:15px;box-shadow:0 3px 14px #172c4c08}.kpi{padding:22px;display:grid;gap:10px}.kpi small{font-weight:700;color:#52647b}.kpi strong{font-size:26px;letter-spacing:-.6px;white-space:nowrap}.kpi span{font-size:12px;color:#8b96a6}.green{color:#12815d!important}.amber{color:#ba770d!important}.red{color:#c3444f!important}.split{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;margin-top:20px}.panel{padding:22px;margin-bottom:20px}.split .panel{min-width:0}.balance-row{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #edf0f5}.balance-row.total{font-size:19px;border-bottom:0}.panel-head{display:flex;justify-content:space-between}.period{display:flex;gap:10px;align-items:end;justify-content:flex-end;margin-bottom:18px}.period input{width:165px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;padding:12px 10px;color:#718098;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #e8edf5;white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid #edf0f5;vertical-align:top}td strong{font-weight:680}td small{display:block;margin-top:4px}.empty{text-align:center;color:#8390a2;padding:25px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-submit{justify-self:start;align-self:end}.wide{grid-column:1/-1}.installments{display:grid;gap:8px;margin:10px 0}.install-row{display:grid;grid-template-columns:180px 1fr auto;gap:10px}.outline{background:#fff;border:1px solid #cad6e9;color:#2456a0}.row-details{margin-top:8px;min-width:190px}.row-details summary{color:#215aa8;cursor:pointer;font-size:12px;font-weight:650}.mini-form{display:grid;gap:8px;max-width:250px;margin-top:12px}.mini-form label{font-size:12px}.mini-form button{padding:8px}.tag{font-size:11px;padding:5px 8px;display:inline-block;border-radius:20px;background:#e8eef7;color:#4b607e;white-space:nowrap}.tag.concluido{background:#dff5eb;color:#0c7752}.tag.cancelado{background:#fce6e9;color:#ad3141}.tag.em_andamento{background:#e6efff;color:#225caa}.inline-form{display:flex;gap:5px;margin-top:7px}.inline-form select{font-size:11px;padding:5px;width:135px}.tiny{font-size:11px;padding:5px 8px}.alert{padding:13px 16px;border-radius:10px;background:#dff5eb;color:#096644;margin-bottom:20px}.alert.error{background:#ffe9e9;color:#a32b3b}footer{padding:20px 40px;color:#a0aaba;font-size:11px}.auth{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top left,#dce9fb,#f5f7fb 50%)}.auth-card{max-width:430px;width:100%;background:white;border:1px solid #e1e8f3;box-shadow:0 24px 70px #1c3d6922;border-radius:20px;padding:36px}.auth .mark{margin-bottom:20px}.auth .muted{margin-bottom:24px}.stack{display:grid;gap:15px}.auth details{padding:13px 0;border-block:1px solid #e6ebf3;margin:15px 0}.auth summary{font-weight:650;cursor:pointer;margin-bottom:15px}.auth button{width:100%}@media(max-width:1120px){.kpis{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.content{padding:23px}.top{padding:25px}}@media(max-width:730px){.shell{display:block}.sidebar{width:100%;height:auto;position:static;padding:13px 15px}.brand{padding:0 0 10px}.sidebar nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:4px}.sidebar nav a{flex:none;padding:9px;font-size:12px}.nav-dot,.side-bottom{display:none}.top{padding:20px}.top h1{font-size:23px}.content{padding:16px}.kpis{gap:9px}.kpi{padding:15px}.kpi strong{font-size:19px}.kpi small,.kpi span{font-size:11px}.panel{padding:15px}.form-grid{grid-template-columns:1fr}.install-row{grid-template-columns:1fr 1fr}.install-row button{grid-column:1/-1}.period{justify-content:flex-start}footer{padding:20px}}
