*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f6f8;color:#222}a{color:#1f5fff;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#1c2230;color:#d6dae3;padding:16px 0;flex-shrink:0}.sidebar .brand{padding:0 18px 16px;font-weight:700;font-size:18px;color:#fff;border-bottom:1px solid #2d3548;margin-bottom:12px}.sidebar .section{padding:10px 18px 4px;font-size:11px;text-transform:uppercase;color:#8a93a8;letter-spacing:.4px}.sidebar a{display:block;padding:8px 18px;color:#d6dae3}.sidebar a:hover{background:#2a3142;text-decoration:none}.sidebar a.active{background:#1f5fff;color:#fff}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e4e6ec;padding:12px 22px;display:flex;align-items:center;gap:16px}.topbar h1{margin:0;font-size:16px}.topbar .spacer{flex:1}.topbar select,.topbar button{padding:6px 10px;border:1px solid #d2d6df;border-radius:4px;background:#fff}.content{padding:20px 24px;overflow:auto;flex:1}.card{background:#fff;border:1px solid #e4e6ec;border-radius:6px;padding:18px;margin-bottom:16px}.card h2{margin:0 0 14px;font-size:16px}.btn{padding:7px 14px;border:1px solid #1f5fff;background:#1f5fff;color:#fff;border-radius:4px}.btn:hover{background:#1748c9}.btn.secondary{background:#fff;color:#1f5fff}.btn.danger{background:#d93434;border-color:#d93434}.btn.danger:hover{background:#b22323}.btn.small{padding:4px 9px;font-size:12px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid #ececec}th{background:#f8f9fb;font-weight:600;font-size:12px;text-transform:uppercase;color:#555}tr.row-link:hover{background:#f5f8ff;cursor:pointer}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}input,select,textarea{padding:6px 9px;border:1px solid #ccd0da;border-radius:4px;font-family:inherit;font-size:14px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #c8d8ff;border-color:#1f5fff}label{display:block;font-size:12px;color:#555;margin-bottom:3px}.field{margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.row{display:flex;gap:10px;align-items:center}.muted{color:#888;font-size:12px}.error{color:#c0392b;font-size:13px;margin:6px 0}.ok{color:#1d8a3f;font-size:13px;margin:6px 0}.pill{padding:2px 8px;border-radius:10px;background:#eef;font-size:11px;color:#1f5fff}.pill.admin{background:#ffe7c2;color:#a36100}.login-wrap{display:flex;min-height:100vh;align-items:center;justify-content:center;background:linear-gradient(135deg,#1c2230,#1f5fff)}.login-card{background:#fff;padding:30px 32px;border-radius:10px;width:360px;box-shadow:0 20px 60px #00000040}.login-card h1{margin:0 0 20px;font-size:22px}.voucher-table,.voucher-table input,.voucher-table select{width:100%}.voucher-table input.num{text-align:right;font-variant-numeric:tabular-nums}.voucher-table input:disabled{background:#f2f3f5;color:#aaa;cursor:not-allowed}.voucher-table td{padding:4px}.totals{font-weight:600}.unbalanced{color:#c0392b}.balanced{color:#1d8a3f}.report-header{display:flex;gap:12px;align-items:end;margin-bottom:16px;flex-wrap:wrap}.report-header .field{margin-bottom:0}.bs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.bs-grid h3{margin-top:0;font-size:14px;text-transform:uppercase;color:#555;border-bottom:2px solid #eee;padding-bottom:6px}.group-row td,.group-row-cell{font-weight:600}.primary-row td,.primary-row-cell{font-weight:700}.diff-row td{font-style:italic;background:#fff4e6;color:#a36100;border-top:1px dashed #c89a55}.subtotal-row td.num{border-top:1px solid #444;border-bottom:1px solid #444;font-weight:600}
