:root{--anpe-blue:#00a9d6;--anpe-cyan:#00d9ff;--anpe-green:#00c95a;--ink:#143044;--muted:#657985;--line:#d9e5ea;--bg:#f3f8fa;--white:#fff;--danger:#b42318;--warning:#946200}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.45}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1180px;margin:auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,var(--anpe-cyan),var(--anpe-green));display:grid;place-items:center;color:#043446;font-weight:900}.brand strong{display:block;font-size:1.08rem}.brand small{display:block;color:var(--muted)}.admin-link,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 17px;font-weight:700;text-decoration:none;cursor:pointer}.admin-link{color:#087e9e;background:#e8faff}.button{background:#087e9e;color:#fff}.button.secondary{background:#e7f3f6;color:#0a6178}.button.green{background:#0a9f53}.shell{max-width:1180px;margin:32px auto;padding:0 22px}.intro h1{margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em}.intro p{max-width:780px;margin:0;color:var(--muted);font-size:1.05rem}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin-top:22px;box-shadow:0 12px 32px rgba(19,56,75,.06)}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.field label{display:block;font-weight:750;margin-bottom:7px}.field select,.field input{width:100%;min-height:46px;border:1px solid #b9cbd3;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit}.field select:focus,.field input:focus{outline:3px solid rgba(0,217,255,.22);border-color:#009dc7}.notice{border-left:5px solid var(--anpe-blue);background:#edfaff;padding:14px 16px;border-radius:10px;margin-top:18px;color:#315666}.notice.warning{border-color:#f3b51b;background:#fff8e6;color:#765000}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}.metric{border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff,#f8fcfd)}.metric span{display:block;color:var(--muted);font-size:.9rem}.metric strong{display:block;font-size:1.65rem;margin-top:3px}.metric.accent{border-top:4px solid var(--anpe-green)}h2{margin:0 0 14px;font-size:1.3rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line)}th{background:#eaf7fa;color:#215064;font-size:.88rem}tr:last-child td{border-bottom:0}.pill{display:inline-block;border-radius:99px;padding:4px 9px;background:#e7f8ed;color:#08713e;font-weight:700;font-size:.82rem}.pill.partial{background:#fff3d9;color:#8a5b00}.empty{padding:28px;text-align:center;color:var(--muted)}.estimator{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.estimate-result{border-radius:16px;background:#083e52;color:#fff;padding:22px}.estimate-result strong{font-size:2rem;display:block}.estimate-result p{margin:6px 0 0;color:#d6f3fb}.login{max-width:470px;margin:65px auto}.error,.success{border-radius:11px;padding:13px 15px;margin:14px 0}.error{background:#fff0ee;color:var(--danger);border:1px solid #f2c1bc}.success{background:#eaf9f0;color:#08713e;border:1px solid #bce3cb}.admin-nav{display:flex;gap:10px;flex-wrap:wrap}.admin-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.small{font-size:.9rem;color:var(--muted)}code{background:#edf3f5;padding:2px 5px;border-radius:5px}.footer{max-width:1180px;margin:30px auto;padding:0 22px 30px;color:var(--muted);font-size:.88rem}@media(max-width:850px){.filter-grid,.summary-grid,.admin-cards{grid-template-columns:1fr 1fr}.estimator{grid-template-columns:1fr}}@media(max-width:560px){.topbar-inner{align-items:flex-start}.filter-grid,.summary-grid,.admin-cards{grid-template-columns:1fr}.shell{margin-top:22px;padding:0 14px}.panel{padding:18px;border-radius:16px}.brand small{display:none}}
