:root{color:#203547;--accent:#004aad;--accent-tint:#eaf2fc;--control-hover:#517db8;--button-primary:var(--accent);--button-primary-hover:#003c8c;--border:#dce4e7;--muted:#596e7b;background:#f3f6f8;font-family:system-ui,-apple-system,Leelawadee UI,sans-serif;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--border);color:#263f50;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 15px;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--accent-tint);border-color:var(--control-hover)}button:disabled{opacity:.55;cursor:default}.primary{color:#fff;background:var(--button-primary);border-color:var(--button-primary)}button.primary:hover:not(:disabled),.button.primary:hover{color:#fff;background:var(--button-primary-hover);border-color:var(--button-primary-hover)}:focus-visible,.search:focus-within{outline:3px solid var(--accent);outline-offset:2px}.app-header :focus-visible{outline-color:#c6dfff}h1,h2,h3,p{margin:0}h1{letter-spacing:-.03em;margin:4px 0;font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.35}h2{font-size:1.22rem}.eyebrow{color:var(--accent);letter-spacing:.08em;font-size:.8rem;font-weight:650}.muted,.page-title p,.pagination{color:var(--muted)}.app-header{color:#fff;background:linear-gradient(115deg,#182e45,#23465a 70%,#28665e);padding:22px 0 42px}.header-inner,.shell{width:min(1200px,100% - 36px);margin:auto}.header-inner,.product,.account{align-items:center;gap:15px;display:flex}.brand-icon,.wordmark b{background:var(--accent-tint);color:var(--accent);border-radius:11px;place-items:center;width:44px;height:44px;font-size:1.7rem;font-weight:700;display:grid}.product strong{letter-spacing:-.03em;font-size:1.35rem}.product small{letter-spacing:.2em;color:#dceaff;font-size:.62rem;display:block}.company-name{border-left:1px solid #ffffff42;padding-left:20px}.account{margin-left:auto;font-size:.88rem}.account button{color:#fff;background:0 0;border-color:#ffffff50}.account button:hover:not(:disabled){background:#ffffff20}nav{border:1px solid var(--border);background:#fff;border-radius:10px;gap:4px;margin-top:-24px;padding:4px;display:flex;overflow-x:auto;box-shadow:0 4px 12px #19334c09}nav a{color:#486071;border-radius:6px;flex-shrink:0;align-items:center;gap:9px;padding:12px 19px;font-weight:550;text-decoration:none;display:flex}nav a.active{background:var(--accent-tint);color:var(--accent)}@media (hover:hover){a:not(.button):hover{color:var(--button-primary-hover)}nav a:hover,.subnav a:hover,a.panel:hover{background:var(--accent-tint);border-color:var(--control-hover)}}nav a:focus-visible,.tabs button:focus-visible{outline-offset:-3px}.shell main{padding:30px 0 60px}.page-title,.toolbar,.pagination,.form-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.page-title{flex-wrap:wrap;margin:6px 0 22px}.panel{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.tabs{border-bottom:1px solid var(--border);gap:5px;padding:0 15px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:13px 16px}.tabs button[aria-pressed=true]{color:var(--button-primary);border-bottom-color:var(--button-primary);font-weight:650}.toolbar,.pagination{padding:16px 20px}.search{border:1px solid var(--border);border-radius:7px;align-items:center;gap:6px;max-width:52%;padding-left:10px;display:flex}.search input{border:0}.search input:focus{outline:none}input,select,textarea{width:100%;min-width:0;color:inherit;background:#fff;border:1px solid #bfced2;border-radius:7px;padding:9px 11px}@media (hover:hover){:where(input,select,textarea):hover:where(:enabled:not([readonly])),.search:hover:where(:has(input:enabled)){border-color:var(--control-hover)}input[type=checkbox]:enabled:hover:not(:focus-visible){outline:2px solid var(--control-hover);outline-offset:2px}}:where(input,select,textarea):focus,.search:focus-within{border-color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b43634}.required,.field-error{color:#ac3432}.field label{font-weight:560}table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border);padding:13px 18px}th{color:#47606d;background:#f5f8f9;font-size:.86rem;font-weight:600}td a{font-weight:600}.empty{text-align:center;color:var(--muted);padding:42px}.pagination>div,.form-actions{align-items:center;gap:10px;display:flex}.form-panel{padding:24px}fieldset{border:0;margin:20px 0;padding:0}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:18px}.notice{color:var(--accent);background:var(--accent-tint);border-radius:6px;margin-bottom:12px;padding:10px 14px}.crumb{margin:4px 0 8px;display:inline-block}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.alert-message{white-space:pre-line}.login-page{background:linear-gradient(140deg,#e0edea,#f4f6f8 60%,#e7eef3);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:#fff;border-radius:18px;width:min(100%,420px);padding:34px;box-shadow:0 16px 50px #19334c10}.wordmark{align-items:center;gap:12px;margin-bottom:26px;font-size:1.4rem;font-weight:650;display:flex}.login-card form{margin-top:24px}@media (width<=650px){.header-inner,.shell{width:calc(100% - 20px)}.account span{display:none}.company-name{padding-left:10px;font-size:.85rem}.header-inner,.product{gap:8px}.toolbar,.pagination,.form-panel{padding:14px}nav a{padding:10px}.pagination{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.subnav{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 20px;display:flex}.subnav a,.subnav button{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:6px;padding:7px 12px;text-decoration:none}.subnav a.active,.subnav button[aria-pressed=true]{color:var(--button-primary);border-color:var(--button-primary);background:var(--accent-tint)}.badge{color:#374f5a;background:#e4ecef;border-radius:24px;padding:2px 10px;font-size:.87rem;display:inline-block}.badge.paid,.badge.confirmed{color:#21644a;background:#e0f2e7}.badge.outstanding,.badge.partial{color:#85521d;background:#fff2dc}.badge.overdue,.badge.cancelled{color:#943c3c;background:#fbe9e7}.amount{text-align:right;font-variant-numeric:tabular-nums}.form-grid,.party-grid,.summary-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;display:grid}.form-panel h2{margin-bottom:14px}.form-panel hr{border:0;border-bottom:1px solid var(--border);margin:24px 0}.highlight,.estimate,.summary-strip{background:var(--accent-tint);color:var(--accent);border-radius:8px;margin-bottom:20px;padding:18px}.estimate{text-align:right;margin-top:16px}.line-box{border:1px solid var(--border);border-radius:8px;gap:12px;margin-bottom:12px;padding:16px;display:grid}.line-heading,.sheet-title,.metric,.history-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.choice{border:0;justify-content:flex-start}.summary-strip small,.summary-strip strong,.party-grid small,.party-grid b,.party-grid span,.sheet-title small{display:block}.summary-strip strong{font-variant-numeric:tabular-nums;font-size:1.4rem}.sheet{margin:14px 0;padding:24px}.sheet-title{border-bottom:2px solid var(--accent);align-items:flex-start;padding-bottom:14px}.sheet-title>div:last-child{text-align:right}.party-grid{padding:20px 0}.sheet p{margin:12px 0}.scroll{overflow-x:auto}.metric.total{border-top:1px solid var(--border);padding-top:10px;font-size:1.15rem}.history-row{border-bottom:1px solid var(--border);flex-wrap:wrap;padding:12px 0}.print-only{display:none}@media print{body{color:#000;background:#fff}.app-header,nav,.no-print,.subnav{display:none!important}.print-only{display:block}.shell{width:100%}.shell main,.sheet{margin:0;padding:0}.sheet{border:0}.sheet th,.sheet td{white-space:normal}.scroll{overflow:visible}tr{break-inside:avoid}}
