*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f7fa;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.app-layout{display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1e3a5f,#2c5282);box-shadow:2px 0 10px #0000001a;color:#fff;height:100vh;overflow-y:auto;padding:20px 0;position:fixed;width:260px}.sidebar-header{border-bottom:1px solid #ffffff1a;margin-bottom:20px;padding:0 20px 20px}.sidebar-header h2{font-size:18px;font-weight:700}.sidebar-header p{font-size:12px;margin-top:4px;opacity:.7}.sidebar-menu{list-style:none}.sidebar-menu li a{border-left:3px solid #0000;color:#ffffffd9;display:block;padding:12px 20px;transition:all .2s}.sidebar-menu li a:hover{background:#ffffff0d;border-left-color:#4299e1;color:#fff}.sidebar-menu li a.active{background:#4299e126;border-left-color:#4299e1;color:#fff;font-weight:600}.main-content{flex:1 1;margin-left:260px;padding:20px 30px}.topbar{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 25px}.topbar h1{color:#1a365d;font-size:22px}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-weight:600;height:38px;justify-content:center;width:38px}.card{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:20px}.card-header{align-items:center;border-bottom:1px solid #eaeaea;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:12px}.card-header h2{color:#1a365d;font-size:18px}.kpi-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}.kpi-card{background:#fff;border-left:4px solid #4299e1;border-radius:10px;box-shadow:0 1px 3px #0000000d;padding:20px}.kpi-card.revenue{border-left-color:#48bb78}.kpi-card.receivable{border-left-color:#ed8936}.kpi-card.payable{border-left-color:#e53e3e}.kpi-card.cash{border-left-color:#38b2ac}.kpi-card.warning{border-left-color:#f6ad55}.kpi-card .label{color:#718096;font-size:13px;margin-bottom:8px}.kpi-card .value{color:#1a365d;font-size:22px;font-weight:700}.kpi-card .sub{color:#a0aec0;font-size:12px;margin-top:4px}.btn{align-items:center;border:none;border-radius:6px;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-primary{background:#4299e1;color:#fff}.btn-primary:hover{background:#3182ce}.btn-success{background:#48bb78;color:#fff}.btn-success:hover{background:#38a169}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover{background:#e53e3e}.btn-secondary{background:#edf2f7;color:#2d3748}.btn-secondary:hover{background:#e2e8f0}.btn-sm{font-size:12px;padding:4px 10px}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;font-size:14px;width:100%}table th{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#4a5568;font-weight:600;padding:10px 12px;text-align:left}table td{border-bottom:1px solid #edf2f7;padding:10px 12px}table tbody tr:hover{background:#f7fafc}.text-right{text-align:right}.text-center{text-align:center}.text-success{color:#48bb78;font-weight:600}.text-danger{color:#e53e3e;font-weight:600}.text-warning{color:#ed8936;font-weight:600}.badge{border-radius:12px;font-size:11px;font-weight:600;padding:3px 10px;text-transform:uppercase}.badge-success{background:#c6f6d5;color:#22543d}.badge-warning{background:#feebc8;color:#7c2d12}.badge-danger{background:#fed7d7;color:#742a2a}.badge-info{background:#bee3f8;color:#2c5282}.badge-secondary{background:#e2e8f0;color:#4a5568}.form-group{margin-bottom:15px}.form-group label{color:#4a5568;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-control{border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 12px;width:100%}.form-control:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e126;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0003;padding:40px;width:400px}.login-header{margin-bottom:25px;text-align:center}.login-header h1{color:#1a365d;font-size:24px}.login-header p{color:#718096;font-size:13px;margin-top:5px}.demo-accounts{background:#f0f9ff;border-radius:6px;color:#2c5282;font-size:12px;margin-top:15px;padding:12px}.demo-accounts strong{display:block;margin-bottom:4px}.alert{border-radius:6px;font-size:14px;margin-bottom:15px;padding:10px 15px}.alert-error{background:#fed7d7;color:#742a2a}.alert-success{background:#c6f6d5;color:#22543d}.loading{color:#718096;padding:40px;text-align:center}.je-lines-table input{border:1px solid #e2e8f0;border-radius:4px;font-size:13px;padding:6px 8px;width:100%}.je-totals{background:#f7fafc;border-radius:6px;display:flex;font-weight:600;gap:30px;justify-content:flex-end;margin-top:15px;padding:15px}.je-totals .balanced{color:#48bb78}.je-totals .unbalanced{color:#e53e3e}.report-section{margin-bottom:25px}.report-section h3{background:#edf2f7;border-radius:4px;color:#1a365d;font-size:15px;margin-bottom:12px;padding:8px 12px}.total-row{background:#f7fafc;border-top:2px solid #cbd5e0;font-weight:700}.grand-total-row{background:#2c5282;color:#fff;font-weight:700}.grand-total-row td{color:#fff}