:root{--bg:#f2f4f1;--paper:#fff;--ink:#17221c;--muted:#526358;--line:#dce2dc;--acid:#bcf52d;--danger:#a32126;--radius:15px;font-family:Inter,Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 14px;font-size:.9rem;font-weight:600}button:hover{border-color:#788b79;background:#f1f6ed}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--acid);border-color:var(--acid)}.primary:hover{background:#abdf20}.danger{color:var(--danger)}a{color:#315916;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #578c15;outline-offset:3px}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:#17271e;color:#fff;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.35rem;padding:0 10px 34px}.brand b{display:grid;place-items:center;background:var(--acid);color:#183010;width:38px;height:38px;border-radius:11px}.brand small{display:block;color:#b4c1b7;font-size:.75rem;letter-spacing:.1em;font-weight:400;margin-top:6px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{background:transparent;color:#c8d2cb;text-align:left;border:0;padding:13px 15px;font-weight:500}.sidebar nav button:hover{background:#2b3f31}.sidebar nav button.active{background:var(--acid);color:#182314;font-weight:700}.sidefoot{margin-top:auto;padding:28px 12px 0;font-size:.85rem;color:#b4c1b7}.sidefoot button{background:transparent;color:white;margin-top:15px}.workspace{min-width:0}.topbar{min-height:82px;border-bottom:1px solid var(--line);background:var(--paper);padding:18px 36px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar strong{font-size:.95rem}.topbar span{color:var(--muted);font-size:.85rem}.page{padding:32px 36px 60px;max-width:1580px;margin:auto}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:1.85rem;letter-spacing:-.04em;margin:0 0 8px;line-height:1.15}h2{font-size:1.12rem;margin:0 0 18px;letter-spacing:-.02em}h3{font-size:1rem}p{line-height:1.55}.muted,.pagehead p{color:var(--muted);margin:0;font-size:.9rem}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:24px}.toolbar label{font-size:.8rem}.toolbar select,.toolbar input{min-width:140px;max-width:230px}.toolbar .grow{flex:1}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-height:145px;transition:transform .15s,box-shadow .15s}.metric:hover{transform:translateY(-3px);box-shadow:5px 7px 0 #192b1a22}.metric.featured{background:#1c3023;color:#fff;border-color:#1c3023}.metric.featured .value{color:var(--acid)}.metric.featured small{color:#bbc9bf}.metric label{font-size:.86rem}.metric .value{display:block;font-size:1.9rem;font-weight:650;margin:17px 0 9px;letter-spacing:-.04em}.metric small{font-size:.8rem;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px;min-width:0}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panelhead h2{margin:0}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:var(--muted);font-weight:500;font-size:.8rem;border-bottom:1px solid var(--line);padding:12px 12px 14px;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #edf0ec;vertical-align:middle}tr:last-child td{border-bottom:0}td:first-child{font-weight:600}td small{display:block;font-weight:400;color:var(--muted);font-size:.8rem;margin-top:5px}.num{text-align:right;white-space:nowrap}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button,.actions a{font-size:.8rem;padding:7px 10px}.badge{display:inline-block;background:#eaf2e1;color:#2c5318;padding:5px 8px;border-radius:6px;font-size:.75rem;font-weight:600}.badge.warn{background:#fff0cc;color:#785200}.badge.dim{background:#edf0ed;color:#526358}.badge.red{background:#fee6e6;color:#a32126}.empty{padding:35px 15px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:10px}.notice{border-left:3px solid #8eb333;background:#edf5e7;padding:15px 18px;font-size:.9rem;margin:18px 0;line-height:1.6}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.progress{height:7px;width:100%;min-width:80px;accent-color:#76a921}.negative{color:var(--danger)}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button.active{background:#17271e;color:white}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:.86rem;font-weight:500}.field.full{grid-column:1/-1}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cdd6cd;border-radius:8px;color:var(--ink);background:white;min-width:0}textarea{resize:vertical;min-height:90px}input[type=checkbox]{width:19px;height:19px;accent-color:#497922}.check{display:flex;align-items:center;gap:10px;font-size:.9rem}.target{display:grid;grid-template-columns:22px 1fr 100px;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--line)}dialog{border:0;border-radius:18px;padding:0;max-width:780px;width:calc(100% - 30px);max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #0005}dialog::backdrop{background:#10201699}dialog header{padding:25px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}dialog h2{margin:0}dialog .body{padding:26px 28px;overflow-y:auto}dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid var(--line);background:#f8faf7}.error{color:#9d1921;background:#fff1f1;padding:12px;border-radius:8px;margin-bottom:16px}.error:empty{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#17271e;color:white;padding:14px 22px;border-radius:10px;z-index:20;max-width:90vw;box-shadow:0 8px 30px #0003}#toast:empty{display:none}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:#17271e}.login .panel{max-width:430px;width:100%;padding:35px}.login h1{margin:25px 0 12px}.login button{width:100%;margin-top:18px}.login .brand{padding:0}.login .field{margin-top:24px}.ai-answer{white-space:pre-wrap;line-height:1.7;margin:20px 0}.inline{display:flex;gap:12px;align-items:center}.inline input{flex:1}.code{font-family:monospace;overflow-wrap:anywhere;background:#f1f4ef;padding:12px;font-size:.85rem}.setup{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.setup button{text-align:left;min-height:80px}.setup small{display:block;color:var(--muted);font-weight:400;margin-top:8px}.mobile-brand{display:none}.filter-state{font-size:.85rem;color:var(--muted);margin-top:14px}.nowrap{white-space:nowrap}@media(min-width:1500px){.metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.metric .value{font-size:1.65rem}}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}.page{padding:24px}.topbar{padding:18px 24px}.sidebar{padding:24px 12px}.split{grid-template-columns:1fr}.setup{grid-template-columns:1fr 1fr}}@media(max-width:720px){.shell{display:block}.sidebar{height:auto;position:static;padding:12px}.brand,.sidefoot{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav button{white-space:nowrap;padding:11px;font-size:.8rem}.topbar{min-height:64px;padding:14px 18px}.mobile-brand{display:inline;font-weight:800}.page{padding:22px 16px}.pagehead{align-items:flex-start}.pagehead h1{font-size:1.55rem}.pagehead>button{flex-shrink:0}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px;min-height:130px}.metric .value{font-size:1.5rem}.panel{padding:17px}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.toolbar>*{flex:1;min-width:130px}.toolbar select,.toolbar input{max-width:none;min-width:0}.panelhead{align-items:flex-start;flex-direction:column}.formgrid{gap:15px}dialog .body,dialog header{padding:20px}.setup{grid-template-columns:1fr 1fr}.topbar span{font-size:.75rem}.login .brand{display:flex}.num{white-space:normal}}
#agreement-bundle fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0;background:#f8faf7}#agreement-bundle legend{font-weight:700;padding:0 8px}#agreement-bundle fieldset>button{margin-top:14px;color:var(--danger)}#agreement-bundle .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){#agreement-bundle .formgrid{grid-template-columns:1fr}}
.agreement-node{border:1px solid var(--line);border-radius:12px;background:var(--paper);margin:14px 0;overflow:hidden}.agreement-node>summary{cursor:pointer;padding:19px 22px;line-height:1.6}.agreement-node>summary:hover{background:#f1f6ed}.agreement-node>summary strong{margin-right:12px}.agreement-node[open]>summary{border-bottom:1px solid var(--line);background:#edf5e7}.agreement-content{padding:20px;min-width:0}.agreement-content .agreement-node{background:#fafcf8}.agreement-content h3{margin-top:24px}@media(max-width:720px){.agreement-content{padding:12px}.agreement-node>summary{padding:15px}.agreement-node>summary .muted{display:block;margin-left:18px}}
.agreement-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#e4eadf;border-radius:14px;margin:24px 0}.agreement-tabs button{flex:1;min-width:180px}.agreement-content>.muted{margin-bottom:12px}.agreement-content>h3{padding-top:18px;border-top:1px solid var(--line)}.agreement-node[data-agreement-node^="customer:"]>summary strong{font-size:1.05rem}.agreement-node[data-agreement-node^="history:"]>summary{font-size:.85rem;background:#f2f4f1}
#draft-editor fieldset{border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0;min-width:0}#draft-editor legend{font-weight:700;padding:0 8px}#draft-editor fieldset>button{margin-top:14px}
dialog:has(#draft-editor){max-width:1060px;width:calc(100% - 32px);max-height:94vh}
#draft-editor{display:flex;flex-direction:column;max-height:94vh;background:#f3f5f0}
#draft-editor header{background:#fff;padding:24px 30px;flex-shrink:0}
#draft-editor h2{font-size:1.45rem;margin:5px 0 7px}
.draft-eyebrow{font-size:.7rem;letter-spacing:.12em;color:#476327;font-weight:800}
#draft-editor .body{padding:24px 30px;overflow:auto}
.draft-section{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px}
#draft-editor h3{margin:0 0 16px;font-size:1.05rem}
.draft-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 16px}
.draft-help{margin:9px 0 0!important;font-size:.8rem!important}
.draft-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;align-items:start}
.draft-party{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.draft-party summary{cursor:pointer;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem}
.draft-party summary strong{display:block;font-size:1rem;margin-top:5px}
.draft-party>.formgrid{padding:18px;border-top:1px solid var(--line)}
.draft-line{border:1px solid var(--line);border-left:4px solid #9cca2f;border-radius:10px;padding:16px 18px;margin:14px 0;background:#fbfcf9}
.draft-line-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.8rem}
.draft-line-head button{padding:5px 9px;font-size:.75rem}
#draft-editor textarea[name=description]{min-height:58px}
.draft-amounts{display:grid;grid-template-columns:1fr 1fr 1.6fr 1fr;gap:12px;margin-top:14px}
.draft-row-extra{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.draft-row-extra summary{cursor:pointer;color:var(--muted);font-size:.8rem}
.draft-row-extra>.formgrid{margin-top:14px}
#draft-editor footer{flex-shrink:0;background:#fff;justify-content:space-between;align-items:center;padding:18px 30px;box-shadow:0 -4px 14px #17221c09}
.draft-totals{display:flex;gap:22px;align-items:center;font-size:.8rem;color:var(--muted)}
.draft-totals b{display:block;margin-top:4px;color:var(--ink)}
.draft-totals>strong{font-size:1rem;color:var(--ink)}
.draft-totals>strong b{font-size:1.35rem}
@media(max-width:700px){#draft-editor .body,#draft-editor header,#draft-editor footer{padding:16px}.draft-parties,.draft-dates{grid-template-columns:1fr}.draft-amounts{grid-template-columns:1fr 1fr}.draft-section{padding:16px}#draft-editor footer{align-items:stretch;flex-direction:column;gap:12px}.draft-totals{justify-content:space-between}.draft-totals+.actions{justify-content:flex-end}}
.draft-row-discount{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:12px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.draft-row-discount>strong{text-align:right;font-size:.9rem;padding-bottom:12px}
#draft-editor .draft-totals{gap:16px}
@media(max-width:700px){.draft-row-discount{grid-template-columns:1fr 1fr}.draft-row-discount>strong{grid-column:1/-1;padding:0}.draft-totals{flex-wrap:wrap}}
