:root{--ink:#0f1b2d;--muted:#44566c;--line:#dde3ea;--bg:#f4f6f8;--brand:#0a7d55;--brand-dark:#086344;--brand-tint:#e1f3ea;--warn:#b54708;--warn-tint:#fdf1e3;--navy:#390101;--heading:#6b1414;--display:"Bricolage Grotesque",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Figtree,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums}h1,h2,h3{margin:.2em 0 .5em;font-family:var(--display);letter-spacing:-.01em}h1{font-size:2rem;letter-spacing:-.02em}main h1,main h2,main h3{color:var(--heading)}.center{text-align:center;margin-top:4rem}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#c9d3df;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.2rem}.sidebar h1{font-size:1.15rem;color:#fff;padding:0 .75rem;margin-bottom:1rem;line-height:1.15}.sidebar a{display:flex;align-items:center;min-height:44px;padding:0 .75rem;border-radius:10px;color:#c9d3df;text-decoration:none;font-weight:500}.sidebar a:hover{background:#5a1414;color:#fff}.sidebar a.active{background:#fff;color:var(--ink);font-weight:600}.sidebar a.signature{background:#f1e9dc;color:#390101;margin:.3rem 0;font-weight:600}.sidebar a.signature:hover,.sidebar a.signature.active{background:#fff;color:#390101}.sidebar label{color:#c9d3df;margin-top:1rem;padding:0 .75rem;flex:none}.sidebar select{background:#5a1414;color:#fff;border-color:#7a2a2a}.sidebar button.link{color:#c9d3df;text-align:left;padding:.6rem .75rem;min-height:44px}main{padding:2rem 2.5rem;max-width:1040px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin:1rem 0}.narrow{max-width:520px;margin:3rem auto}.muted{color:var(--muted)}.warn{color:var(--warn);font-weight:600}label{display:flex;flex-direction:column;gap:.2rem;margin:.5rem 0;font-size:.85rem;color:var(--muted);flex:1}label.check{flex-direction:row;align-items:center;gap:.5rem}label.check input{width:auto}input,select{min-height:44px;padding:.5rem .7rem;border:1.5px solid #8795a8;border-radius:10px;font:inherit;color:var(--ink);width:100%}input.num{width:90px}button,.btn{min-height:44px;padding:.55rem 1.2rem;border:0;border-radius:10px;background:var(--navy);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}button.link{background:none;color:var(--brand);padding:.3rem 0}.btn.signature{background:var(--brand)}.row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end}.row.between{justify-content:space-between;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.tile{background:#fff;color:var(--ink);border:1px solid var(--line);padding:1.4rem 1rem;font-weight:600;border-radius:14px}.tile:hover{border-color:var(--brand)}.stat{display:flex;flex-direction:column-reverse;margin:0;gap:.2rem}.stat span{color:var(--muted);font-size:.9rem}.stat b{font-family:var(--display);font-size:2rem;letter-spacing:-.02em}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line)}th{font-size:.8rem;color:var(--muted)}.big{font-family:var(--display);font-size:3.4rem;line-height:1.05;letter-spacing:-.03em;font-weight:700;color:var(--brand)}dl{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;max-width:340px}dd{margin:0;text-align:right}@media (max-width:760px){.shell{grid-template-columns:1fr}main{padding:1rem}.sidebar{padding:1rem}}.tabs{margin:.5rem 0;gap:.4rem}.tabs button.link{padding:.55rem 1rem}.tile small{display:block;font-weight:400;color:var(--muted);margin-top:.3rem;font-size:.78rem}textarea{width:100%;padding:.6rem .7rem;border:1.5px solid #8795a8;border-radius:10px;font:inherit;color:var(--ink)}.pill{background:var(--brand-tint);color:var(--brand);padding:.2rem .7rem;border-radius:999px;font-weight:600}.timeline,.tasks{list-style:none;padding:0;margin:.8rem 0 0}.timeline li{border-left:2px solid var(--line);padding:.2rem 0 .8rem .8rem}.tasks li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:.3rem 0}.tasks li.done label{text-decoration:line-through;color:var(--muted)}.filters label{max-width:240px}.guard{border:1.5px solid var(--brand);background:var(--brand-tint)}.guard.bad{border-color:var(--warn);background:var(--warn-tint)}.good-text{color:var(--brand);font-weight:600}.signature-btn{background:var(--brand)}.thumb{width:100%;height:140px;object-fit:cover;border-radius:8px;margin-bottom:.5rem}.logo{max-height:64px;display:block;margin:.4rem 0}.proposal{max-width:720px;margin:0 auto;padding:1rem}.proposal header{text-align:center;margin:1.5rem 0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;margin:.5rem 0 1rem}.gallery img{width:100%;height:140px;object-fit:cover;border-radius:8px}.pre{white-space:pre-wrap}.r{text-align:right}.big-btn{background:var(--brand);font-size:1.1rem;padding:.8rem 1.6rem}code{background:#eef1f4;padding:.1rem .3rem;border-radius:4px}.info{position:relative;display:inline-block;margin-left:.35rem;vertical-align:middle}.info .ib{width:20px;height:20px;min-height:0;padding:0;border-radius:50%;background:var(--brand-tint);color:var(--brand);font:italic 700 12px/17px Georgia,serif;text-align:center;border:1px solid var(--brand)}.info .tip{display:none;position:absolute;z-index:20;left:-6px;top:24px;width:260px;padding:.6rem .7rem;background:var(--navy);color:#fff;border-radius:10px;font:400 .8rem/1.4 Figtree,system-ui,sans-serif;text-align:left;white-space:normal;box-shadow:0 4px 14px #0003}.info:hover .tip,.info .tip.open{display:block}th .info .tip{left:auto;right:-6px}.card.result{background:var(--navy);color:#fff;border:0;padding:2rem}.card.result .muted{color:#d5c3c3}.card.result .big{color:#fff;font-size:4.5rem;margin:.2rem 0 .4rem}.card.result dl{max-width:420px;border-bottom:1px solid #5a1414;padding-bottom:.8rem;margin:0 0 1.2rem}.card.result label{color:#d5c3c3}.card.result input{background:#fff;color:var(--ink);border-color:#fff}.card.result .warn{color:#ffd9b0}.card.result b{color:#fff}.card.result button{background:#f1e9dc;color:#390101}.card.result button:hover{background:#fff}.card.result button:last-child{background:var(--brand);color:#fff}.card.result .info .ib{background:#5a1414;color:#fff;border-color:#d5c3c3}.warn{color:var(--warn)}.bars{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0}.barrow{display:grid;grid-template-columns:minmax(90px,170px) 1fr 56px;gap:.8rem;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;border-radius:10px;padding:0 .4rem}.barrow:hover{background:var(--bg)}.track{position:relative;height:14px;background:#e9eef3;border-radius:7px}.fill{display:block;height:100%;border-radius:7px}.fill.ok{background:var(--brand)}.fill.low{background:var(--warn)}.target{position:absolute;top:-5px;bottom:-5px;border-left:2px dashed var(--ink)}.bv{font-weight:600;text-align:right}.bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin:.6rem 0}.gstats span{display:block;font-size:.85rem;color:var(--muted)}.gstats b{font-family:var(--display);font-size:1.7rem;letter-spacing:-.02em}.guard h3{margin:0 0 .3rem}.stages{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.stage{background:#fff;color:var(--ink);border:1.5px solid var(--line);font-weight:500;min-height:44px;padding:.4rem 1rem;border-radius:999px}.stage b{margin-left:.35rem;font-family:var(--display)}.stage:hover{border-color:var(--navy)}.stage.on{background:var(--navy);color:#fff;border-color:var(--navy)}.tablecard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow-x:auto}.tablecard table{min-width:760px}.tablecard th{padding:.8rem;background:#fafbfc}.tablecard td{padding:.8rem}.tablecard tbody tr:last-child td{border-bottom:0}.tablecard tbody tr:hover{background:#fafbfc}.tablecard td a{font-weight:600;color:var(--navy)}.row+.grid,.row+.stages{margin-top:1.2rem}.legal{max-width:760px;margin:2rem auto;padding:2rem}.legal h1{margin-bottom:.2rem}.legal h2{font-size:1.1rem;margin:1.6rem 0 .4rem}.legal ul{padding-left:1.2rem}.legal li{margin:.3rem 0}.legal p,.legal li{line-height:1.55}.banner{background:var(--brand-tint);border:1.5px solid var(--brand);color:var(--ink);border-radius:12px;padding:.7rem 1rem;margin-bottom:1rem}.banner.bad{background:var(--warn-tint);border-color:var(--warn)}.banner a{font-weight:600;margin-left:.4rem}.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.seg button{background:transparent;color:var(--muted);border:0;border-radius:0;padding:.55rem 1.1rem}.seg button.on{background:var(--brand);color:#fff}.plans{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.plan ul{padding-left:1.1rem;margin:.8rem 0 1.2rem}.plan li{margin:.35rem 0}.plan.current{border-color:var(--brand);border-width:2px}.plan .price{margin:.4rem 0;color:var(--muted)}.plan .price span{font-family:var(--display);font-size:2.4rem;color:var(--heading);font-weight:700}button.secondary{background:#fff;color:var(--brand-dark);border:1.5px solid var(--brand)}
