@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--bg-0:#f3eee3;--bg-1:#ecf4f7;--surface:#ffffffeb;--surface-strong:#fff;--border:#ced9df;--text-main:#163239;--text-sub:#4f676e;--accent:#0f6f7c;--accent-strong:#0d5560;--positive-strong:#1c7c54;--neutral-ink:#2d4255;--warning:#b54828;--shadow-soft:0 16px 34px #11313a1f;--shadow-card:0 8px 20px #11313a14;color:var(--text-main);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Space Grotesk,Noto Sans JP,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 8% 12%, #fab05d3d, transparent 30%), radial-gradient(circle at 82% 4%, #0f6f7c2b, transparent 38%), linear-gradient(165deg, var(--bg-0), var(--bg-1))}button,input,select,textarea{font:inherit}.app-shell{max-width:1580px;margin:24px auto;padding:0 20px 26px}.auth-shell{max-width:860px}.auth-panel{margin-top:80px}.project-start-panel{margin-top:48px}.access-headline{margin:4px 0 8px;font-size:1.02rem}.hero{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:linear-gradient(130deg,#fffffffa,#eef6f9f2);border-radius:24px;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:26px 28px;display:grid}.hero h1{letter-spacing:-.03em;margin:10px 0 8px;font-size:clamp(1.8rem,2.6vw,2.8rem);line-height:1.07}.hero p{color:var(--text-sub);margin:0}.small-hint{color:var(--text-sub);margin-top:8px;font-size:.78rem}.eyebrow{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;background:#0f6f7c1f;border-radius:999px;margin:0;padding:4px 10px;font-size:.74rem;font-weight:700;display:inline-block}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.hero-actions label{color:var(--text-sub);gap:5px;font-size:.86rem;display:grid}.hero-actions select,.hero-actions button{min-height:42px}.tab-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.project-panel{margin-top:14px}.tab-button{border:1px solid var(--border);color:var(--text-main);text-align:left;cursor:pointer;background:#ffffffb8;border-radius:12px;gap:4px;padding:12px;transition:transform .16s,box-shadow .2s,border-color .2s;display:grid}.tab-button span{font-size:.91rem;font-weight:700}.tab-button small{color:var(--text-sub);font-size:.76rem}.tab-button.active{box-shadow:var(--shadow-card);background:linear-gradient(150deg,#dcf3f7d9,#fffffff0);border-color:#0d556073;transform:translateY(-1px)}.view-stage{margin-top:14px}.workflow-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.workflow-sidebar{position:sticky;top:12px}.workflow-main,.result-column{flex-direction:column;gap:14px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:18px;padding:18px}.panel>header{margin-bottom:10px}.panel>header p{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.77rem;font-weight:700}.panel>header h2{letter-spacing:-.02em;margin:6px 0 0;font-size:1.22rem}.panel-description{color:var(--text-sub);margin:0 0 12px;font-size:.86rem}.progress-wrap{margin-bottom:12px}.progress-meta{color:var(--text-sub);justify-content:space-between;align-items:baseline;font-size:.78rem;display:flex}.progress-meta strong{color:var(--text-main);font-size:.92rem}.progress-track{background:#0f6f7c1f;border-radius:999px;width:100%;height:8px;margin-top:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-strong));border-radius:999px;height:100%}.workflow-step-list{gap:8px;display:grid}.workflow-step-button{border:1px solid var(--border);cursor:pointer;text-align:left;background:#ffffffb3;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px;display:flex}.workflow-step-button strong{font-size:.85rem;display:block}.workflow-step-button small{color:var(--text-sub);font-size:.73rem}.workflow-step-button.active{background:#e1f2f6db;border-color:#0d556073}.workflow-step-button.locked{opacity:.6}.check{border:1px solid var(--border);min-width:22px;height:22px;color:var(--text-sub);background:#ffffffe6;border-radius:999px;place-items:center;font-size:.74rem;display:grid}.check.done{color:#1c7c54;background:#1c7c5424;border-color:#1c7c5466}.workflow-nav-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.section-box{border:1px solid var(--border);background:#f8fcfde6;border-radius:14px;margin-top:12px;padding:12px}.section-box h4{margin:0 0 8px;font-size:.88rem}.entity-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:12px;display:grid}.entity-list{gap:8px;display:grid}.entity-item{border:1px solid var(--border);text-align:left;background:#ffffffb8;border-radius:12px;gap:3px;width:100%;padding:10px;display:grid}.entity-item strong{font-size:.84rem}.entity-item small{color:var(--text-sub);font-size:.74rem}.entity-item.active{background:#e1f2f6db;border-color:#0d556073}.inline-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.row-actions{gap:6px;display:flex}.field-grid{gap:10px;display:grid}.field-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:6px;display:grid}.field.compact{min-width:180px}.field>span{color:var(--text-sub);font-size:.83rem}.checkbox-field{align-content:end}.checkbox-field input{justify-self:start}.field-input-wrap{align-items:center;gap:8px;display:flex}.field-input-wrap small{color:var(--text-sub);font-size:.8rem}input,select,textarea,button{border:1px solid var(--border);background:var(--surface-strong);color:var(--text-main);font:inherit;border-radius:10px;padding:10px 12px}input:focus,select:focus,textarea:focus,button:focus{outline-offset:1px;outline:2px solid #0d556052}button{cursor:pointer;font-weight:600}button:hover{filter:brightness(.98)}button.ghost,.toggle{background:#ffffffa6}button:disabled{opacity:.45;cursor:not-allowed}.error-text{color:var(--warning);margin:10px 0 0;font-size:.84rem}.success-text{color:var(--positive-strong);margin:10px 0 0;font-size:.84rem}.notes-list{color:var(--text-sub);gap:4px;margin:10px 0 0;padding-left:18px;font-size:.82rem;display:grid}.seasonality-box{border:1px solid var(--border);background:#f8fcfde6;border-radius:14px;margin-top:12px;padding:12px}.seasonality-box h4,.sensitivity-block h4,.schedule-header h4,.trend-grid h4{margin:0;font-size:.88rem}.seasonality-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.seasonality-grid label{gap:4px;display:grid}.seasonality-grid span{color:var(--text-sub);font-size:.75rem}.schedule-editor{margin-top:14px}.schedule-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.schedule-table-wrap,.table-wrap,.scenario-editor-wrap{border:1px solid var(--border);background:#ffffffb8;border-radius:12px;overflow:auto}.table-wrap.compact{margin-top:8px}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #ced9dfb8;padding:9px 10px;font-size:.82rem}th{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.03em;background:#0f6f7c14;font-size:.76rem}td input,td select{width:100%;min-width:92px;padding:6px 8px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.compact-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{border:1px solid var(--border);background:linear-gradient(150deg,#fffffff2,#f4fafce6);border-radius:12px;gap:4px;padding:10px;display:grid}.kpi-card span{color:var(--text-sub);font-size:.74rem}.kpi-card strong{font-size:.97rem}.warnings{color:var(--warning);gap:4px;margin:12px 0 0;padding-left:18px;font-weight:500;display:grid}.trend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.trend-grid>div{border:1px solid var(--border);background:#ffffffc2;border-radius:12px;padding:10px}.trend-grid p{color:var(--text-sub);margin:6px 0 0;font-size:.78rem}.trend-grid svg{width:100%;height:86px;margin-top:8px;display:block}.zero-line{stroke:#1632395c;stroke-width:.8px;stroke-dasharray:2}.sensitivity-block+.sensitivity-block{margin-top:10px}.toggle{margin-bottom:10px}footer{color:var(--text-sub);text-align:right;margin-top:14px;font-size:.82rem}@media (width<=1340px){.workflow-layout,.entity-layout{grid-template-columns:1fr}.workflow-sidebar{position:static}.tab-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.app-shell{margin:10px auto;padding:0 10px 14px}.hero{border-radius:16px;grid-template-columns:1fr;padding:16px}.hero-actions{justify-content:flex-start}.tab-nav,.field-grid.two-col,.seasonality-grid,.kpi-grid,.compact-kpi,.trend-grid{grid-template-columns:1fr}.panel{padding:14px}.workflow-nav-buttons{justify-content:stretch}.workflow-nav-buttons button{flex:100%}table{min-width:560px}footer{text-align:left}}
