@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";:root{--bg: #f6f4ef;--card: #fffdf8;--line: #ddd2c1;--ink: #1f2a2a;--muted: #606d67;--accent: #1a7b62;--accent2: #cc6b3e}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Zen Kaku Gothic New,sans-serif;background:radial-gradient(circle at top right,#e9efe8,var(--bg) 44%);color:var(--ink)}.login-shell{max-width:720px;margin:48px auto;padding:0 16px}.login-panel h2{margin:6px 0}.login-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.login-form input,.login-form select{border:1px solid #d2d7d4;border-radius:8px;padding:8px 10px;background:#fff}.auth-error{color:#b03a2e;margin:8px 0 0;font-size:.9rem}.sync-note{margin:10px 0 0;font-size:.82rem;border-radius:8px;padding:8px 10px}.sync-ok{color:#1f6a46;background:#edf9f2;border:1px solid #b9e1cc}.sync-off{color:#8a4d17;background:#fff5e8;border:1px solid #efcfad}.demo-shell{max-width:1180px;margin:0 auto;padding:28px 18px 36px}.hero h1{font-family:Barlow Condensed,sans-serif;letter-spacing:.03em;font-size:clamp(2rem,5vw,3.2rem);margin:6px 0}.eyebrow{color:var(--accent);margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero p{margin:6px 0 0;color:var(--muted)}.session-line{display:flex;align-items:center;gap:8px}.sync-chip{display:inline-block;margin-top:8px;font-size:.8rem;font-weight:700;border-radius:999px;padding:6px 10px}.sync-chip-on{color:#1f6a46;background:#edf9f2;border:1px solid #b9e1cc}.sync-chip-off{color:#8a4d17;background:#fff5e8;border:1px solid #efcfad}.mobile-jump{display:none}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.role-tabs,.filters{display:flex;gap:8px;flex-wrap:wrap}.tab-btn{border:1px solid #cfd7d2;background:#f5f8f6;color:#1f3d35;border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:700}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filters input,.filters select{border:1px solid #d2d7d4;border-radius:8px;padding:8px 10px;background:#fff}.file-input{display:none}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-top:12px}.kpi-card{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:14px}.kpi-card p{margin:0;color:var(--muted);font-size:.82rem}.kpi-card h3{margin:6px 0;font-family:Barlow Condensed,sans-serif;font-size:2rem}.kpi-card span{color:var(--accent2);font-size:.8rem;font-weight:700}.layout{margin-top:14px;display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.panel{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:16px}.prospect-panel{margin-top:12px}.alert-panel{margin-top:10px}.alert-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.alert-list li{border-radius:8px;padding:8px 10px;font-size:.88rem}.alert-high{background:#ffeaea;color:#8d2424;border:1px solid #efbaba}.alert-medium{background:#fff5e8;color:#8a4d17;border:1px solid #efcfad}.alert-ok{background:#edf9f2;color:#1f6a46;border:1px solid #b9e1cc}.prospect-bar{display:flex;gap:8px;margin-bottom:6px}.prospect-bar input{flex:1;border:1px solid #d2d7d4;border-radius:8px;padding:8px 10px}.prospect-panel small{color:#5f6f69}h2{margin:0 0 10px;font-size:1.15rem}h3{margin:10px 0 8px}.funnel-row{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:8px}.funnel-chip{border:1px solid #d9e5de;background:#f5fcf8;border-radius:10px;padding:10px}.funnel-chip strong{display:block;font-size:.86rem}.funnel-chip span{color:var(--accent);font-weight:700}.add-form{display:grid;grid-template-columns:1.2fr repeat(4,minmax(88px,1fr)) 1.8fr 80px;gap:6px;margin-bottom:10px}.add-form input,.add-form select{border:1px solid #d2d7d4;border-radius:8px;padding:8px 9px;background:#fff}.teacher-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 110px;gap:6px;margin-bottom:8px}.teacher-form input,.teacher-form select{border:1px solid #d2d7d4;border-radius:8px;padding:8px 9px;background:#fff}.teacher-list{margin:0 0 10px;padding:0;list-style:none;border:1px solid #e2dbc9;border-radius:10px;background:#fff}.teacher-list li{padding:8px;border-bottom:1px dashed #e3dccd}.teacher-list strong{display:block;font-size:.86rem}.teacher-list small{color:#5f716a;font-size:.78rem}.student-table{display:grid;gap:8px;margin-top:8px}.student-row{width:100%;text-align:left;border:1px solid #e0dfd8;border-radius:10px;padding:10px;background:#fff;cursor:pointer;color:#1f2a2a!important}.student-row.active{border-color:var(--accent);background:#f2fbf7}.student-row span{display:block;font-weight:700;color:#1f2a2a!important}.student-row small{color:#606d67!important}.student-detail{margin-top:12px;border:1px solid #e3e0d4;border-radius:10px;padding:12px;background:#fffefa}.student-detail h3{margin:0 0 8px}.student-detail p{margin:2px 0}.actions{display:flex;gap:8px;margin-top:10px}.withdraw-box{margin-top:8px;display:flex;gap:8px}.withdraw-box select{flex:1;border:1px solid #d2d7d4;border-radius:8px;padding:8px 9px;background:#fff}.detail-edit{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px;margin-top:10px}.detail-edit input,.detail-edit select{border:1px solid #d2d7d4;border-radius:8px;padding:8px 9px;background:#fff}button{border:none;background:var(--accent);color:#fff;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:#f0f3f1;color:#203f36;border:1px solid #d7ddd8}button.danger{background:#b93b2f;color:#fff}button.tiny{padding:5px 8px;font-size:.75rem}.side ul,.history-list{margin:0;padding:0;list-style:none}.side li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed #ddd6c7}.compare-list{margin:6px 0 10px;padding:8px;border:1px solid #e2dbc9;border-radius:10px;background:#fff}.workflow-list{margin:6px 0 10px;padding:8px;list-style:none;border:1px solid #e2dbc9;border-radius:10px;background:#fff}.workflow-list li{padding:7px 8px;border-bottom:1px dashed #e5dece}.workflow-list span{display:block;font-size:.86rem;font-weight:700}.workflow-list small{color:#5c7068;font-size:.76rem}.wf-done span{color:#1b6f4b}.wf-pending span{color:#8a4d17}.compare-list li{display:block;border-bottom:1px dashed #e5decf}.compare-list span{display:block;color:#5f716a;font-size:.78rem}.compare-list strong{font-size:.84rem}.sim-box{border:1px solid #e2dbc9;border-radius:10px;background:#fff;padding:10px;margin-bottom:10px}.sim-box label{display:block;font-size:.8rem;color:#526761;margin-bottom:6px}.sim-box input{width:100%;border:1px solid #d3d8d5;border-radius:8px;padding:7px 8px;margin-top:4px}.sim-box p{margin:6px 0 0;font-size:.86rem}.trend{border:1px solid #e3ded0;border-radius:10px;padding:10px;margin-bottom:12px;background:#fffefa}.trend h3{margin:0 0 8px}.trend-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #e3ddce}.task-list li{align-items:center}.task-list strong{display:block;font-size:.86rem}.task-list small{color:#5b6c66;font-size:.76rem}.history-list{margin-top:8px;border:1px solid #e3dfd3;border-radius:10px;padding:8px;background:#fff}.audit-tools{display:grid;grid-template-columns:150px 1fr 96px;gap:6px;margin-bottom:6px}.audit-tools select,.audit-tools input{border:1px solid #d2d7d4;border-radius:8px;padding:8px 9px;background:#fff}.history-list li{padding:8px 0;border-bottom:1px dashed #dfd9ca}.history-list strong{display:block;font-size:.78rem;color:#667971}.ai-box{background:#fbfaf7;border:1px solid #e4dbc8;border-radius:10px;padding:10px}.ai-box h4{margin:8px 0 4px;font-size:.9rem}.ai-box select{border:1px solid #d2d7d4;border-radius:8px;padding:8px 9px;background:#fff;color:var(--ink)}.notify-actions{display:flex;gap:8px;margin-top:10px}.notify-list{margin:6px 0 0;padding:0;list-style:none;border:1px solid #e2dacb;border-radius:10px;background:#fff}.notify-list li{padding:8px;border-bottom:1px dashed #e4ddcf}.notify-list strong{display:block;font-size:.78rem;color:#596d65}.notify-list small{display:block;color:#5a6f67;font-size:.78rem}.notify-list span{font-size:.84rem;color:#2d4740}pre{white-space:pre-wrap;margin:0;font-family:Zen Kaku Gothic New,sans-serif;color:#2f4640;background:#fff;border:1px solid #ebe4d7;border-radius:8px;padding:8px;font-size:.84rem}@media (max-width: 1080px){.add-form,.teacher-form{grid-template-columns:repeat(2,minmax(120px,1fr))}.audit-tools{grid-template-columns:1fr}}@media (max-width: 920px){.kpi-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.layout{grid-template-columns:1fr}.funnel-row{grid-template-columns:repeat(3,minmax(80px,1fr))}.filters{width:100%}.filters input,.filters select{flex:1;min-width:0}.demo-shell{padding:18px 12px 84px}.mobile-jump{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.mobile-jump button{padding:10px 6px;font-size:.82rem;border-radius:10px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#fffcf5f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid #ddd4c2;padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:40}.mobile-nav button{border-radius:10px;padding:10px 4px;font-size:.8rem}}
