:root{font-family:Inter,Arial,sans-serif;color:#23364a;background:#f4f6fa;--blue:#17324d;--accent:#236cba;--line:#dfe6ef}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}a{color:#1b66ac;text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-block;background:var(--blue);border:1px solid transparent;border-radius:7px;color:white;padding:10px 17px;font:inherit;cursor:pointer;text-align:center}.secondary{background:#e7eff8;color:var(--blue)}.ghost{background:transparent;color:inherit;border:1px solid #b8c7d9}.button:hover{text-decoration:none;filter:brightness(1.12)}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #4a92d6;outline-offset:2px}aside{position:fixed;inset:0 auto 0 0;width:252px;background:var(--blue);color:#e8f0f9;padding:28px 20px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;gap:13px;align-items:center;color:white;margin-bottom:40px;line-height:1.25}.brand b,.brandmark{background:#fff;color:var(--blue);border-radius:9px;padding:9px;font-size:23px;letter-spacing:-1px}.brand span{font-size:15px;font-weight:bold}.side-label{font-size:10px;letter-spacing:1.5px;color:#a5bbd2;margin:22px 0 10px}aside select{background:#24435f;color:white;border:1px solid #4c667f}aside .switch{font-size:12px;width:100%;padding:7px;background:#365b7f;margin-top:7px}nav{margin-top:20px}nav a{display:block;padding:11px 12px;margin:4px 0;border-radius:6px;color:#dce7f4}nav a.selected,nav a:hover{background:#2d4d6b;color:white;text-decoration:none}.side-foot{margin-top:auto;padding-top:36px}.side-foot small{display:block;color:#b8cadb}.side-foot button{margin-top:14px}.workspace{margin-left:252px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 36px;background:white;border-bottom:1px solid var(--line);font-weight:600}.badge{font-size:11px;border-radius:30px;background:#eaf2fb;color:#326694;padding:5px 12px}.notice{padding:12px 36px;background:#fff7e8;color:#876023;font-size:12px;border-bottom:1px solid #f0dfbc}.content{padding:30px 36px;max-width:1600px;margin:auto}h1{font-size:27px;line-height:1.2;margin:0 0 10px;font-weight:650}h2{font-size:19px;margin:0 0 16px}h3{font-size:14px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.title p{margin:0;color:#718093}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:24px 0}.stat,.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:10px}.stat span{color:#748295}.stat strong{display:block;font-size:35px;margin-top:9px;color:var(--blue)}.panel{margin:18px 0}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0}label{display:block;margin-bottom:14px;font-size:12px;font-weight:600}input,select,textarea{display:block;font:inherit;font-size:14px;width:100%;border:1px solid #cbd6e3;border-radius:6px;padding:10px 11px;margin-top:6px;background:white;color:#23364a}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:10px;padding-top:15px}.check input,input[type=checkbox]{display:inline-block;width:17px;height:17px;flex-shrink:0;margin:0}input[type=file]{font-size:12px}.table-wrap{overflow-x:auto;background:white;border-radius:8px;border:1px solid var(--line);margin:18px 0}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:13px 15px;text-align:left;border-bottom:1px solid #e6ebf1;vertical-align:top}th{color:#667b91;font-weight:600;background:#f5f8fc}tr:last-child td{border-bottom:0}.pill{font-size:10px;white-space:nowrap;border-radius:20px;background:#edf2f8;color:#47637e;padding:4px 9px}.search{max-width:440px;margin:20px 0}.empty{border:1px dashed #c7d4e3;padding:40px;text-align:center;border-radius:9px;color:#7b8da0;margin:20px 0}.error{background:#fff0ef;color:#a02f2d;padding:16px;border-radius:7px;margin:16px}.lines{min-width:1000px}.lines td{padding:7px}.lines input,.lines select,.lines textarea{font-size:12px;padding:8px}.lines td:first-child{width:170px}.lines td:nth-child(2){min-width:220px}.lines td:nth-child(n+3){width:85px}.estimate{text-align:right;color:#55708b;font-size:12px}summary{cursor:pointer;font-weight:600}footer{padding:20px 36px;color:#8c9aaa;font-size:11px}.document{max-width:1000px;margin:auto;background:white;padding:40px;border:1px solid var(--line);font-size:12px}.doc-head{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid var(--blue);padding-bottom:18px}.doc-head h1{font-size:23px}.doc-number{text-align:right}.logo{max-width:170px;max-height:75px;object-fit:contain;margin-bottom:12px}.doc-addresses{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:22px 0}.doc-addresses h3{color:#64809a;text-transform:uppercase;font-size:11px}.document td{overflow-wrap:anywhere}.document small{display:block;color:#69819b}.draft{color:#a56412;font-size:11px}.totals{max-width:320px;margin:20px 0 20px auto}.grand{font-size:17px;color:var(--blue)}.doc-notes{white-space:normal}.doc-footer{margin-top:36px;border-top:1px solid var(--line);padding-top:10px;color:#8b9caf;font-size:10px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#132d46,#345b7f)}.login-card{width:min(430px,95vw);background:white;border-radius:14px;padding:38px;box-shadow:0 15px 50px #061d3c55}.login-card h1{font-size:24px;margin-top:22px}.brandmark{display:inline-block;background:#edf3fa}.login-card p{color:#7a8b9c}.login-card form{margin-top:24px}.login-card button{width:100%}.login-card small{display:block;margin-top:24px;color:#8998a7}.install{max-width:750px;margin:35px auto;background:white;padding:36px;border-radius:12px}
@media(max-width:850px){aside{position:static;width:auto;padding:16px}.brand{margin:0 0 10px}.side-label,.side-foot small{display:none}nav{display:flex;flex-wrap:wrap;margin:12px 0}nav a{padding:7px;font-size:12px}.side-foot{padding:8px 0}.side-foot form{display:inline-block;margin-left:20px}.side-foot button{margin:0}.workspace{margin-left:0}.content{padding:20px 15px}header{padding:15px}.notice{padding:10px 15px}.form-grid,.doc-addresses{grid-template-columns:1fr}.document{padding:20px}.doc-head{flex-direction:column}.doc-number{text-align:left}}
@media print{@page{size:A4;margin:15mm}body{background:white}aside,header,.notice,.no-print,footer,.workspace>.error{display:none!important}.workspace{margin:0}.content{padding:0;max-width:none}.document{max-width:none;border:0;padding:0}.doc-head{flex-direction:row}.doc-number{text-align:right}.doc-addresses{grid-template-columns:1fr 1fr}.document .table-wrap{border:0;overflow:visible}.document table{font-size:10px;table-layout:fixed}.document th,.document td{padding:7px 4px;word-break:normal}.document thead{display:table-header-group}.document tr{break-inside:avoid}.document a{color:inherit}.totals,.doc-head,.doc-addresses{break-inside:avoid}.doc-footer{font-size:9px}.document .grand{font-size:14px}}

.readonly{border:0;padding:0;margin:0;min-width:0}.readonly button{display:none}
