:root{--bg:#f6f7f4;--ink:#253d35;--muted:#748078;--green:#294f40;--line:#e3e8e0;--accent:#e5edc9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:9px;padding:12px 19px;background:var(--green);color:white;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}button:hover,.button:hover{background:#183c2d;text-decoration:none}.secondary{background:white;color:var(--green);border-color:var(--line)}.secondary:hover{background:var(--accent)}.text{background:none;border:0;padding:8px 0;color:var(--muted);font-size:13px}.text:hover{background:none;color:var(--ink)}aside{position:fixed;inset:0 auto 0 0;width:248px;padding:35px 23px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font:italic 700 43px Georgia,serif;display:flex;gap:12px;align-items:center;line-height:1;color:var(--green)}.brand span{font:600 22px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-1px}.workspace{margin:45px 10px 25px;font-size:10px;letter-spacing:1.4px;color:var(--muted)}.workspace strong{display:block;font-size:13px;letter-spacing:0;color:var(--ink);margin-top:7px}nav{display:grid;gap:8px}nav a{padding:11px 13px;border-radius:8px;font-size:13px}nav a.active{background:var(--accent);font-weight:650}nav a:hover{background:#f0f4ea;text-decoration:none}.aside-bottom{margin-top:auto;padding:25px 10px 0;font-size:12px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:#88a76e;border-radius:50%;margin-right:7px}.main{margin-left:248px;padding:0 46px;max-width:1650px}header{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:24px 0;border-bottom:1px solid var(--line);gap:20px}.title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:45px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted);margin:0 0 10px}h1{font:400 39px/1.15 Georgia,serif;letter-spacing:-1px;margin:0 0 12px}h2{font-size:18px;letter-spacing:-.3px;margin:0 0 20px}h3{font-size:15px}p{margin:0 0 15px}.title p:last-child{color:var(--muted);font-size:13px;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}.stats article,.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:25px}.stats span{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:32px;line-height:1.4;font-weight:500;margin:15px 0 8px;letter-spacing:-1px}.stats small{font-size:10px;color:var(--muted)}.panel{margin-bottom:25px}.section-title{display:flex;justify-content:space-between;align-items:baseline}.section-title a{font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;color:var(--muted);font-weight:500;padding:14px 9px;border-bottom:1px solid var(--line)}td{padding:17px 9px;border-bottom:1px solid #f0f2ee;font-size:12px}td small{display:block;font-size:10px;color:var(--muted)}.money{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;border:1px solid var(--line);padding:4px 10px;border-radius:20px;font-size:10px;white-space:nowrap;background:#fafbf8}.issued{background:#edf4e8;color:#4e6e3a}.draft{background:#fbf3e1;color:#97732d}.notice{border:1px solid #dae2cf;background:#eff3e8;border-radius:12px;padding:24px;margin:25px 0;font-size:13px}.notice p{margin:7px 0 10px;color:#5d6c5c}.alert{padding:18px;background:#ffefea;border:1px solid #e7b0a3;border-radius:9px;margin:25px 0;color:#8e3929}.empty{text-align:center;padding:55px 15px;color:var(--muted)}.empty-icon{font-size:30px;color:var(--green);background:var(--accent);width:65px;height:65px;border-radius:50%;margin:auto auto 20px}.empty h3{color:var(--ink)}.empty p{font-size:13px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid button{align-self:end;margin-bottom:17px}label{display:block;font-size:12px;font-weight:550;margin-bottom:17px}input,select,textarea{display:block;width:100%;border:1px solid #d7ded3;border-radius:7px;padding:11px 12px;margin-top:7px;background:white;color:var(--ink);font:14px/1.4 inherit}input:focus,select:focus,textarea:focus{outline:2px solid #9aaa7c;outline-offset:2px}.line{display:grid;grid-template-columns:3fr .7fr 1fr .8fr auto;gap:12px;align-items:end}.line button{margin-bottom:17px;padding:10px}.estimate{text-align:right;margin:25px 0;font-size:13px}.estimate strong{font-size:23px;margin-left:22px}.client{border-bottom:1px solid var(--line);padding:17px 0}.client strong,.client span,.client small{display:block}.client span,.client small,.muted{color:var(--muted);font-size:12px}.document{background:white;border:1px solid var(--line);border-radius:12px;padding:45px;margin-bottom:25px;font-size:12px}.document-head{display:flex;justify-content:space-between;gap:35px}.document-head h2{font-size:21px}.document-head small{color:var(--muted)}.recipient{margin:30px 0 35px;padding:20px;background:#f6f8f2;border-radius:6px}.document td:first-child{white-space:normal;min-width:180px}.totals{max-width:330px;margin:25px 0 25px auto}.totals p{display:flex;justify-content:space-between;margin:8px 0}.totals .grand{font-size:18px;border-top:1px solid var(--line);padding-top:12px}.document-notes{font-size:10px;color:#6a746c;border-top:1px solid var(--line);padding-top:22px}.actions{display:flex;flex-wrap:wrap;gap:14px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}ol{padding-left:20px}li{margin-bottom:14px;font-size:13px}footer{font-size:10px;color:var(--muted);padding:25px 0 35px;display:flex;justify-content:space-between;gap:20px}.login{max-width:440px;margin:7vh auto;padding:30px}.login .brand{margin-bottom:65px}.login h1{font-size:46px;margin:15px 0 25px}.login p:not(.eyebrow){color:var(--muted)}.login form{margin:30px 0}.login button{width:100%}.login small{font-size:11px;color:var(--muted)}@media(max-width:1050px){aside{width:205px;padding:25px 15px}.main{margin-left:205px;padding:0 25px}.stats{grid-template-columns:1fr}.stats article{padding:18px}.stats strong{margin:5px 0}.columns{grid-template-columns:1fr}.line{grid-template-columns:2fr 1fr 1fr}.line label:first-child{grid-column:1/-1}}@media(max-width:700px){aside{position:static;width:auto;padding:20px}.workspace,.aside-bottom{display:none}nav{margin-top:20px;display:flex;overflow:auto;gap:4px}nav a{white-space:nowrap}.main{margin:0;padding:0 18px}header span:first-child{display:none}header{justify-content:flex-end}.title{display:block;margin:30px 0}.title .button{margin-top:20px}h1{font-size:33px}.grid{grid-template-columns:1fr}.document{padding:20px}.document-head{display:block}.document-head>div+div{margin-top:25px}footer{display:block}footer span{display:block}.panel{padding:19px}}@media print{@page{size:A4;margin:15mm}body{background:white;color:black;font-size:11px}aside,header,footer,.no-print,.alert{display:none!important}.main{margin:0;padding:0;max-width:none}.document{border:0;padding:0;margin:0;font-size:11px}.document-head{display:flex}.document td{font-size:10px}.recipient{background:none;border:1px solid #ddd}.document-notes{font-size:9px}tr{break-inside:avoid}.totals{break-inside:avoid}a{color:inherit}}
.company-search{border:1px solid var(--line);border-radius:10px;padding:18px;background:#f7f9f3;margin-bottom:25px}.search-row{display:flex;gap:10px;align-items:center}.search-row input{margin:0;min-width:0}.search-row button{padding:11px 14px}.company-search form label{margin-bottom:7px}.company-search .muted{margin:10px 0}.company-search [role=status]{font-size:12px}.company-result{display:block;text-align:left;width:100%;white-space:normal;margin:10px 0;padding:13px}.company-result strong,.company-result span,.company-result small{display:block}.company-result span{font-size:12px;font-weight:400;margin:5px 0}.company-result small{font-size:10px;font-weight:400;color:var(--muted)}button:disabled{opacity:.55;cursor:wait}@media(max-width:700px){.search-row{flex-direction:column;align-items:stretch}}
