:root{--iu-primary:#143d70;--iu-primary-dark:#0d2b51;--iu-accent:#d6a726;--iu-bg:#f3f6fa;--iu-text:#1d2939;--iu-muted:#667085}
*{box-sizing:border-box}body{margin:0;color:var(--iu-text);background:var(--iu-bg);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;padding:1.25rem;background:linear-gradient(180deg,var(--iu-primary-dark),var(--iu-primary));color:#fff;z-index:1030;overflow-y:auto;transition:transform .25s}.brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;line-height:1.2;margin-bottom:1.5rem}.brand img,.brand-mark{width:42px;height:42px;border-radius:10px;object-fit:contain;background:#fff;color:var(--iu-primary);display:grid;place-items:center;font-weight:800}.sidebar .nav-link{display:flex;align-items:center;gap:.8rem;color:rgba(255,255,255,.76);border-radius:.6rem;padding:.72rem .85rem;margin:.12rem 0}.sidebar .nav-link:hover,.sidebar .nav-link.active{color:#fff;background:rgba(255,255,255,.13)}.sidebar .nav-link.active{box-shadow:inset 3px 0 var(--iu-accent)}.main-panel{margin-left:260px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;gap:1rem;padding:0 1.75rem;background:#fff;border-bottom:1px solid #e4e7ec;position:sticky;top:0;z-index:1020}.sidebar-toggle{display:none}.content{padding:1.75rem;flex:1}.app-footer{padding:1rem 1.75rem;color:var(--iu-muted);font-size:.875rem}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.page-heading h1{font-size:1.65rem;margin:0;font-weight:750}.page-heading p{color:var(--iu-muted);margin:.3rem 0 0}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.card{border:1px solid #e4e7ec;border-radius:.8rem;box-shadow:0 2px 8px rgba(16,24,40,.035)}.metric-card .card-body{display:flex;align-items:center;gap:1rem}.metric-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:.75rem;background:#e8f0fa;color:var(--iu-primary);font-size:1.3rem}.metric-value{font-size:1.6rem;font-weight:750;line-height:1}.metric-label{font-size:.85rem;color:var(--iu-muted);margin-top:.35rem}.table{margin-bottom:0}.table th{font-size:.77rem;text-transform:uppercase;letter-spacing:.04em;color:var(--iu-muted);background:#f9fafb;white-space:nowrap}.table td{vertical-align:middle}.table-responsive{border-radius:.8rem}.btn-primary{background:var(--iu-primary);border-color:var(--iu-primary)}.btn-primary:hover{background:var(--iu-primary-dark);border-color:var(--iu-primary-dark)}.form-label{font-size:.88rem;font-weight:600}.required:after{content:" *";color:#dc3545}.empty-state{text-align:center;padding:4rem 1rem;color:var(--iu-muted)}.empty-state i{font-size:2.2rem}.auth-body{min-height:100vh;background:radial-gradient(circle at 20% 10%,#dbe8f7,transparent 35%),linear-gradient(135deg,#f8fafc,#edf2f7)}.auth-card{max-width:460px;margin:3rem auto;border:0;box-shadow:0 1.5rem 4rem rgba(13,43,81,.14)}.auth-alert{max-width:460px}.auth-brand{text-align:center;color:var(--iu-primary);font-weight:800}.document{max-width:900px;margin:2rem auto;background:#fff;padding:3rem;box-shadow:0 4px 20px rgba(0,0,0,.1)}.document-header{display:flex;align-items:center;gap:1rem;border-bottom:3px solid var(--iu-primary);padding-bottom:1rem;margin-bottom:2rem}.document-logo{width:72px;height:72px;object-fit:contain}.signature-line{border-top:1px solid #333;width:260px;margin-top:4rem;padding-top:.35rem}.installment-progress{height:10px}.text-money{font-variant-numeric:tabular-nums;font-weight:650}.filters{background:#fff;border:1px solid #e4e7ec;border-radius:.8rem;padding:1rem;margin-bottom:1rem}.form-section{border-left:3px solid var(--iu-accent);padding-left:.9rem;margin:1.4rem 0 1rem}.form-section h2{font-size:1rem;margin:0}.print-only{display:none}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-panel{margin-left:0}.sidebar-toggle{display:inline-flex}.content{padding:1rem}.topbar{padding:0 1rem}.page-heading{flex-direction:column}.page-actions{width:100%}}
@media print{body{background:#fff}.sidebar,.topbar,.app-footer,.page-heading,.no-print,.btn{display:none!important}.main-panel{margin:0}.content{padding:0}.document{box-shadow:none;margin:0;max-width:none;padding:1cm}.print-only{display:block}.card{box-shadow:none;border:0}.table{font-size:11pt}}
