:root{font-family:system-ui,sans-serif;color:#1a1a1a;background:#f5f6f8}*{box-sizing:border-box}body{margin:0}a{color:#2563eb}button{padding:.45rem .75rem;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer;font:inherit}button.primary{background:#2563eb;color:#fff;border-color:#2563eb}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;padding:.4rem;font:inherit;border:1px solid #ccc;border-radius:6px}label{display:block;font-size:.85rem;margin-bottom:.25rem;color:#444}.card{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #00000014;margin-bottom:1rem}.error{color:#b91c1c}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.page-header h1{margin:0;font-size:1.35rem}.toolbar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}table.data-table{width:100%;border-collapse:collapse;font-size:.9rem}table.data-table th,table.data-table td{border-bottom:1px solid #e5e7eb;padding:.5rem .6rem;text-align:left}table.data-table th{background:#f9fafb;font-weight:600}table.data-table tr:hover td{background:#f8fafc}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:#fff;border-radius:10px;width:min(920px,98vw);max-height:92vh;overflow:auto;padding:1.25rem}.steps{display:flex;gap:.35rem;margin-bottom:1rem;font-size:.75rem;flex-wrap:wrap}.step{padding:.25rem .45rem;border-radius:4px;background:#eee;white-space:nowrap}.step.active{background:#2563eb;color:#fff}.wiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-wide,.field-check,.wiz-section{grid-column:1 / -1}.wiz-section{margin:.5rem 0 0;font-size:.85rem;font-weight:600;color:#166534;background:#dcfce7;padding:.35rem .5rem;border-radius:4px}.preview{background:#f0f4ff;padding:.75rem;border-radius:6px;font-size:.85rem;margin-top:.5rem}.preview-table{width:100%;border-collapse:collapse}.preview-table td{padding:.25rem .5rem;border-bottom:1px solid #dbeafe}.preview-table td:last-child{text-align:right}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(400px,100%);background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000014;padding:28px 24px}.login-card h1{margin:0 0 6px;font-size:1.35rem}.login-card .sub{color:#666;font-size:.9rem;margin-bottom:20px}.login-err{color:#b42318;font-size:.875rem;min-height:1.25rem;margin-top:8px}.app-shell{padding:1.25rem 1.5rem;max-width:1240px;margin:0 auto}.muted{color:#9ca3af}.linklike{color:#2563eb;text-decoration:none;font-weight:600}.linklike:hover{text-decoration:underline}.section-title{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin:0 0 .6rem}.metrics-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem}.metric{background:#fff;border:1px solid #eef0f3;border-radius:10px;padding:.9rem 1rem;box-shadow:0 1px 2px #0000000a}.metric .label{font-size:.78rem;color:#6b7280;margin-bottom:.3rem}.metric .value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.metric.accent .value{color:#2563eb}.bignum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin-bottom:1.5rem}.bignum{background:#fff;border:1px solid #eef0f3;border-left:4px solid var(--c, #cbd5e1);border-radius:10px;padding:.7rem .85rem;box-shadow:0 1px 2px #0000000a}.bignum.zero{opacity:.5}.bignum .n{font-size:1.9rem;font-weight:750;line-height:1;letter-spacing:-.02em}.bignum .s{margin-top:.4rem}.bignum .m{font-size:.72rem;color:#9ca3af;margin-top:.35rem}.chip{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--cbg, #eef2f7);color:var(--cfg, #334155);white-space:nowrap}.data-table th.num,.data-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem 1.25rem}.kv-grid .muted{font-size:.78rem;display:block;margin-bottom:.15rem}.form-block{margin-bottom:1.1rem}.form-block-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6b7280;border-bottom:1px solid #eef0f3;padding-bottom:.35rem;margin-bottom:.7rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem .9rem}.form-grid .field-wide{grid-column:1 / -1}.svc-draft{background:#f8fafc;border:1px solid #eef0f3;border-radius:8px;padding:.8rem}.inn-name{min-height:2.1rem;display:flex;align-items:center}.inn-ok{color:#15803d;font-weight:600;font-size:.9rem}.inn-loading{display:inline-flex;align-items:center;gap:.4rem;color:#6b7280;font-size:.85rem}.spinner{width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.rent-dash{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.rent-gauge{text-align:center;min-width:120px}.rent-margin{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;line-height:1}.rent-bar-wrap{flex:1;min-width:280px}.rent-bar{display:flex;height:34px;border-radius:8px;overflow:hidden;font-size:.75rem;color:#fff;font-weight:600}.rent-seg{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden}.rent-seg.cost{background:#f97316}.rent-seg.profit{background:#16a34a}.rent-legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.6rem;font-size:.82rem}.rent-legend .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem}.dot.cost{background:#f97316}.dot.profit{background:#16a34a}.plancalc-body{display:grid;grid-template-columns:1fr 300px;gap:1rem}.plancalc-preview{background:#f0f4ff;border-radius:8px;padding:.75rem;align-self:start;position:sticky;top:0}@media(max-width:760px){.plancalc-body{grid-template-columns:1fr}}.calc-group{margin-bottom:1rem}.calc-group-title{font-weight:700;font-size:.9rem;margin-bottom:.4rem;color:#1d4ed8}.calc-card{border:1px solid #eef0f3;border-radius:8px;padding:.7rem .8rem;margin-bottom:.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.calc-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem .9rem;flex:1}.calc-field{display:flex;flex-direction:column;font-size:.85rem}.calc-field .muted{font-size:.72rem}.calc-actions{display:flex;flex-direction:column;gap:.35rem;white-space:nowrap}
