@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--bg:#0d1410;--bg-soft:#121c16;--card:rgba(19,28,23,0.82);--card-strong:#18231c;--text:#edf2e8;--muted:#93a293;--line:rgba(187,204,189,0.12);--line-strong:rgba(187,204,189,0.2);--primary:#5ed087;--primary-deep:#2f9f58;--secondary:#f1a94f;--danger:#ef6b64;--info:#63c2df;--shadow:0 30px 80px rgba(0,0,0,0.35)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at top left,rgba(94,208,135,.1),transparent 28%),radial-gradient(circle at bottom right,rgba(241,169,79,.08),transparent 26%),linear-gradient(180deg,#09100c 0,var(--bg) 100%);color:var(--text);font-family:Space Grotesk,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.mono,code{font-family:JetBrains Mono,monospace}.app-shell{position:relative;min-height:100vh;overflow:hidden;padding:0 1.5rem 2rem}.ambient{position:fixed;pointer-events:none;inset:auto;border-radius:999px;filter:blur(120px);opacity:.8}.ambient-primary{top:-10rem;left:-8rem;width:34rem;height:34rem;background:rgba(94,208,135,.12)}.ambient-secondary{right:-8rem;bottom:-10rem;width:30rem;height:30rem;background:rgba(241,169,79,.1)}.app-footer,.app-header,.app-main,.app-tabs{position:relative;z-index:1;width:min(100%,1120px);margin:0 auto}.app-header{justify-content:space-between;gap:1rem;min-height:4.5rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-header,.brand-lockup{display:flex;align-items:center}.brand-lockup{gap:.9rem}.brand-mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.9rem;background:rgba(94,208,135,.14);color:var(--primary);font-weight:700}.brand-lockup h1{margin:0;font-size:1.05rem}.brand-lockup p{margin:.15rem 0 0;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.app-footer,.header-actions,.hero-chips,.panel-head,.stat-head,.threshold-line{display:flex;align-items:center;gap:.75rem}.header-actions{flex-wrap:wrap;justify-content:flex-end}.network-badge,.outline-pill,.pill,.soft-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;font-size:.72rem;border:1px solid var(--line-strong)}.network-badge{color:var(--primary);background:rgba(94,208,135,.08)}.network-badge.compact{padding-inline:.65rem}.network-dot{width:.45rem;height:.45rem;border-radius:999px;background:var(--primary);box-shadow:0 0 0 0 rgba(94,208,135,.5);animation:pulse 1.8s infinite}.danger-button,.ghost-button,.primary-button,.secondary-button{border:1px solid transparent;border-radius:.9rem;padding:.8rem 1rem;transition:border-color .16s ease,transform .16s ease,background .16s ease,color .16s ease}.ghost-button{background:rgba(24,35,28,.7);border-color:var(--line);color:var(--text)}.primary-button{background:var(--primary);color:#102015}.secondary-button{background:var(--secondary);color:#231707}.danger-button{background:rgba(239,107,100,.92);color:#220b09}.danger-button:hover,.ghost-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1.25rem;background:rgba(5,9,7,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(100%,40rem);border:1px solid var(--line-strong);border-radius:1.5rem;background:rgba(19,28,23,.96);box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}.modal-error{border-color:rgba(239,107,100,.32)}.modal-success{border-color:rgba(94,208,135,.32)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.2rem .9rem;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:1rem}.modal-head p,.modal-message{margin:.35rem 0 0;color:var(--muted);line-height:1.6}.modal-body{display:grid;grid-gap:1rem;gap:1rem;padding:1.1rem 1.2rem 1.2rem}.modal-close{border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;background:rgba(255,255,255,.04);color:var(--text)}.modal-link,.payout-link{color:var(--primary);text-decoration:none}.modal-link:hover,.payout-link:hover{text-decoration:underline}.status-checklist{display:grid;grid-gap:.9rem;gap:.9rem}.status-item{display:flex;align-items:flex-start;gap:.9rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.03)}.status-item.done{border-color:rgba(94,208,135,.28);background:rgba(94,208,135,.06)}.status-marker{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text);font-size:.8rem;font-weight:700}.status-item.done .status-marker{background:rgba(94,208,135,.16);color:var(--primary)}.status-copy{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.status-copy strong{font-size:.92rem}.status-copy p{margin:0;color:var(--muted);line-height:1.55}.app-tabs{display:flex;align-items:center;gap:.3rem;padding-top:.75rem;border-bottom:1px solid var(--line);overflow-x:auto}.tab-button{border:none;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:.9rem .2rem;margin-right:1.4rem}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-links{margin-left:auto;display:flex;gap:1rem;color:var(--muted);font-size:.9rem}.app-main{padding-top:2rem}.dashboard-stack,.owner-stack{display:grid;grid-gap:1.5rem;gap:1.5rem}.card,.hero-panel,.panel{border:1px solid var(--line);border-radius:1.4rem;background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-panel{padding:1.8rem}.hero-copy{display:grid;grid-gap:.9rem;gap:.9rem}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--primary)}.hero-copy h2{margin:0;max-width:11ch;font-size:clamp(2.4rem,6vw,4.8rem);line-height:.95}.hero-copy p,.inline-message,.label,.muted,.panel-head p{color:var(--muted)}.hero-copy p{margin:0;max-width:58ch;line-height:1.6}.hero-chips{flex-wrap:wrap;margin-top:1rem}.soft-pill{background:rgba(255,255,255,.03)}.pill.warning,.soft-pill.warning{color:var(--secondary);border-color:rgba(241,169,79,.25)}.pill{background:rgba(94,208,135,.08);color:var(--primary)}.inline-message{margin:.8rem 0 0;font-size:.84rem}.inline-message.error{color:#ff9c96}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem}.stat-card{padding:1.2rem;border:1px solid var(--line);border-radius:1.2rem;background:rgba(24,35,28,.72)}.stat-head{justify-content:space-between;margin-bottom:.8rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stat-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:.7rem;background:rgba(94,208,135,.12);color:var(--primary);font-size:.76rem;font-weight:700}.metric,.stat-value{font-family:JetBrains Mono,monospace;font-size:1.9rem;line-height:1}.content-grid,.owner-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:start}.contract-card,.full-card,.owner-summary,.rainfall-card,.wide-card{padding:1.35rem}.card,.panel{display:grid;align-content:start}.panel-head{justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}.card h2,.panel-head h3{margin:0;font-size:1rem}.card p,.panel-head p{margin:.3rem 0 0;font-size:.84rem}.outline-pill{color:var(--secondary);border-color:rgba(241,169,79,.22)}.rainfall-chart{display:flex;align-items:flex-end;gap:.75rem;height:14rem}.rainfall-bar-group{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.55rem}.rainfall-bar-time,.rainfall-bar-value{font-family:JetBrains Mono,monospace;font-size:.65rem}.rainfall-bar-value{color:var(--muted)}.rainfall-bar-value.danger{color:#ff9c96}.rainfall-bar{width:100%;min-height:.8rem;border-radius:.8rem .8rem 0 0;background:linear-gradient(180deg,rgba(94,208,135,.18),rgba(94,208,135,.75))}.rainfall-bar.danger{background:linear-gradient(180deg,rgba(239,107,100,.24),rgba(239,107,100,.82))}.rainfall-bar-time{color:var(--muted)}.threshold-line{margin-top:1rem;color:var(--danger);font-size:.76rem}.threshold-line span{height:1px;flex:1 1;background:linear-gradient(90deg,transparent,rgba(239,107,100,.45),transparent)}.card h2{margin-bottom:.5rem}.list,.stack,.status-row{display:grid;grid-gap:.9rem;gap:.9rem}.field{display:grid;grid-gap:.45rem;gap:.45rem;color:var(--muted);font-size:.82rem}.field input{width:100%;border:1px solid var(--line);border-radius:.95rem;padding:.8rem .9rem;background:rgba(255,255,255,.03);color:var(--text)}.buy-policy-card .policy-terms,.contract-list,.owner-actions{display:grid;grid-gap:.8rem;gap:.8rem}.contract-row,.payout-row,.policy-row,.policy-term{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-section,.contract-row,.owner-summary,.payout-row,.policy-row,.policy-settlement-card,.reactivity-stage{border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.03)}.contract-row,.payout-row,.policy-row{padding:.9rem 1rem;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.policy-row-reactive{border-color:rgba(94,208,135,.42);background:linear-gradient(135deg,rgba(94,208,135,.16),rgba(94,208,135,.04)),rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(94,208,135,.1),0 18px 40px rgba(94,208,135,.12);transform:translateY(-1px)}.payout-row-left,.policy-row-left{display:flex;align-items:center;gap:.85rem}.policy-status-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.8rem;background:rgba(94,208,135,.14);color:var(--primary);font-weight:700}.policy-status-icon.inactive{background:rgba(241,169,79,.12);color:var(--secondary)}.payout-meta,.policy-meta{display:grid;grid-gap:.2rem;gap:.2rem}.policy-sidecar{display:grid;grid-gap:.55rem;gap:.55rem;min-width:min(24rem,100%);justify-items:end}.policy-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;width:100%}.policy-kpi{display:grid;grid-gap:.15rem;gap:.15rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.03)}.policy-kpi-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.payout-title-row,.policy-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.table-badge{padding:.2rem .55rem;border-radius:999px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted)}.table-badge.active{color:var(--primary);border-color:rgba(94,208,135,.28)}.table-badge.settled{color:var(--secondary);border-color:rgba(241,169,79,.24)}.table-badge.reactive{color:var(--primary);border-color:rgba(94,208,135,.32);background:rgba(94,208,135,.08)}.payout-caption,.policy-caption{font-size:.78rem;color:var(--muted)}.payout-value,.policy-value,.reactivity-value,.vault-metric{font-family:JetBrains Mono,monospace}.payout-value,.policy-value{font-size:.9rem}.policy-settlement-card{padding:1rem}.vault-metric{font-size:2.2rem;margin:0 0 .9rem}.vault-meter{width:100%;height:.55rem;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06)}.vault-meter-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--secondary),var(--primary))}.owner-summary{padding:1.35rem}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.1rem;gap:1.1rem}.admin-section{padding:1.2rem}.admin-section h4{margin:0 0 .35rem;font-size:1rem}.admin-helper{margin:0;font-size:.82rem;color:var(--muted)}.owner-panel-card{gap:.4rem}.admin-section-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1rem}.admin-section-mark{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.8rem;background:rgba(94,208,135,.14);color:var(--primary);font-weight:700;flex-shrink:0}.owner-actions{gap:1rem}.owner-action-row{display:flex;justify-content:flex-start}.owner-action-row-full>button{width:100%}.admin-summary-band{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .95rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.04)}.button-row .danger-button,.button-row .ghost-button,.owner-action-row .secondary-button{min-height:3rem}.button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.explanation-card{border-color:rgba(94,208,135,.24)}.explanation-copy{display:flex;align-items:flex-start;gap:.9rem}.explanation-copy .stack{flex:1 1;min-width:0}.explanation-mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.8rem;background:rgba(94,208,135,.14);color:var(--primary);font-weight:700;flex-shrink:0}.explanation-heading{margin:0 0 .4rem;color:var(--primary);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.explanation-status-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.explanation-note{margin:0;font-size:.8rem;color:var(--muted)}.reactivity-card{padding:1.35rem;background:radial-gradient(circle at top right,rgba(94,208,135,.08),transparent 30%),rgba(19,28,23,.86)}.reactivity-header{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin:.6rem 0 1rem;flex-wrap:wrap}.reactivity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.reactivity-stage{padding:1rem}.reactivity-stage .label{font-size:.72rem;margin-bottom:.35rem}.reactivity-stage .reactivity-value{font-size:.95rem}.app-footer{justify-content:space-between;padding:1.2rem 0 .2rem;margin-top:2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(94,208,135,.45)}70%{box-shadow:0 0 0 10px rgba(94,208,135,0)}to{box-shadow:0 0 0 0 rgba(94,208,135,0)}}@media (max-width:960px){.admin-grid,.button-row,.content-grid,.owner-grid,.reactivity-grid,.stats-grid{grid-template-columns:1fr}.app-shell{padding-inline:1rem}.app-footer,.app-header,.app-tabs,.panel-head,.reactivity-header{align-items:flex-start}.tab-links{display:none}.hero-copy h2{max-width:none;font-size:2.8rem}.rainfall-chart{gap:.45rem}.contract-row,.payout-row,.policy-row{flex-direction:column;align-items:flex-start}.policy-kpis,.policy-sidecar{width:100%;justify-items:start}.policy-kpis{grid-template-columns:1fr}.policy-term{align-items:flex-start;gap:.3rem}.modal-head,.policy-term,.status-item{flex-direction:column}.modal-close{align-self:stretch}}