:root{--navy:#102b4c;--deep:#091d35;--blue:#4fb6e8;--ink:#18324c;--muted:#64788e;--line:#dce5ef;--bg:#f2f6fa;--white:#fff;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Arial,Helvetica,sans-serif}a{color:#126f9c;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-1px;line-height:1.2;margin-bottom:6px}h2{font-size:19px;letter-spacing:-.35px}h3{font-size:15px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#52748e;margin-bottom:9px}.brand{font-size:27px;font-weight:800;color:white;letter-spacing:1px;display:block;line-height:1.2}.brand span{display:block;font-size:9px;letter-spacing:2px;color:#89cce9;margin-top:7px}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--deep);padding:30px 20px;display:flex;flex-direction:column;overflow:auto}.sidebar-label{font-size:9px;color:#849ab4;letter-spacing:1.8px;margin:30px 12px 10px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#b8c7d9;border-radius:7px;padding:11px 13px;margin-bottom:3px;font-weight:500}.sidebar nav a span{font-size:20px;width:21px;color:#8fb4cf;line-height:1}.sidebar nav a.active{color:white;background:#173a5d;border-left:3px solid var(--blue);padding-left:10px}.sidebar nav a:hover{background:#173a5d;text-decoration:none}.sidebar-bottom{border-top:1px solid #24405d;margin-top:auto;padding-top:20px}.sidebar-bottom a,.nav-logout{display:block;background:none;border:0;padding:6px 10px;color:#bbcbdf;text-align:left;font-size:12px}.workspace{margin-left:232px}.topbar{height:86px;border-bottom:1px solid var(--line);background:white;padding:20px 38px;display:flex;align-items:center;justify-content:space-between}.topbar .eyebrow{display:block;font-size:8px;margin-bottom:2px}.topbar strong{font-size:13px}.identity{display:flex;gap:10px;align-items:center;font-size:12px}.identity small{display:block;color:var(--muted);font-size:10px}.avatar{width:36px;height:36px;background:#e0f1fc;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--navy)}main#content{padding:32px 38px;max-width:1600px;margin:auto;min-height:calc(100vh - 140px)}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.actions form{margin:0}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;background:var(--navy);color:white;padding:10px 16px;border-radius:6px;font-size:12px;font-weight:700;line-height:1.4;gap:5px;cursor:pointer}.button:hover{background:#1d4b70;color:white;text-decoration:none}.button.secondary{background:white;color:var(--navy);border-color:#cbd9e7}.button.secondary:hover{background:#eaf4fc}.button.danger{background:#fff0f0;color:#ad3434;border-color:#f0caca}.button.small{padding:6px 10px;font-size:11px}.button.full{width:100%}.welcome{background:linear-gradient(120deg,#112e50,#1a4d70);border-radius:var(--radius);color:white;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;overflow:hidden}.welcome .eyebrow{color:#92c9e4}.welcome h2{font-size:28px;margin-bottom:8px}.welcome p:last-child{margin:0;color:#c2d3e4}.welcome-mark{font-size:90px;color:#64b7dc;line-height:1}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.metrics article{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;border-top:3px solid #4fb6e8}.metrics article span{font-size:12px;color:var(--muted);display:block}.metrics strong{display:block;font-size:clamp(19px,2vw,27px);letter-spacing:-.7px;margin:9px 0}.metrics small{font-size:10px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);padding:25px;border-radius:var(--radius);margin-bottom:22px;box-shadow:0 3px 10px #102b4c03}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.panel-head h2{margin:0}.panel-head>a:not(.button){font-size:12px;font-weight:bold}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{color:#76879b;font-size:9px;letter-spacing:.8px;text-transform:uppercase;background:#f7f9fc;font-weight:700;white-space:nowrap}th,td{padding:13px 12px;border-bottom:1px solid #e8eef4;vertical-align:middle}td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}td a{font-weight:700}.numeric{text-align:right;white-space:nowrap}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#eef2f6;color:#607084;font-size:10px;font-weight:bold;white-space:nowrap}.badge.active,.badge.paid,.badge.completed,.badge.received,.badge.accepted{background:#e4f6ee;color:#1d7a53}.badge.issued,.badge.scheduled,.badge.converted{background:#e5f2fd;color:#256a9a}.badge.in_progress,.badge.partial{background:#fff3d9;color:#926b16}.badge.overdue,.badge.reversed,.badge.void,.badge.cancelled,.badge.rejected{background:#ffebeb;color:#a84949}.badge.credited{background:#f0eafd;color:#6b4f99}.muted{color:var(--muted);font-size:12px}.notice{padding:14px 17px;background:#e7f4fd;border:1px solid #bcdced;border-radius:8px;margin:0 0 20px;color:#1c5272;overflow-wrap:anywhere}.notice.error{background:#fff0f0;border-color:#f1caca;color:#913535}.notice.success{background:#e9f7ee;border-color:#bfdfcd;color:#256947}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;margin-bottom:22px}label{display:block;font-weight:700;font-size:11px;color:#476078;margin-bottom:16px}label input,label select,label textarea{margin-top:7px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #cedce8;border-radius:6px;background:white;color:var(--ink);font-size:13px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #7bc9ee;outline-offset:1px;border-color:#4fb6e8}textarea{resize:vertical;min-height:70px}.form-grid label{margin:0}.wide{grid-column:1/-1}.searchbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:18px}.searchbar>input:not([type=hidden]){width:320px;max-width:100%}.searchbar label{margin:0}.searchbar label input,.searchbar label select{padding:8px 12px}.list-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-bottom:15px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:16px 0 24px}.detail-grid>div>span{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.detail-grid p{color:#61768c;font-size:12px;overflow-wrap:anywhere}.detail-grid strong{display:block;font-size:18px;overflow-wrap:anywhere}.empty{text-align:center;color:var(--muted);padding:30px}.line-editor{min-width:800px}.line-editor input{padding:9px;min-width:75px}.line-editor td:first-child{min-width:250px}.line-editor th,.line-editor td{padding:9px 5px}.line-summary{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.line-summary strong{font-size:20px;margin-left:15px}.line-summary span{font-size:12px;color:var(--muted)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ageing{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:25px 0}.ageing>div{background:#f2f7fc;padding:17px 12px;border-radius:7px}.ageing span{display:block;color:var(--muted);font-size:10px}.ageing strong{font-size:15px}.narrow{max-width:650px}.mb{margin-bottom:22px}summary{font-size:13px;font-weight:bold;cursor:pointer}details form{margin-top:14px}.desk-footer{font-size:10px;padding:14px 38px;color:#8394a6;display:flex;justify-content:space-between}.auth-body{min-height:100vh;background:radial-gradient(circle at top right,#245778,#091e37 65%);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card,.install-card{width:440px;max-width:100%;padding:38px;background:white;border-radius:15px;box-shadow:0 25px 80px #0003}.auth-card .brand,.install-card .brand{color:var(--navy);margin-bottom:35px}.auth-card .brand span,.install-card .brand span{color:#47799a}.auth-card h1,.install-card h1{font-size:27px;margin-bottom:14px}.auth-card form{margin-top:25px}.auth-card form>label{margin-bottom:20px}.install-card{width:780px}.requirement-grid{display:flex;flex-wrap:wrap;gap:8px}.requirement-grid .notice{font-size:10px;padding:8px}.install-card h2{margin-top:25px}.password-field{position:relative}.password-field input{padding-right:65px}.password-field button{position:absolute;right:7px;top:6px;background:#edf4f9;border:0;color:#476078;border-radius:4px;font-size:10px;padding:7px}.skip-link{position:absolute;top:-80px;left:10px;background:white;z-index:20;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid #4fb6e8;outline-offset:3px}p,td{overflow-wrap:anywhere}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start;flex-direction:column}.split{grid-template-columns:1fr}.ageing{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:20px;max-height:none}.sidebar .brand{font-size:24px}.sidebar nav{display:flex;flex-wrap:wrap;gap:3px;margin-top:18px}.sidebar nav a{padding:7px 9px;font-size:11px;margin:0}.sidebar nav a.active{padding-left:6px}.sidebar nav a span,.sidebar-label{display:none}.sidebar-bottom{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;padding-top:12px}.sidebar-bottom a,.nav-logout{font-size:10px}.workspace{margin:0}.topbar{padding:14px 20px;height:75px}main#content{padding:24px 16px}.identity{font-size:10px}.identity .avatar{display:none}.page-heading h1{font-size:25px}.metrics{gap:10px}.metrics article{padding:16px 13px}.metrics strong{font-size:20px}.panel{padding:18px 15px}.form-grid,.detail-grid{grid-template-columns:1fr}.welcome{padding:24px}.welcome h2{font-size:24px}.welcome-mark{font-size:60px}.ageing{grid-template-columns:repeat(2,1fr)}.line-summary{align-items:flex-start;gap:15px;flex-direction:column}.panel-head{align-items:flex-start}.auth-card,.install-card{padding:28px 24px}.desk-footer{padding:14px 20px}.list-meta{align-items:flex-start;flex-direction:column}.button{font-size:11px}.searchbar{gap:10px}.searchbar>label{width:calc(50% - 5px)}}
