*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#19283e;font:14px 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,select,.restore{cursor:pointer}button{border:1px solid #dbe2eb;background:white;padding:10px 14px;border-radius:7px;color:#405169}button:hover{background:#edf3fa}aside{position:fixed;width:240px;height:100vh;background:#11233b;color:#c0cedf;padding:30px 20px;display:flex;flex-direction:column}.brand{font-size:39px;font-weight:800;letter-spacing:-3px;color:white}.brand span{font-size:15px;letter-spacing:1px;margin-left:14px;font-weight:400;color:#a8bdd7}.workspace{font-size:10px;letter-spacing:1.8px;margin:40px 12px 18px;color:#7e97b4}nav{display:grid;gap:8px}nav button{text-align:left;border:0;color:#b5c6dc;background:transparent;padding:13px}nav button.active{background:#28415e;color:#fff}.sidefoot{margin-top:auto;font-size:12px;padding:16px 10px;border-top:1px solid #31445e}.sidefoot p{color:#8da4bf;line-height:1.7}.sidefoot button{background:#213851;color:white;border:0}.restore{display:block;margin-top:14px;color:#a8c7ec}main{margin-left:240px}header{height:76px;background:white;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px}.avatar{background:#edf2f8;border:1px solid #e0e7ef;border-radius:50%;padding:10px;font-weight:600}.muted{color:#8a98ab;margin-left:12px}section{padding:36px 38px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#578377;font-weight:700}h1{font-size:30px;letter-spacing:-.8px;margin:9px 0}p{color:#7b889a}.primary{background:#187d68;color:white;border-color:#187d68}.primary:hover{background:#126453}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:24px}.toolbar select{padding:10px;border:1px solid #dbe2eb;border-radius:7px;background:white;color:#405169}.toolbar #export{margin-left:auto}.tabs{background:#e7edf4;padding:4px;border-radius:8px;display:flex}.tabs button{border:0;background:transparent;padding:7px 16px}.tabs .active{background:white;color:#187d68;box-shadow:0 1px 4px #0001}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.card{border:1px solid #e1e7ed;border-radius:10px;background:white;padding:22px}.card .label{color:#728097;font-size:12px}.card .value{font-size:26px;font-weight:650;margin:13px 0;letter-spacing:-.5px}.card small{color:#8391a2;font-size:11px}.panel{background:white;border:1px solid #e1e7ed;border-radius:10px;margin-bottom:22px;overflow:hidden}.panelhead{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ecf2}.panelhead h3{font-size:15px;margin:0}.panelhead small{color:#8290a2}.search{padding:9px 12px;width:220px;border:1px solid #dbe2eb;border-radius:6px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#77869a;background:#f9fbfd;padding:14px 20px;border-bottom:1px solid #e7ecf2}td{padding:18px 20px;border-bottom:1px solid #eef1f5;font-size:12px}tbody tr:hover{background:#fafcff}td b{font-size:13px}td small{display:block;color:#8b98aa;margin-top:5px}.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:10px;background:#eef2f6;color:#758295}.Paid,.Active{background:#e8f5ee;color:#24815f}.Overdue{background:#fcecea;color:#bd4b43}.Partial{background:#fff2dc;color:#9d742a}.Invoiced{background:#eaf1fb;color:#447db9}.notice{padding:14px 18px;border:1px solid #d7e7e2;background:#eff7f4;color:#53746a;border-radius:8px;font-size:12px;margin-bottom:20px}.empty{text-align:center;padding:45px;color:#8391a4}.textbutton{border:0;background:transparent;padding:4px;color:#187d68}.chart{display:flex;gap:16px;align-items:flex-end;height:200px;padding:26px 28px}.barwrap{flex:1;height:100%;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:9px}.bar{width:70%;background:#56a995;border-radius:4px 4px 0 0;min-height:2px}.barwrap small{font-size:10px;color:#8391a4}.barwrap span{font-size:9px;color:#58766b}footer{font-size:10px;color:#8b98aa;margin-top:28px}dialog{border:0;border-radius:12px;padding:25px;width:540px;max-width:95vw;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#0e203975}.dialoghead,.dialogfoot{display:flex;justify-content:space-between;align-items:center}.dialoghead h2{font-size:20px}.dialoghead button{border:0;font-size:24px}.dialogfoot{justify-content:end;gap:10px;margin-top:25px}#fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;color:#53647a}label input,label select,label textarea{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #d8e1eb;border-radius:6px;background:white}.full{grid-column:1/-1}#toast{position:fixed;bottom:25px;right:25px;background:#142d47;color:white;padding:14px 22px;border-radius:8px;display:none}@media(max-width:1050px){aside{width:195px}main{margin-left:195px}section{padding:25px}.cards{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}}@media(max-width:650px){aside{position:static;width:100%;height:auto;padding:15px}.brand{font-size:26px}.workspace,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{white-space:nowrap;font-size:11px}main{margin:0}header{height:50px;padding:0 20px}section{padding:20px 12px}.heading{gap:10px}h1{font-size:24px}.heading p{font-size:12px}.card{padding:14px}.card .value{font-size:20px}.toolbar #export{margin-left:0}.search{width:150px}}
[hidden]{display:none!important}

.authcard{max-width:440px;margin:10vh auto;padding:32px;background:white;border:1px solid #e1e7ed;border-radius:12px}.authcard label{margin-top:20px}.authhint{display:block;color:#7b889a;font-size:11px;line-height:1.5;margin:8px 0 16px}.authcard button{width:100%}.authcard h1{font-size:25px}button:disabled{opacity:.6;cursor:wait}

@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Regular.ttf');font-weight:400}@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-SemiBold.ttf');font-weight:600}body{font-family:Montserrat,Arial,sans-serif;color:#0f0f0f;background:#f7f7f7}aside{background:#0f0f0f;color:#ddd}.brand{letter-spacing:0}.brand img{width:152px;height:auto;display:block;margin:12px 0 24px}.brand span{display:block;font-size:24px;letter-spacing:0;margin:0;color:white;font-weight:600}.authbrand img{width:160px;height:auto;margin-bottom:28px}.categorytabs{display:flex;gap:12px;margin-bottom:24px}.categorytabs button{padding:14px 20px}.categorytabs button.active{background:#0f0f0f;color:white;border-color:#0f0f0f}.primary{background:#0f0f0f;border-color:#0f0f0f;color:white}.primary:hover{background:#333}nav button.active{background:#333}nav button,.workspace,.sidefoot p,.restore{color:#ccc}.sidefoot button{background:#333}.eyebrow,.textbutton,.tabs .active{color:#333}.tabs{background:#e8e8e8}h1{letter-spacing:0;font-weight:600}.bar{background:#777}.badge,.Paid,.Active,.Overdue,.Partial,.Invoiced{background:#e8e8e8;color:#333}.notice{background:#eee;border-color:#ddd;color:#444}button,input,select,textarea,.panel,.card,.tabs,.notice,.avatar,.badge,dialog{border-radius:0!important;box-shadow:none!important}th{background:#0f0f0f;color:white}td,th{border:0}tbody tr:nth-child(even){background:#f0f0f0}b,.panelhead h3,.eyebrow{font-weight:400}.card .value{font-weight:600}.card small,.card .label,p,small,footer,.muted{color:#666}.barwrap span{color:#555}

.sectionbrand{display:flex;align-items:center;gap:36px;padding:24px 32px;background:white;border:1px solid #e5e5e5;margin-bottom:24px}.sectionbrand img{width:220px;height:auto;object-fit:contain}.sectionbrand p{font-size:13px}.oto-section section h1{font-weight:700;letter-spacing:-.01em}.oto-section section .eyebrow{font-weight:600;letter-spacing:.14em}.oto-section section th,.oto-section section .card .label{font-weight:600;letter-spacing:.1em;text-transform:uppercase}.oto-section section .panelhead h3{font-weight:700;letter-spacing:-.01em}.oto-section section p,.oto-section section td{font-weight:400;letter-spacing:0}@media(max-width:650px){.sectionbrand{flex-direction:column;align-items:start;gap:16px;padding:24px}}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Bold.ttf');font-weight:700;font-style:normal}

h1,h2,.panelhead h3{font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:-.01em}.eyebrow,.workspace{font-weight:600;letter-spacing:.14em;text-transform:uppercase}th,.card .label{font-weight:600;letter-spacing:.1em;text-transform:uppercase}body,p,td,input,select,textarea,button{font-family:Montserrat,Arial,sans-serif;font-weight:400;letter-spacing:0}.authcard h1{font-weight:700;letter-spacing:-.01em}


/* Sidebar states: explicit contrast for default, hover, active and keyboard focus. */
aside{padding:28px 16px;overflow-y:auto}.workspace{margin:36px 16px 16px;font-size:10px;color:#a8a8a8;line-height:1.5}aside nav{gap:6px}aside nav button{display:flex;align-items:center;gap:12px;min-height:48px;width:100%;padding:12px 16px;border:0;border-left:3px solid transparent;background:transparent;color:#cfcfcf;text-align:left;font-size:12px;line-height:1.5;white-space:nowrap;transition:background .15s,color .15s}aside nav button svg{width:18px;height:18px;flex:0 0 18px;color:inherit}aside nav button span{color:inherit}aside nav button:hover{background:#252525;color:#fff}aside nav button.active,aside nav button.active:hover{background:#333;color:#fff;border-left-color:#fff}aside nav button:focus-visible{outline:2px solid #fff;outline-offset:-2px;background:#252525;color:#fff}aside nav button.active:focus-visible{background:#333}.sidefoot{margin-top:auto;padding:20px 12px 8px}.sidefoot p{font-size:11px;line-height:1.7;color:#aaa}.sidefoot b{font-size:11px;color:#ddd}.brand{padding:0 12px}.brand img{max-width:100%;width:152px}.brand span{font-size:24px}@media(max-width:650px){aside{padding:16px}aside nav{gap:4px}aside nav button{width:auto;min-height:44px;padding:10px 12px;border-left:0;border-bottom:2px solid transparent}aside nav button.active,aside nav button.active:hover{border-left:0;border-bottom-color:#fff}aside nav button svg{width:16px;height:16px;flex-basis:16px}.brand img{width:120px;margin:0 0 16px}}

.billingcheck{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:12px;padding:16px;background:#f2f2f2}.billingcheck input{width:18px;height:18px;margin:0;accent-color:#111}.billingcheck span{grid-column:2;font-size:11px;line-height:1.6;color:#666}.Billed{background:#333;color:white}.Non-billed{background:#eee;color:#555}

.currencyheading{font-size:20px;font-weight:600;letter-spacing:0;padding:16px 0 12px;margin:0;border-bottom:1px solid #ddd;margin-bottom:20px}.currencygroup{margin-bottom:36px}.allsearch{display:flex;justify-content:flex-end;margin-bottom:16px}.allsearch .search{width:280px}
