:root{color-scheme:light;--bg: #f4f7fb;--panel: rgba(255, 255, 255, .88);--line: rgba(21, 40, 77, .1);--line-strong: rgba(21, 40, 77, .16);--ink: #12233f;--muted: #60708f;--accent: #f48120;--accent-soft: rgba(244, 129, 32, .12);--blue: #2563eb;--blue-soft: rgba(37, 99, 235, .12);--green: #0f9f6e;--green-soft: rgba(15, 159, 110, .12);--shadow: 0 20px 50px rgba(18, 35, 63, .08);font-family:Pretendard Variable,Pretendard,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(36,99,235,.06),transparent 32%),linear-gradient(180deg,#f7f9fc,#eff3f9);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:transparent;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.marketing-page,.auth-page,.state-page{min-height:100vh;padding:32px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}.hero__copy,.hero-diagram,.feature-board,.demo-panel,.auth-card,.state-card,.panel,.metric-card,.table-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.hero__copy{padding:42px}.hero__eyebrow,.section-head__eyebrow,.auth-card__eyebrow,.state-card__eyebrow,.topbar__eyebrow,.demo-panel__eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero__copy h1,.auth-card h1,.state-card h1{margin:16px 0 14px;font-size:clamp(2rem,4vw,4.6rem);line-height:.96;letter-spacing:-.05em;max-width:12ch}.hero__copy p,.auth-card p,.state-card p,.demo-panel p,.metric-card p,.panel__head span,.topbar__user span,.section-head__meta{color:var(--muted);line-height:1.6}.hero__actions,.auth-card__links,.demo-panel__options,.inline-metrics,.inline-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.button:hover,.chip:hover{transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,#1b66f8,#0f82ff);color:#fff}.button--ghost{background:#ffffff8c;border-color:var(--line-strong)}.hero-diagram{position:relative;min-height:420px;overflow:hidden;padding:34px}.hero-diagram__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(37,99,235,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.08) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 95%);mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 95%)}.hero-diagram__card{position:absolute;width:min(270px,calc(100% - 48px));padding:20px 22px;border-radius:22px;background:#ffffffe0;border:1px solid rgba(37,99,235,.16);box-shadow:0 18px 40px #1c375e1f}.hero-diagram__card span,.metric-card span,.panel__head span,.stat-tile span,.price-row span,.budget-node span,.inline-metrics span,.sidebar__label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero-diagram__card strong,.metric-card strong,.panel__head strong,.stat-tile strong,.price-row strong,.budget-node strong,.inline-metrics strong,.table-card__head strong,.brand__name,.topbar__user strong{display:block;margin-top:8px;font-size:1.05rem}.hero-diagram__card--top{top:42px;left:32px}.hero-diagram__card--center{top:150px;right:38px}.hero-diagram__card--bottom{bottom:40px;left:68px}.hero-diagram__line{position:absolute;background:linear-gradient(180deg,#2563eb73,#f4812059);width:2px;transform-origin:top}.hero-diagram__line--one{top:120px;left:200px;height:96px;transform:rotate(43deg)}.hero-diagram__line--two{top:250px;right:184px;height:118px;transform:rotate(-36deg)}.feature-board{margin-top:26px;padding:28px}.section-head,.table-card__head,.panel__head,.topbar,.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-head h2,.dashboard-hero h2{margin:10px 0 0;font-size:2rem;letter-spacing:-.04em}.feature-grid,.dashboard-grid,.stats-grid{display:grid;gap:18px}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0}.metric-card,.table-card{padding:24px}.table-card{margin-top:8px}.status-table{width:100%;margin-top:18px;border-collapse:collapse}.status-table th,.status-table td{padding:14px 12px;border-top:1px solid var(--line);text-align:left;font-size:.95rem}.status-table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.status-badge,.chip,.topbar__status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;background:var(--green-soft);color:var(--green);font-size:.78rem;font-weight:700}.status-badge--new{background:var(--accent-soft);color:var(--accent)}.status-badge--soft{background:var(--blue-soft);color:var(--blue)}.demo-panel{margin-top:26px;padding:24px 28px}.chip{border:1px solid transparent;cursor:pointer}.chip--active{background:var(--blue);color:#fff}.auth-page,.state-page{display:grid;place-items:center}.feedback{margin:14px 0;padding:14px 16px;border-radius:18px;border:1px solid var(--line)}.feedback--success{background:#0f9f6e14;color:var(--green)}.feedback--error{background:#f481201a;color:#b45309}.auth-card,.state-card{width:min(720px,100%);padding:34px}.auth-card--wide{width:min(860px,100%)}.field{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.95rem}.field--inline{margin-top:16px}.field input,.field textarea,.school-select{width:100%;border:1px solid var(--line-strong);background:#ffffffe0;border-radius:18px;padding:14px 16px;color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.state-list{margin:24px 0 0;padding-left:18px;color:var(--muted);line-height:1.9}.inline-metrics{margin-top:22px}.inline-metrics>div{flex:1;min-width:140px;padding:16px;border-radius:20px;background:#ffffffb3;border:1px solid var(--line)}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{padding:24px 20px;border-right:1px solid var(--line);background:#ffffffa8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:14px;padding:10px 8px 20px}.brand__mark{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#1b66f8,#f48120);color:#fff;font-weight:800}.brand__sub{color:var(--muted);font-size:.82rem}.sidebar__nav{display:grid;gap:8px}.sidebar__link{padding:12px 14px;border-radius:16px;color:var(--ink);font-weight:600}.sidebar__link.active{background:#2563eb1a;color:var(--blue)}.sidebar__school{margin-top:28px;padding:16px;border-radius:22px;background:#ffffffd6;border:1px solid var(--line)}.sidebar__school span{display:block;margin-top:6px;color:var(--muted)}.content{padding:26px}.topbar{margin-bottom:20px}.topbar h1{margin:8px 0 0;font-size:2.2rem;letter-spacing:-.05em}.topbar__user{text-align:right}.dashboard{display:grid;gap:18px}.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.panel{grid-column:span 4;padding:24px}.panel--wide,.panel--diagram{grid-column:span 8}.budget-diagram,.price-list,.document-list{margin-top:18px;display:grid;gap:12px}.budget-branches,.calendar-grid{display:grid;gap:10px}.budget-branches{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.table-mini,.priority-list{margin-top:18px;display:grid;gap:10px}.table-mini__row,.priority-list__item,.summary-strip__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#ffffffc7}.priority-list__item strong{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:999px;background:var(--blue-soft);color:var(--blue)}.summary-strip{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-strip__item{flex-direction:column;align-items:flex-start}.planner-stack{margin-top:18px;display:grid;gap:14px}.planner-day{padding:18px;border-radius:22px;border:1px solid var(--line);background:#ffffffc7}.planner-day__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.planner-day__summary{display:grid;justify-items:end;gap:4px;text-align:right}.planner-day__head span,.planner-day__budget,.planner-meal__allergy,.planner-meal__meta span,.ingredient-row span{color:var(--muted);font-size:.9rem}.planner-day__summary strong,.planner-meal__allergy strong,.planner-pill strong{color:var(--text);font-size:.95rem}.planner-day__meals{margin-top:14px;display:grid;gap:10px}.planner-meal,.ingredient-row{display:grid;grid-template-columns:120px 1fr 160px;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#ffffffe6}.planner-meal__meta{display:grid;gap:4px}.planner-meal__menu{font-weight:600}.planner-meal__allergy{display:grid;gap:4px;justify-items:end;text-align:right}.planner-meal__allergy small{color:var(--muted);font-size:.8rem}.ingredient-row{grid-template-columns:1.2fr 1fr 120px}.sidebar__link--muted{opacity:.55}.calendar-grid--budget{grid-template-columns:repeat(7,minmax(0,1fr))}.stat-tile,.price-row,.day-card,.document-list span,.budget-node{padding:16px;border-radius:18px;border:1px solid var(--line);background:#ffffffc2}.calendar-grid{margin-top:18px;grid-template-columns:repeat(7,minmax(0,1fr))}.day-card{min-height:88px}.day-card span{display:block;color:var(--muted);font-size:.8rem}.day-card strong{display:block;margin-top:10px;font-size:.95rem}.day-card--alert{border-color:#f481204d;background:#fff5ece6}.day-card--draft{border-color:#2563eb42;background:#eff5fff2}.checkbox-grid,.ratio-grid{display:grid;gap:12px}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkbox-pill,.checkbox-row{display:flex;align-items:center;gap:10px;color:var(--text)}.checkbox-pill{padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#ffffffd1}.checkbox-row{margin-top:10px}.planner-editor{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}.planner-editor__summary,.planner-editor__metrics{display:grid;gap:12px}.planner-editor__summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.planner-editor__card{padding:16px;border-radius:18px;border:1px solid var(--line);background:#ffffffd1}.planner-editor__metrics{margin-top:14px}.planner-pill{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#f8fafceb}.planner-pill span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.planner-pill--soft{background:#ffffffc7}.planner-day{width:100%;text-align:left;background:#ffffffc2}.planner-day--selected{border:1px solid rgba(37,99,235,.35);box-shadow:0 20px 44px #2563eb14}.dashboard-hero--studio{align-items:end}.output-studio{overflow:hidden}.output-studio__actions{margin-top:16px}.template-switches,.template-stack{display:flex;flex-wrap:wrap;gap:10px}.template-switches{margin-top:18px}.template-stack{margin-top:18px;flex-direction:column}.template-card{padding:18px 20px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffffeb,#f4f7fbdb)}.template-card span,.print-sheet__eyebrow,.weekly-board__meal label,.tv-banner span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.template-card strong{display:block;margin-top:8px;font-size:1rem;letter-spacing:-.03em}.settings-grid{display:grid;gap:14px}.settings-grid--integrations,.settings-grid--integrations-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.print-calendar__meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:.78rem}.daily-sheet__dish{display:grid;gap:4px}.daily-sheet__dish small,.daily-sheet__count span,.weekly-board__meal small{color:var(--muted);font-size:.8rem}.ops-table__row--dense{grid-template-columns:110px 1.7fr 1fr 1fr 1fr 1.3fr}.print-preview-frame{margin-top:18px;padding:22px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,#f4f8ffe6,#fffffff5),radial-gradient(circle at top right,rgba(15,159,110,.08),transparent 28%)}.print-sheet{min-height:620px;padding:28px;border-radius:28px;background:#fffefb;border:1px solid rgba(18,35,63,.08);box-shadow:0 26px 60px #12233f14}.print-sheet--tv{background:linear-gradient(135deg,#f7fafc,#eef5ff)}.print-sheet--elementary{background:linear-gradient(180deg,#fffdf7,#fff9ee)}.print-sheet--middle{background:linear-gradient(180deg,#fafcff,#f3f7ff)}.print-sheet--high{background:linear-gradient(180deg,#fcfcfc,#f4f6f8)}.print-sheet--document{min-height:520px}.print-sheet__header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid rgba(18,35,63,.08)}.print-sheet__header h3{margin:8px 0 0;font-size:1.8rem;letter-spacing:-.05em}.print-sheet__stamp{padding:10px 14px;border-radius:999px;background:#2563eb14;color:var(--blue);font-size:.78rem;font-weight:700}.print-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.print-calendar__day,.weekly-board__column,.tv-grid__card{border:1px solid rgba(18,35,63,.08);border-radius:22px;background:#ffffffeb}.print-calendar__day{padding:16px}.print-calendar__date{display:flex;align-items:baseline;gap:10px}.print-calendar__date strong{font-size:1.5rem;letter-spacing:-.05em}.print-calendar__theme{margin-top:12px;padding:8px 10px;border-radius:999px;background:#f481201a;color:var(--accent);font-size:.82rem;font-weight:700}.print-calendar__menu{display:grid;gap:8px;margin-top:14px}.print-calendar__menu span,.weekly-board__meal p,.tv-grid__card p,.daily-sheet__dish{line-height:1.55}.weekly-board,.tv-grid{display:grid;gap:14px;margin-top:20px}.weekly-board{grid-template-columns:repeat(5,minmax(0,1fr))}.weekly-board__column,.tv-grid__card{padding:18px}.weekly-board__column strong,.tv-grid__card strong{display:block;font-size:1rem}.weekly-board__column>span,.tv-grid__card>span{display:block;margin-top:6px;color:var(--muted)}.weekly-board__meal{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(18,35,63,.12)}.weekly-board__meal p{margin:6px 0 0;font-weight:600}.daily-sheet{display:grid;gap:12px;margin-top:20px}.ops-table{display:grid;gap:12px;margin-top:22px}.ops-table__row{display:grid;grid-template-columns:110px 1.5fr 1fr 1fr;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid rgba(18,35,63,.08);background:#fffffff0}.daily-sheet__row{display:grid;grid-template-columns:180px 1fr 100px;gap:14px;align-items:center;padding:16px 18px;border-radius:20px;border:1px solid rgba(18,35,63,.08);background:#fffffff0}.daily-sheet__meta span,.daily-sheet__count,.print-calendar__date span{color:var(--muted)}.tv-banner{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(18,35,63,.08)}.tv-banner strong{font-size:2.2rem;letter-spacing:-.06em}.tv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-grid__card{background:linear-gradient(180deg,#fffffff5,#f4f8ffeb)}.field textarea{resize:vertical;min-height:100px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#ffffffc2;font:inherit;color:var(--text)}@media (max-width: 1080px){.hero,.feature-grid,.form-grid,.app-shell,.dashboard-grid{grid-template-columns:1fr}.panel,.panel--wide,.panel--diagram{grid-column:auto}.calendar-grid,.budget-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip{grid-template-columns:1fr}.planner-day__head{flex-direction:column}.planner-meal,.ingredient-row,.checkbox-grid,.ratio-grid,.planner-editor,.print-calendar,.weekly-board,.tv-grid,.daily-sheet__row,.ops-table__row{grid-template-columns:1fr}.topbar,.dashboard-hero,.section-head{flex-direction:column}.topbar__user{text-align:left}}@media (max-width: 720px){.marketing-page,.auth-page,.state-page,.content{padding:18px}.hero__copy,.hero-diagram,.feature-board,.demo-panel,.auth-card,.state-card,.panel{padding:20px;border-radius:22px}.calendar-grid,.budget-branches,.stats-grid,.calendar-grid--budget{grid-template-columns:1fr}}
