:root{font-family:Arial,sans-serif;color:#182a40;background:#f1f6fb;font-size:15px}*{box-sizing:border-box}body{margin:0}h1{font-size:2.4rem;letter-spacing:-1px;margin:10px 0}h2{font-size:1.4rem;color:#103e70}p{line-height:1.6}a{color:#124f86}button,.button{font:inherit;background:#104b82;color:white;border:0;border-radius:12px;padding:13px 19px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(1.08)}input,select{display:block;width:100%;margin:8px 0 18px;padding:12px;border:1px solid #d6e1eb;background:#f8fafc;color:#182a40;border-radius:10px;font:inherit}label{font-size:.88rem;color:#536780}input:focus,select:focus{outline:2px solid #ff9d43;outline-offset:2px}small{font-size:.78rem;line-height:1.5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}aside{background:white;padding:25px;border-right:1px solid #dfe8f1}aside h2{margin:0;text-align:center;font-size:1.7rem}aside h2 span{color:#f87508}aside>small{display:block;text-align:center;color:#78889b;margin-top:8px;letter-spacing:2px}.logo{display:block;width:110px;height:110px;object-fit:contain;margin:0 auto 12px}nav{display:grid;gap:6px;margin:28px 0}nav a{padding:13px 12px;text-decoration:none;color:#5c7089;border-radius:10px}nav a.active{background:#edf4fb;color:#0a3b6a;border-left:4px solid #f87508;font-weight:700}.secondary{color:#124678;background:#eaf1f8}main{padding:30px 4%;min-width:0}.hero{position:relative;border-radius:26px;padding:30px 34px;color:white;background:linear-gradient(105deg,#082e54,#11548e 76%,#8cb7d9);box-shadow:0 14px 35px #0d3e7020}.hero p{margin:6px 0}.hero .button{margin-top:16px}.light{background:white;color:#103e70}.eyebrow{letter-spacing:1.6px;font-size:.72rem;font-weight:700}.hero .eyebrow{color:#cee2f3}.badge{display:inline-block;font-size:.8rem;background:#e0ebf6;color:#204a73;border-radius:999px;padding:7px 13px}.panel,.stats article{background:white;border:1px solid #dfe8f1;border-radius:22px;padding:25px;margin-top:20px;box-shadow:0 10px 24px #08345b05}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats span{color:#6a7b90}.stats strong{display:block;margin-top:15px;font-size:2rem;color:#104474}.stats article:before{content:'';display:block;width:30px;height:4px;background:#fa7a10;border-radius:3px;margin-bottom:15px}.links{display:flex;gap:25px;flex-wrap:wrap}.muted{color:#708096;font-size:.85rem}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:22px;font-size:.9rem}th,td{text-align:left;padding:15px 10px;border-bottom:1px solid #e2eaf3}th{background:#f0f5fa;color:#194773}.error{color:#ae233c}.notice{padding:14px 18px;border-radius:12px;background:#eaf2fa;border:1px solid #cedfec}.error.notice{background:#fff0f2;border-color:#f0cad2}.entry{min-height:100vh;background:radial-gradient(ellipse at top right,#c4def5,#15538a 55%,#072d51)}.access{max-width:520px;margin:4vh auto;padding:30px 38px;background:white;border-radius:26px;box-shadow:0 20px 60px #00192f40}.access h1,.access>.eyebrow,.access>p{text-align:center}.access button{width:100%}.checks{padding:0;list-style:none;font-size:.83rem}.checks li{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #e8edf4}.item{display:grid;grid-template-columns:3fr 1fr 1fr 1fr 1fr auto;gap:9px;align-items:center}.item button{padding:10px}.totals{text-align:right;font-size:1.15rem}.document .logo{margin-left:0}#estimate{font-weight:700;text-align:right;color:#11467a}
@media(max-width:850px){.shell{grid-template-columns:1fr}aside{padding:16px}aside .logo{width:70px;height:70px}nav{display:flex;overflow:auto;margin:16px 0}nav a{white-space:nowrap}main{padding:20px 15px}.stats{grid-template-columns:1fr;gap:0}.grid{grid-template-columns:1fr}.hero{padding:25px}.item{grid-template-columns:1fr 1fr}.item label:first-child{grid-column:1/-1}.access{margin:20px 12px;padding:28px}.links{display:grid}}
@media print{@page{size:A4;margin:12mm}body{background:white}aside,.hero,.badge,main>.notice,.document button{display:none!important}.shell{display:block}main{padding:0}.panel.document{margin:0;border:0;padding:0;box-shadow:none}.document .logo{width:80px;height:80px}.document table{font-size:10pt}.document tr{break-inside:avoid}.tablewrap{overflow:visible}}

button:disabled{opacity:.5;cursor:not-allowed}.document-actions{display:flex;gap:12px;flex-wrap:wrap}@media print{.document-actions{display:none!important}}
