:root{--canvas:#EEF1F4;--surface:#FFFFFF;--surface-2:#F7F9FB;--ink:#16202C;--muted:#5B6A7D;--faint:#8A97A6;--line:#DCE2E9;--primary:#0E4D64;--primary-600:#0B3E51;--primary-050:#E3EEF2;--accent:#9A6B12;--ok:#1F7A4D;--ok-bg:#E7F3EC;--warn:#B7791F;--warn-bg:#FBF1DF;--danger:#B42318;--danger-bg:#FBEAE8;--info:#175CD3;--info-bg:#E7EFFC;--r:6px;--r-sm:4px;--shadow:0 1px 2px rgba(22,32,44,.06), 0 1px 3px rgba(22,32,44,.05)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--canvas);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-ligatures:none}a{color:inherit}button{font-family:inherit}.app{display:grid;grid-template-columns:264px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"brand top" "nav main";min-height:100vh}.brand{grid-area:brand;background:var(--primary-600);color:#fff;display:flex;align-items:center;gap:10px;padding:0 18px;border-right:1px solid rgba(255,255,255,.08)}.brand .seal{width:26px;height:26px;border:1.5px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:12px;letter-spacing:.5px}.brand b{font-weight:600;letter-spacing:.5px;font-size:15px}.brand span{font-size:10.5px;color:#fff9;display:block;letter-spacing:.14em;text-transform:uppercase;margin-top:-2px}.topbar{grid-area:top;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.crumb{color:var(--muted);font-size:12.5px;letter-spacing:.02em}.crumb b{color:var(--ink);font-weight:600}.topright{display:flex;align-items:center;gap:14px}.perfil{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.perfil select{font-family:inherit;font-size:12.5px;color:var(--ink);border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-sm);padding:5px 8px}.userchip{display:flex;align-items:center;gap:8px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--primary-050);color:var(--primary-600);display:grid;place-items:center;font-weight:600;font-size:12px}.nav{grid-area:nav;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:14px 12px 40px}.nav .eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:12px 10px 6px}.modrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:13px}.modrow:hover{background:var(--surface-2)}.modrow .num{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--faint);width:20px;flex:none}.modrow.parent{font-weight:600}.modrow.active{background:var(--primary-050);color:var(--primary-600)}.modrow.active .num{color:var(--primary)}.subnav{margin:0 0 6px;padding:0}.subrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;color:var(--muted);padding:6px 10px 6px 40px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px}.subrow:hover{background:var(--surface-2);color:var(--ink)}.subrow.active{color:var(--primary-600);font-weight:600;background:var(--primary-050)}.main{grid-area:main;overflow-y:auto;padding:26px 30px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:20px}.page-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.page-head .desc{color:var(--muted);font-size:13px;margin-top:4px;max-width:640px}.tag{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-600);background:var(--primary-050);padding:3px 8px;border-radius:3px;margin-bottom:10px;font-weight:600}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 14px;box-shadow:var(--shadow)}.card .k{font-size:11.5px;color:var(--muted);letter-spacing:.02em}.card .v{font-size:26px;font-weight:600;margin-top:6px;letter-spacing:-.02em}.card .v small{font-size:12px;color:var(--faint);font-weight:400;margin-left:2px}.card .foot{font-size:11px;color:var(--faint);margin-top:8px;display:flex;gap:6px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.panel .ph{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.panel .ph h2{margin:0;font-size:14px;font-weight:600}.panel .ph .sub{font-size:11.5px;color:var(--muted)}table{width:100%;border-collapse:collapse}th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:left;padding:10px 18px;border-bottom:1px solid var(--line);font-weight:600}td{padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}tr.rowlink{cursor:pointer}.codigo{font-family:IBM Plex Mono,monospace;font-size:12.5px;font-weight:500;color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:1px;white-space:nowrap}.num-money{font-family:IBM Plex Mono,monospace;font-weight:500;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;letter-spacing:.01em}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.mut{background:var(--surface-2);color:var(--muted)}.pill .dot{width:6px;height:6px}.pill.ok .dot{background:var(--ok)}.pill.warn .dot{background:var(--warn)}.pill.info .dot{background:var(--info)}.pill.mut .dot{background:var(--faint)}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-sm);padding:9px 15px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-600)}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--surface-2)}.btn.small{padding:6px 11px;font-size:12px}form{max-width:none}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0}.fsec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.fsec>.sh{padding:13px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.fsec>.sh .n{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--accent)}.fsec>.sh h3{margin:0;font-size:13px;font-weight:600}.fsec>.sh .hint{font-size:11.5px;color:var(--muted);margin-left:auto}.fbody{padding:16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1 / -1}.field label{font-size:11.5px;color:var(--muted);font-weight:500}.field label .req{color:var(--danger);margin-left:2px}.field input,.field select,.field textarea{font-family:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 10px;width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--primary-050);border-color:var(--primary)}.field input.mono{font-family:IBM Plex Mono,monospace}.field textarea{resize:vertical;min-height:70px}.field .err{font-size:11px;color:var(--danger);display:none}.field.invalid input,.field.invalid select{border-color:var(--danger)}.field.invalid .err{display:block}.readonly{background:var(--surface-2)!important;color:var(--muted)}.inline-note{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}.rule{display:flex;align-items:center;gap:8px;font-size:12px;padding:8px 12px;border-radius:var(--r-sm);margin-top:2px}.rule.ok{background:var(--ok-bg);color:var(--ok)}.rule.bad{background:var(--danger-bg);color:var(--danger)}.rule.warn{background:var(--warn-bg);color:var(--warn);display:block;align-items:normal}.miniadd{display:grid;grid-template-columns:2fr .8fr 1fr auto;gap:10px;align-items:end}.itemtable td,.itemtable th{padding:8px 12px}.itemtable{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-top:12px}.x{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:15px;line-height:1}.x:hover{color:var(--danger)}.formbar{position:sticky;bottom:0;background:var(--canvas);padding:14px 0 2px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:4px}.formbar .gv{font-size:12px;color:var(--muted)}.formbar .gv b{font-family:IBM Plex Mono,monospace;color:var(--ink);font-size:15px;margin-left:6px}.formbar .actions{display:flex;gap:10px}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:48px 30px;text-align:center;color:var(--muted)}.empty .badge{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--accent);letter-spacing:.1em}.empty h3{margin:12px 0 6px;color:var(--ink);font-weight:600;font-size:16px}.empty p{margin:0 auto;max-width:440px;font-size:13px}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--r);font-size:13px;box-shadow:0 8px 24px #0003;display:flex;align-items:center;gap:10px;transform:translateY(20px);opacity:0;transition:transform .2s,opacity .2s;z-index:50;max-width:360px}.toast.show{transform:translateY(0);opacity:1}.toast .tk{width:8px;height:8px;border-radius:50%;background:#4ade80;flex:none}@media (max-width:920px){.app{grid-template-columns:1fr;grid-template-areas:"top" "main"}.brand,.nav{display:none}.cards{grid-template-columns:repeat(2,1fr)}.fbody,.formgrid,.miniadd{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.searchbar{display:flex;gap:10px;margin-bottom:16px}.searchbar input{flex:1;font-family:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:10px 12px}.searchbar input:focus{outline:2px solid var(--primary-050);border-color:var(--primary)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:0}.tab{border:0;background:transparent;padding:11px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--primary-600);border-bottom-color:var(--primary)}.flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0}.step{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:4px 10px}.step .i{width:16px;height:16px;border-radius:50%;background:var(--line);color:#fff;display:grid;place-items:center;font-size:10px;font-family:IBM Plex Mono,monospace}.step.done{color:var(--ok);background:var(--ok-bg);border-color:transparent}.step.done .i{background:var(--ok)}.step.curr{color:var(--primary-600);background:var(--primary-050);border-color:transparent}.step.curr .i{background:var(--primary)}.arrow{color:var(--faint);font-size:11px}.checkrow{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin-bottom:8px;cursor:pointer}.checkrow:hover{background:var(--surface-2)}.checkrow input{margin-top:3px}.checkrow .t{font-size:13px;font-weight:500}.checkrow .s{font-size:11.5px;color:var(--muted);margin-top:2px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chip{font-size:10.5px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);padding:2px 8px;border-radius:20px}.chk{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink);cursor:pointer;padding:6px 8px;border-radius:var(--r-sm)}.chk:hover{background:var(--surface-2)}.kv{display:grid;grid-template-columns:180px 1fr;gap:0}.kv>div{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.kv .k{color:var(--muted);font-size:12px}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--muted);margin:6px 0 14px}.legend span{display:flex;align-items:center;gap:6px}.sw{width:11px;height:11px;border-radius:3px;display:inline-block}.cash{width:100%;border-collapse:collapse}.cash th,.cash td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:12.5px;text-align:right}.cash th:first-child,.cash td:first-child{text-align:left}.cash th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.cash .mono{font-family:IBM Plex Mono,monospace}.bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%}.divi{height:1px;background:var(--line);margin:16px 0}html,body,#root{height:100%}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--canvas)}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);width:360px;padding:28px 26px}.login-card .seal{width:34px;height:34px;border-radius:50%;background:var(--primary-600);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;letter-spacing:.5px;margin-bottom:14px}.login-card h1{font-size:18px;margin:0 0 2px}.login-card p{color:var(--muted);font-size:12.5px;margin:0 0 18px}.login-card .field{margin-bottom:12px}.login-card .btn{width:100%;justify-content:center;margin-top:6px}.err-box{background:var(--danger-bg);color:var(--danger);font-size:12.5px;padding:9px 12px;border-radius:var(--r-sm);margin-bottom:12px}.spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.loadrow{padding:26px;text-align:center;color:var(--muted);font-size:13px}.linkbtn{border:0;background:transparent;color:var(--primary-600);cursor:pointer;font-weight:600;font-family:inherit;font-size:13px;text-decoration:underline}.chipbtn{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:4px 10px;font-size:12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.chipbtn:hover{background:var(--surface-2)}.disablednav{opacity:.5;cursor:not-allowed}.select-add{display:flex;gap:6px;align-items:flex-start}.select-add select{flex:1}.addbtn{flex:none;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--primary-600);font-size:18px;font-weight:600;text-decoration:none;line-height:1;cursor:pointer}.addbtn:hover{background:var(--primary-050);border-color:var(--primary)}.aux-ok{background:var(--ok-bg);color:var(--ok);border-radius:var(--r-sm);padding:12px 14px;font-size:13px;margin-bottom:14px;display:flex;gap:8px;align-items:center}.combo{position:relative;flex:1;min-width:0}.combo-input{font-family:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 10px;width:100%}.combo-input:focus{outline:2px solid var(--primary-050);border-color:var(--primary)}.combo-input:disabled{background:var(--surface-2);color:var(--muted)}.combo-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 8px 24px #16202c1f;max-height:220px;overflow-y:auto;padding:4px}.combo-option{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:var(--r-sm);font-size:13px;cursor:pointer}.combo-option.active{background:var(--primary-050);color:var(--primary-600)}.combo-option.selected{font-weight:600}.combo-option input[type=checkbox]{pointer-events:none}.combo-empty{padding:10px 9px;font-size:12.5px;color:var(--muted)}.combo-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.combo-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;background:var(--primary-050);color:var(--primary-600);border-radius:20px;padding:3px 6px 3px 10px}.combo-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:2px}.combo-chip button:hover{color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16202c73;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto}.modal-panel{background:var(--canvas);border-radius:var(--r);box-shadow:0 20px 60px #0000004d;width:100%;max-width:640px;margin:auto 0}.modal-head{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line);padding:14px 18px;border-radius:var(--r) var(--r) 0 0}.modal-head h2{margin:0;font-size:15px;font-weight:600}.modal-close{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:var(--r-sm)}.modal-close:hover{background:var(--surface-2);color:var(--ink)}.modal-body{padding:18px}.modal-body .page-head{display:none}.modal-body .formbar{position:static;background:transparent;border-top:1px solid var(--line)}
