@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;700&family=Sora:wght@300;400;600;700&display=swap";:root{font-family:Sora,system-ui,sans-serif;line-height:1.6;font-weight:400;color:#1f1f22;background-color:#f5f1ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #1f1f22;--muted: #5f5b57;--accent: #109287;--warning: #c65435;--surface: #ffffff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-image:radial-gradient(circle at 15% 20%,rgba(16,146,135,.18),transparent 45%),radial-gradient(circle at 85% 10%,rgba(243,111,74,.18),transparent 46%),linear-gradient(180deg,#ffffffd9,#f5f1eaeb);background-attachment:fixed;color:var(--ink)}a{color:inherit;text-decoration:none}#root{min-height:100vh}.page{min-height:100vh;padding:32px clamp(20px,4vw,48px) 48px;display:flex;flex-direction:column;gap:32px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px clamp(20px,4vw,48px)}.auth-card{width:min(520px,100%);background:#fffffff0;border-radius:24px;padding:32px;border:1px solid rgba(32,32,36,.08);box-shadow:0 24px 60px #241c122e;display:grid;gap:16px}.auth-eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:700;color:var(--accent)}.auth-card h1{margin:0;font-family:Fraunces,serif;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--ink)}.auth-note{margin:0;color:var(--muted)}.auth-actions{display:flex;gap:12px;flex-wrap:wrap}.auth-meta{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.auth-error{border-radius:14px;padding:12px 14px;background:#c654351f;border:1px solid rgba(198,84,53,.3);color:#6a2f20;font-size:.88rem;display:grid;gap:6px}.auth-error-code{font-family:Sora,system-ui,sans-serif;font-weight:600;font-size:.8rem;color:#8a3a27}.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);gap:28px;padding:clamp(24px,3vw,36px);border-radius:28px;background:linear-gradient(135deg,#ffffffeb,#f5ede2eb);border:1px solid rgba(32,32,36,.08);position:relative;overflow:hidden;box-shadow:0 24px 60px #241c122e;animation:floatIn .6s ease both}.hero:after{content:"";position:absolute;inset:-40% 20% auto -30%;height:260px;background:radial-gradient(circle at 20% 20%,rgba(16,146,135,.3),transparent 70%);opacity:.8;pointer-events:none}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px}.eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:700;color:var(--accent)}.hero h1{font-family:Fraunces,serif;font-size:clamp(2.4rem,4vw,3.4rem);margin:0;color:var(--ink)}.subtitle{font-size:1.05rem;color:var(--muted);max-width:52ch;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.project-list{display:grid;gap:12px}.project-item{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid rgba(32,32,36,.1);border-radius:14px;padding:12px 14px;background:#ffffffe6}.project-item.active{border-color:#10928780;box-shadow:0 10px 20px #10928729}.project-item-main h3{margin:0 0 4px;font-size:1rem;color:var(--ink)}.project-item-main p{margin:0;color:var(--muted);font-size:.82rem}.project-item-main .project-id{font-family:Sora,system-ui,sans-serif;font-size:.78rem;color:#1f1f24b3}.project-item-actions{display:flex;gap:8px;flex-wrap:wrap}.status-row{display:flex;flex-wrap:wrap;gap:10px}.status-chip{padding:6px 12px;border-radius:999px;background:#1092871f;color:var(--accent);font-weight:600;font-size:.78rem}.inline-status{margin:10px 0 0;padding:8px 12px;border-radius:12px;background:#1092871f;color:var(--accent);font-size:.86rem;font-weight:600}.hero-panel{position:relative;z-index:1;display:grid;gap:12px}.stat{background:#ffffffe6;border-radius:16px;padding:16px 18px;border:1px solid rgba(32,32,36,.08);display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 24px #1c1c2014}.stat-label{font-size:.85rem;color:var(--muted)}.stat-value{font-size:1.4rem;font-weight:700;color:var(--ink)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:28px}.report-panel{animation:floatIn .5s ease both}.report-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.report-tab{border-radius:999px;border:1px solid rgba(16,146,135,.2);background:#10928714;color:var(--accent);padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.report-tab.active{background:#10928733;border-color:#10928766}.report-content,.report-stack{display:flex;flex-direction:column;gap:16px}.report-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.report-card{background:#fff;border-radius:16px;padding:16px 18px;border:1px solid rgba(32,32,36,.08);box-shadow:0 12px 24px #1c1c2014}.report-card h3{margin:0 0 12px;font-size:1.05rem}.report-rows{display:flex;flex-direction:column;gap:10px}.report-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(32,32,36,.1);padding-bottom:8px;font-size:.9rem}.report-row:last-child{border-bottom:none}.report-row.column{flex-direction:column;align-items:flex-start}.report-row.column span{font-weight:600}.report-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.report-inline{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#10928729;color:var(--accent);font-size:.75rem;margin-left:6px}.report-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.report-metric{background:#ffffffe6;border-radius:14px;padding:12px 14px;border:1px solid rgba(32,32,36,.08);display:flex;justify-content:space-between;align-items:center}.report-metric strong{font-size:1.2rem}.report-chart h4{margin:0 0 10px;font-size:.95rem}.chart-rows{display:flex;flex-direction:column;gap:8px}.chart-row{display:grid;grid-template-columns:80px 1fr 40px;gap:10px;align-items:center;font-size:.8rem}.chart-track{height:8px;background:#20202414;border-radius:999px;overflow:hidden}.chart-bar{height:100%;background:var(--accent);border-radius:999px}.chart-note{margin:10px 0 0;font-size:.8rem;color:var(--muted)}.report-document{position:fixed;left:-9999px;top:0;width:960px;padding:32px;background:#f6f3ee;color:#1f1f24;pointer-events:none}.report-doc-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.report-doc-header h1{margin:0 0 6px;font-size:28px}.report-doc-header p{margin:0;font-size:13px;color:#6c6c72}.report-doc-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6c6c72}.report-doc-sections{margin-top:24px;display:flex;flex-direction:column;gap:20px}.report-doc-section{display:flex;flex-direction:column;gap:12px}.report-doc-tab{display:inline-flex;align-self:flex-start;padding:6px 14px;border-radius:999px;background:#1092872e;color:#0a5f57;font-size:.82rem;font-weight:600}.left-column,.right-column{display:flex;flex-direction:column;gap:24px}.panel{background:var(--surface);border-radius:22px;padding:22px 24px;border:1px solid rgba(32,32,36,.08);box-shadow:0 16px 32px #211e1814;animation:floatIn .5s ease both;animation-delay:var(--delay, 0s)}.panel.generating{border-color:#10928773;box-shadow:0 18px 36px #10928729}.panel.sticky{position:sticky;top:24px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.panel-status{align-self:center;padding:4px 10px;border-radius:999px;background:#10928729;color:var(--accent);font-size:.75rem;font-weight:600}.step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.step-item{display:flex}.step-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(32,32,36,.12);background:#fff;color:var(--ink);font:inherit;text-align:left;transition:border .2s ease,box-shadow .2s ease,transform .2s ease}.step-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.step-title{display:block;font-weight:600}.step-desc{display:block;font-size:.82rem;color:var(--muted)}.step-badge{font-size:.72rem;padding:4px 8px;border-radius:999px;background:#1092871f;color:var(--accent);font-weight:600;white-space:nowrap}.step-badge.loading{background:#f36f4a2e;color:var(--warning)}.step-item.current .step-button{border-color:#10928780;box-shadow:0 10px 20px #10928726}.step-item.generating .step-button{border-color:#109287b3;box-shadow:0 12px 26px #10928733}.step-item.done .step-badge{background:#10928733}.step-item.locked .step-badge{background:#20202414;color:var(--muted)}.panel-header h2{margin:0;font-size:1.4rem;color:var(--ink)}.panel-header p{margin:6px 0 0;color:var(--muted);font-size:.95rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-grid.single{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}.field span{font-weight:600;color:var(--ink)}input,select,textarea{border-radius:12px;border:1px solid rgba(32,32,36,.16);padding:10px 12px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--ink);outline:none;transition:border .2s ease,box-shadow .2s ease}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#109287cc;box-shadow:0 0 0 3px #1092872e}.list{display:flex;flex-direction:column;gap:16px}.list-item{background:#fcfaf6e6;border-radius:16px;padding:16px 18px;border:1px solid rgba(32,32,36,.08);display:flex;flex-direction:column;gap:12px}.list-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.chips{display:flex;flex-direction:column;gap:10px}.chip-label{font-size:.85rem;font-weight:600;color:var(--muted)}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#1092871f;color:var(--accent);font-size:.82rem;cursor:pointer}.chip.solid{background:#1092872e;color:var(--accent);cursor:default}.chip-key{font-weight:700;color:var(--accent)}.chip-text{color:var(--ink)}.chip input{accent-color:var(--accent)}.empty{font-size:.85rem;color:var(--muted)}.btn{border-radius:999px;border:1px solid transparent;padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn.primary{background:var(--accent);color:#fff}.btn.ghost{background:#1092871f;color:var(--accent);border:1px solid rgba(16,146,135,.3)}.btn.small{padding:6px 12px;font-size:.82rem}.btn.text{background:none;color:var(--muted);border:none;padding:0}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #10928740}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn.text:hover{box-shadow:none;color:var(--ink)}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-text{font-size:.85rem;color:var(--muted);margin-top:6px}.status-text.loading{color:var(--accent);font-weight:600}.status-sub{margin-top:6px;font-size:.8rem;color:var(--muted)}.hint-list{margin-top:14px;padding:12px 14px;border-radius:14px;background:#10928714;color:var(--ink);font-size:.88rem}.hint-list strong{display:block;margin-bottom:6px;color:var(--accent)}.hint-list ul{margin:6px 0 0;padding-left:18px}.hint-list p{margin:6px 0 0;color:var(--muted)}.hint{margin-top:10px;font-size:.85rem;color:var(--muted)}.flow-note{margin-top:8px;font-size:.84rem;color:var(--muted)}.ai-edit{margin-top:14px;padding:12px 14px;border-radius:14px;background:#1092870f;border:1px solid rgba(16,146,135,.16)}.ai-edit .panel-actions{justify-content:flex-start;margin-top:8px}.ai-edit textarea{min-height:90px}.checks{display:grid;gap:12px}.check{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;font-size:.9rem;background:#f0f1f3e6}.check.ok{background:#1092871f;color:var(--accent)}.check.warn{background:#f36f4a24;color:var(--warning)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes floatIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.hero,.content-grid{grid-template-columns:1fr}.panel.sticky{position:static}}@media(max-width:640px){.page{padding:20px 16px 32px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%;justify-content:center}.report-row{flex-direction:column;align-items:flex-start}.chart-row{grid-template-columns:1fr}.chart-value{text-align:left}}
