
/* ============================================================
   DESIGN SYSTEM — CKA FISCAL MANAGER
   Palette: Navy #1B2D6B | Gold #C9A84C | Slate #2E3A59
   Type: Inter (body) | system-ui fallback
   ============================================================ */
:root {
  --navy: #1B2D6B;
  --navy-dark: #111E4A;
  --navy-light: #2E3A59;
  --gold: #C9A84C;
  --gold-light: #E8CC7A;
  --accent: #2563EB;
  --accent-light: #EFF6FF;
  --success: #059669;
  --success-bg: #ECFDF5;
  --danger: #DC2626;
  --danger-bg: #FEF2F2;
  --warning: #D97706;
  --warning-bg: #FFFBEB;
  --white: #FFFFFF;
  --bg: #F4F6FB;
  --bg2: #EAECF4;
  --border: #D1D8EF;
  --border-light: #E8EBF4;
  --text: #1A2340;
  --text2: #4A5578;
  --text3: #8892B0;
  --sidebar-w: 240px;
  --radius: 10px;
  --radius-sm: 6px;
  --shadow: 0 2px 12px rgba(27,45,107,0.10);
  --shadow-lg: 0 8px 32px rgba(27,45,107,0.14);
  --font: 'Inter', 'Segoe UI', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}
a{color:inherit;text-decoration:none;}

/* ============================================================ SCROLLBAR */
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}

/* ============================================================ LAYOUT */
#app{display:flex;height:100vh;overflow:hidden;}

/* ============================================================ SCREENS */
.screen{display:none;width:100%;height:100vh;}
.screen.ON{display:flex;}

/* ============================================================ LOGIN */
#screen-login{align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 50%,var(--navy-light) 100%);}
.login-card{background:var(--white);border-radius:16px;padding:48px 40px;width:380px;box-shadow:var(--shadow-lg);}
.login-logo{text-align:center;margin-bottom:32px;}
.login-logo .brand-icon{width:120px;height:120px;background:var(--white);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:0 4px 20px rgba(27,45,107,0.15);overflow:hidden;}
.login-logo h1{font-size:18px;font-weight:700;color:var(--navy);letter-spacing:.3px;}
.login-logo p{font-size:12px;color:var(--text3);margin-top:2px;}
.login-card h2{font-size:22px;font-weight:700;color:var(--text);margin-bottom:6px;}
.login-card .subtitle{font-size:13px;color:var(--text2);margin-bottom:28px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.form-group input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;transition:border-color .2s;background:var(--white);color:var(--text);}
.form-group input:focus{outline:none;border-color:var(--accent);}
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;transition:all .18s;white-space:nowrap;}
.btn-primary{background:var(--navy);color:var(--white);}
.btn-primary:hover{background:var(--navy-dark);}
.btn-accent{background:var(--accent);color:var(--white);}
.btn-accent:hover{background:#1d4ed8;}
.btn-gold{background:var(--gold);color:var(--navy-dark);}
.btn-gold:hover{background:var(--gold-light);}
.btn-success{background:var(--success);color:var(--white);}
.btn-success:hover{background:#047857;}
.btn-danger{background:var(--danger);color:var(--white);}
.btn-danger:hover{background:#b91c1c;}
.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border);}
.btn-ghost:hover{background:var(--bg);}
.btn-sm{padding:6px 12px;font-size:12px;}
.btn-lg{padding:12px 24px;font-size:15px;}
.btn-full{width:100%;justify-content:center;}
.btn-icon{padding:7px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text2);transition:all .15s;}
.btn-icon:hover{background:var(--bg2);}
.login-error{background:var(--danger-bg);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;display:none;}

/* ============================================================ MAIN APP */
#screen-main{flex-direction:row;}

/* ============================================================ SIDEBAR */
.sidebar{width:var(--sidebar-w);background:var(--navy-dark);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .25s;}
.sidebar-header{padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.sidebar-brand{display:flex;align-items:center;gap:10px;}
.sidebar-brand .brand-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),var(--gold));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--white);flex-shrink:0;}
.sidebar-brand span{font-size:13px;font-weight:700;color:var(--white);letter-spacing:.3px;line-height:1.2;}
.sidebar-brand small{display:block;font-size:10px;color:rgba(255,255,255,.4);font-weight:400;}
.sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px;}
.nav-section{margin-bottom:20px;}
.nav-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.3);padding:0 8px;margin-bottom:6px;}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;color:rgba(255,255,255,.6);font-size:13px;font-weight:500;margin-bottom:1px;}
.nav-item:hover{background:rgba(255,255,255,.08);color:var(--white);}
.nav-item.active{background:rgba(255,255,255,.12);color:var(--white);}
.nav-item .nav-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center;}
.nav-item .nav-badge{margin-left:auto;background:var(--gold);color:var(--navy-dark);font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;}
.sidebar-footer{padding:12px 8px;border-top:1px solid rgba(255,255,255,.08);}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);}
.sidebar-avatar{width:30px;height:30px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--navy-dark);flex-shrink:0;}
.sidebar-user-info{flex:1;min-width:0;}
.sidebar-user-name{font-size:12px;font-weight:600;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-user-role{font-size:10px;color:rgba(255,255,255,.4);}
.sidebar-logout{color:rgba(255,255,255,.4);font-size:16px;cursor:pointer;transition:color .15s;background:none;border:none;}
.sidebar-logout:hover{color:var(--danger);}

/* ============================================================ MAIN CONTENT */
.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.topbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;gap:16px;height:56px;flex-shrink:0;}
.topbar-title{font-size:16px;font-weight:700;color:var(--text);flex:1;}
.topbar-actions{display:flex;align-items:center;gap:8px;}
.page-content{flex:1;overflow-y:auto;padding:24px;}

/* ============================================================ CARDS */
.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow);}
.card-header{padding:16px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:12px;}
.card-header h3{font-size:14px;font-weight:700;color:var(--text);flex:1;}
.card-body{padding:20px;}

/* ============================================================ STATS GRID */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border-light);padding:18px 20px;box-shadow:var(--shadow);}
.stat-card.accent{background:linear-gradient(135deg,var(--navy),var(--navy-light));border:none;}
.stat-card.accent .stat-label,.stat-card.accent .stat-change{color:rgba(255,255,255,.6);}
.stat-card.accent .stat-value{color:var(--white);}
.stat-label{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.stat-value{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.5px;}
.stat-change{font-size:11px;color:var(--text3);margin-top:4px;}
.stat-icon{font-size:20px;margin-bottom:10px;}

/* ============================================================ CHARTS */
.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px;}
.chart-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border-light);padding:20px;box-shadow:var(--shadow);}
.chart-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:16px;}
canvas{max-width:100%;}

/* ============================================================ TABLES */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{background:var(--bg);padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--border);}
td{padding:10px 12px;border-bottom:1px solid var(--border-light);color:var(--text);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:var(--bg);}
td.money{font-weight:600;font-variant-numeric:tabular-nums;}
td.rar{color:var(--danger);font-weight:700;}
td.rar-zero{color:var(--success);}
.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.badge-success{background:var(--success-bg);color:var(--success);}
.badge-danger{background:var(--danger-bg);color:var(--danger);}
.badge-warning{background:var(--warning-bg);color:var(--warning);}
.badge-info{background:var(--accent-light);color:var(--accent);}

/* ============================================================ SEARCH BAR */
.search-bar{display:flex;align-items:center;gap:8px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;transition:border-color .2s;}
.search-bar:focus-within{border-color:var(--accent);background:var(--white);}
.search-bar .search-icon{color:var(--text3);font-size:15px;}
.search-bar input{border:none;background:transparent;padding:9px 4px;font-size:13px;color:var(--text);outline:none;width:220px;}

/* ============================================================ MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;}
.modal-overlay.ON{display:flex;}
.modal{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;}
.modal-sm{max-width:440px;}
.modal-md{max-width:640px;}
.modal-lg{max-width:860px;}
.modal-xl{max-width:1100px;}
.modal-header{padding:18px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:12px;flex-shrink:0;}
.modal-header h3{font-size:16px;font-weight:700;flex:1;}
.modal-close{background:none;border:none;font-size:20px;color:var(--text3);cursor:pointer;line-height:1;transition:color .15s;}
.modal-close:hover{color:var(--danger);}
.modal-body{padding:24px;overflow-y:auto;flex:1;}
.modal-footer{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;}

/* ============================================================ FORMS */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .span2{grid-column:1/-1;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px;}
.field input,.field select,.field textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text);background:var(--white);transition:border-color .2s;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
.field textarea{min-height:80px;}
.field-hint{font-size:11px;color:var(--text3);margin-top:4px;}

/* ============================================================ FISCAL TABLE */
.fiscal-table{width:100%;border-collapse:collapse;}
.fiscal-table th{background:var(--navy);color:var(--white);padding:10px 14px;font-size:12px;font-weight:600;text-align:right;}
.fiscal-table th:first-child{text-align:left;border-radius:var(--radius-sm) 0 0 0;}
.fiscal-table th:last-child{border-radius:0 var(--radius-sm) 0 0;}
.fiscal-table td{padding:8px 14px;border-bottom:1px solid var(--border-light);text-align:right;vertical-align:middle;}
.fiscal-table td:first-child{text-align:left;font-weight:600;color:var(--navy);}
.fiscal-table input[type=number]{width:140px;padding:6px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;text-align:right;font-variant-numeric:tabular-nums;transition:border-color .2s;}
.fiscal-table input[type=number]:focus{outline:none;border-color:var(--accent);}
.fiscal-table .rar-cell{font-weight:700;font-size:13px;}
.fiscal-table .rar-cell.neg{color:var(--danger);}
.fiscal-table .rar-cell.zero{color:var(--success);}
.fiscal-table .total-row td{background:var(--bg);font-weight:700;font-size:13px;border-top:2px solid var(--border);}
.fiscal-table .total-row td:first-child{color:var(--navy);}
.excedent-cell{font-size:11px;color:var(--success);font-style:italic;}

/* ============================================================ YEAR TABS */
.year-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:20px;}
.year-tab{padding:7px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;background:var(--bg);color:var(--text2);border:1.5px solid transparent;}
.year-tab:hover{background:var(--bg2);}
.year-tab.active{background:var(--navy);color:var(--white);}
.year-tab .tab-rar{font-size:10px;margin-left:4px;opacity:.7;}

/* ============================================================ TOAST */
.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;}
.toast{background:var(--white);border-radius:var(--radius-sm);padding:12px 18px;box-shadow:var(--shadow-lg);border-left:3px solid var(--success);font-size:13px;color:var(--text);display:flex;align-items:center;gap:10px;animation:slideIn .2s ease;min-width:260px;}
.toast.error{border-left-color:var(--danger);}
.toast.warning{border-left-color:var(--warning);}
.toast.info{border-left-color:var(--accent);}
@keyframes slideIn{from{transform:translateX(60px);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* ============================================================ EMPTY STATE */
.empty-state{text-align:center;padding:60px 20px;color:var(--text3);}
.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5;}
.empty-state h3{font-size:16px;font-weight:600;color:var(--text2);margin-bottom:6px;}
.empty-state p{font-size:13px;color:var(--text3);max-width:300px;margin:0 auto 20px;}

/* ============================================================ CONFIRM DIALOG */
.confirm-box{background:var(--white);border-radius:var(--radius);padding:28px;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;}
.confirm-box .confirm-icon{font-size:40px;margin-bottom:14px;}
.confirm-box h3{font-size:16px;font-weight:700;margin-bottom:8px;}
.confirm-box p{font-size:13px;color:var(--text2);margin-bottom:24px;}

/* ============================================================ SETTINGS PAGE */
.settings-section{margin-bottom:32px;}
.settings-section h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-light);}
.logo-upload{display:flex;align-items:center;gap:20px;}
.logo-preview{width:100px;height:100px;border-radius:var(--radius);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg);}
.logo-preview img{width:100%;height:100%;object-fit:contain;}
.logo-preview .placeholder{font-size:30px;color:var(--text3);}

/* ============================================================ HISTORY */
.history-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-light);}
.history-item:last-child{border-bottom:none;}
.history-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:4px;flex-shrink:0;}
.history-content{flex:1;}
.history-action{font-size:13px;font-weight:600;color:var(--text);}
.history-meta{font-size:11px;color:var(--text3);margin-top:2px;}

/* ============================================================ PRINT MODAL */
.print-year-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;}
.print-year-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);cursor:pointer;transition:all .15s;}
.print-year-item.checked{border-color:var(--accent);background:var(--accent-light);}
.print-year-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);}
.print-year-item label{font-size:13px;font-weight:600;cursor:pointer;flex:1;}
.print-year-item .year-summary{font-size:11px;color:var(--text3);}

/* ============================================================ CLIENT LIST */
.client-grid{display:grid;gap:12px;}
.client-row{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--white);border-radius:var(--radius);border:1.5px solid var(--border-light);cursor:pointer;transition:all .15s;box-shadow:var(--shadow);}
.client-row:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(37,99,235,.1);}
.client-avatar{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--accent));display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--white);flex-shrink:0;overflow:hidden;}
.client-avatar img{width:100%;height:100%;object-fit:cover;}
.client-info{flex:1;min-width:0;}
.client-name{font-size:14px;font-weight:700;color:var(--text);}
.client-meta{font-size:12px;color:var(--text3);margin-top:2px;}
.client-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;}
.client-row:hover .client-actions{opacity:1;}
.client-nif{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:20px;white-space:nowrap;}

/* ============================================================ PAGINATION */
.pagination{display:flex;align-items:center;gap:4px;margin-top:16px;}
.page-btn{min-width:32px;height:32px;padding:0 8px;border-radius:var(--radius-sm);background:var(--white);border:1.5px solid var(--border);font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;}
.page-btn:hover{border-color:var(--accent);color:var(--accent);}
.page-btn.active{background:var(--navy);border-color:var(--navy);color:var(--white);}
.page-btn:disabled{opacity:.4;cursor:default;}

/* ============================================================ DASHBOARD RECENT */
.recent-list{display:flex;flex-direction:column;gap:10px;}
.recent-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light);}
.recent-item:last-child{border-bottom:none;}

/* ============================================================ RESPONSIVE */
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr);}.charts-grid{grid-template-columns:1fr;}}
@media(max-width:768px){.sidebar{width:64px;}.sidebar-brand span,.sidebar-brand small,.nav-item span,.sidebar-user-info,.sidebar-user-name,.sidebar-user-role,.nav-section-label{display:none;}.nav-item{justify-content:center;}.sidebar-user{justify-content:center;}.stats-grid{grid-template-columns:1fr 1fr;}.form-grid{grid-template-columns:1fr;}}

/* ============================================================ PROGRESS */
.progress-bar{height:6px;background:var(--bg2);border-radius:3px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--navy),var(--accent));border-radius:3px;transition:width .4s;}

/* ============================================================ DIVIDER */
.divider{height:1px;background:var(--border-light);margin:20px 0;}


/* ============================================================ PAYMENT PANEL */
.payment-panel{background:var(--bg);border-radius:var(--radius-sm);border:1.5px solid var(--border);margin-top:6px;overflow:hidden;}
.payment-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-light);border-bottom:1px solid var(--border);}
.payment-panel-header span{font-size:12px;font-weight:700;color:var(--accent);flex:1;}
.payment-list{max-height:180px;overflow-y:auto;}
.payment-item{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border-light);font-size:12px;}
.payment-item:last-child{border-bottom:none;}
.payment-date{color:var(--text3);min-width:90px;}
.payment-ref{color:var(--text2);flex:1;font-style:italic;font-size:11px;}
.payment-amount{font-weight:700;color:var(--success);min-width:100px;text-align:right;}
.payment-del{color:var(--danger);cursor:pointer;background:none;border:none;font-size:14px;padding:0 4px;opacity:.6;}
.payment-del:hover{opacity:1;}
.payment-add-row{display:flex;gap:6px;padding:8px 12px;background:var(--white);border-top:1px solid var(--border);}
.payment-add-row input{padding:5px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--white);}
.payment-add-row input:focus{outline:none;border-color:var(--accent);}
.payment-add-row input[type=date]{width:130px;}
.payment-add-row input[type=text]{flex:1;min-width:80px;}
.payment-add-row input[type=number]{width:120px;text-align:right;}
.payment-total-badge{font-size:11px;font-weight:700;color:var(--success);background:var(--success-bg);padding:2px 8px;border-radius:20px;}
.impot-row-main td{vertical-align:top;padding-top:10px!important;}

/* ============================================================ PRINT STYLES */
@media print{
  #screen-login,#screen-main,.modal-overlay{display:none!important;}
  #print-area{display:block!important;}
}
#print-area{display:none;}

/* ── Multi-page layout ── */
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',sans-serif;background:var(--bg);}
.page-wrapper{display:flex;min-height:100vh;}
.sidebar{width:240px;min-width:240px;background:var(--navy);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto;transition:transform .3s;}
.sidebar.hidden{transform:translateX(-240px);}
.main-content{margin-left:240px;flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .3s;}
.main-content.expanded{margin-left:0;}
.topbar{background:var(--white);border-bottom:1px solid var(--border-light);padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:0 1px 3px rgba(0,0,0,.05);}
.page-body{padding:24px;flex:1;}
/* Login */
.login-page{min-height:100vh;background:linear-gradient(135deg,#1B2D6B 0%,#2563EB 100%);display:flex;align-items:center;justify-content:center;padding:20px;}
.login-box{background:var(--white);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.login-error{background:#FEF2F2;border:1px solid #FECACA;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;display:none;}
/* Payment panel */
.payment-panel{background:var(--bg);border-radius:var(--radius-sm);border:1.5px solid var(--border);margin-top:6px;overflow:hidden;}
.payment-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-light);border-bottom:1px solid var(--border);}
.payment-panel-header span{font-size:12px;font-weight:700;color:var(--accent);flex:1;}
.payment-list{max-height:200px;overflow-y:auto;}
.payment-item{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border-light);font-size:12px;}
.payment-item:last-child{border-bottom:none;}
.payment-date{color:var(--text3);min-width:90px;}
.payment-ref{color:var(--text2);flex:1;font-style:italic;font-size:11px;}
.payment-amount{font-weight:700;color:var(--success);min-width:100px;text-align:right;}
.payment-del{color:var(--danger);cursor:pointer;background:none;border:none;font-size:14px;padding:0 4px;opacity:.6;}
.payment-del:hover{opacity:1;}
.payment-add-row{display:flex;gap:6px;padding:8px 12px;background:var(--white);border-top:1px solid var(--border);flex-wrap:wrap;}
.payment-add-row input{padding:5px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--white);}
.payment-add-row input:focus{outline:none;border-color:var(--accent);}
.payment-add-row input[type=date]{width:130px;}
.payment-add-row input[type=text]{flex:1;min-width:80px;}
.payment-add-row input[type=number]{width:120px;text-align:right;}
.payment-total-badge{font-size:11px;font-weight:700;color:var(--success);background:var(--success-bg);padding:2px 8px;border-radius:20px;}
@keyframes slideIn{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:none}}
@media(max-width:768px){.sidebar{transform:translateX(-240px);}.main-content{margin-left:0;}}
