.login-page{background:radial-gradient(700px 500px at 15% 10%,#eef2ff,#0000 60%),radial-gradient(700px 500px at 85% 90%,#fdeaf3,#0000 60%),#0d0d10;place-items:center;min-height:100vh;padding:2rem;display:grid;position:relative;overflow:hidden}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #ffffffb3;border-radius:1.75rem;width:min(100%,440px);padding:2.4rem 2.2rem;position:relative;box-shadow:0 30px 90px #080a1473}.login-badge{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#232326,#050505);border-radius:999px;place-items:center;min-width:5rem;height:2.6rem;padding:0 1.3rem;font-weight:900;display:inline-grid;box-shadow:0 10px 24px -10px #0009}.login-card h1{letter-spacing:-.06em;margin:1.2rem 0 .5rem;font-size:2rem}.login-subtitle,.login-note{color:#667085;line-height:1.6}.login-form{gap:1rem;margin-top:1.4rem;display:grid}.login-form label{color:#344054;gap:.45rem;font-weight:700;display:grid}.login-form input{background:#fff;border:1px solid #d0d5dd;border-radius:1rem;height:3.2rem;padding:0 1rem}.login-preview{color:#475467;background:#f6f7f9;border-radius:1rem;padding:.9rem 1rem}.form-error{color:#c0392b;margin:0;font-weight:700}.login-button{color:#fff;background:linear-gradient(135deg,#232326,#050505);border:0;border-radius:1rem;height:3.3rem;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 30px -12px #000000b3}.login-button:hover{transform:translateY(-2px);box-shadow:0 20px 38px -14px #000000b3}.login-back{color:#475467;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:1rem;width:100%;height:3rem;margin-top:1rem;font-weight:700;transition:background .2s}.login-back:hover{background:#f6f7f9}:root{color:#1a1a1a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#14151a;--ink-soft:#6b7280;--line:#ececec;--surface:#fff;--radius-lg:1.6rem;--radius-md:1.15rem;--radius-sm:.85rem;--shadow-sm:0 1px 2px #1118270a, 0 1px 1px #11182708;--shadow-md:0 12px 34px #11182714;--shadow-lg:0 24px 60px #11182724;--ease:cubic-bezier(.22, 1, .36, 1);--dept-color:#1e40af;--dept-soft:#eef2ff;--dept-text:#fff;--dept-card:#fff;--dept-line:#ececec;background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f6f7f9}*{scrollbar-width:thin;scrollbar-color:#d4d4d8 transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#d4d4d8 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#b5b5bd padding-box padding-box}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}code{color:#3f3f46;background:#f4f4f5;border-radius:.4rem;padding:.15rem .4rem;font-size:.92em}::selection{background:var(--dept-color);color:#fff}.app-shell{background:radial-gradient(1100px 520px at 50% -8%, var(--dept-soft), transparent 68%), radial-gradient(800px 400px at 100% 0%, var(--dept-soft), transparent 60%), #f6f7f9;min-height:100vh;transition:background .5s var(--ease);padding:1.5rem}.top-bar{z-index:20;-webkit-backdrop-filter:saturate(140%);backdrop-filter:saturate(140%);background:linear-gradient(135deg,#232326 0%,#050505 60%);border:1px solid #ffffff0f;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;max-width:1320px;margin:0 auto 2rem;padding:.6rem .8rem;display:grid;position:sticky;top:1rem;box-shadow:0 14px 36px #00000038}.brand-pill{color:#fff;letter-spacing:-.04em;min-height:3.2rem;transition:opacity .2s var(--ease);background:0 0;border:0;border-radius:999px;place-items:center;padding:0 1.4rem;font-size:1.25rem;font-weight:900;display:grid}.brand-pill:hover{opacity:.7}.top-menu-pill{background:0 0;justify-content:flex-end;align-items:center;display:flex}.dept-switcher{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.dept-chip{color:#ffffffb8;transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);background:0 0;border:0;border-radius:999px;padding:.55rem .95rem;font-size:.92rem;font-weight:800}.dept-chip:hover{background:var(--chip-bg);color:var(--chip-text);transform:translateY(-1px)}.dept-chip.active{background:var(--chip-bg);color:var(--chip-text);box-shadow:0 6px 18px -6px var(--chip-bg)}.user-pill{color:#fff;background:0 0;align-items:center;gap:.6rem;min-height:3.2rem;padding:0 .6rem 0 1.1rem;display:flex}.user-pill span{font-weight:800}.user-pill small{color:#fff9;white-space:nowrap}.user-pill button{color:#fff;transition:background .2s var(--ease);background:#ffffff1f;border:0;border-radius:999px;padding:.5rem .85rem;font-size:.86rem;font-weight:800}.user-pill button:hover{background:#ffffff3d}.main-grid{grid-template-columns:16rem minmax(0,1fr);gap:1.5rem;max-width:1320px;margin:0 auto;display:grid}.sidebar{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md);background:#fffc;border:1px solid #ffffffb3;align-self:start;padding:1.1rem;position:sticky;top:6.5rem}.sidebar-title{min-height:2.6rem;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:0 .6rem;font-size:.85rem;font-weight:800;display:flex}.side-nav{gap:.2rem;max-height:calc(100vh - 11rem);padding-right:.15rem;display:grid;overflow-y:auto}.side-section-title{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;margin:1.1rem 0 .35rem;padding:0 .6rem;font-size:.74rem;font-weight:800}.side-item{border-radius:var(--radius-sm);color:#52525b;text-align:left;width:100%;min-height:2.7rem;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:0;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.95rem;font-weight:700;display:flex}.side-item:hover{color:var(--ink);background:#f1f1f3}.side-item.active{background:var(--dept-soft);color:var(--dept-color);box-shadow:inset 3px 0 0 var(--dept-color);font-weight:800}.side-icon{text-align:center;width:1.4rem;font-size:1.05rem}.content-panel{min-width:0}.page-hero{border-radius:var(--radius-lg);background:radial-gradient(420px 220px at 100% 0%, var(--dept-soft), transparent 70%), var(--dept-card);border:1px solid var(--dept-line);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:2rem 2.25rem;display:flex;position:relative;overflow:hidden}.page-hero:before{content:"";background:var(--dept-color);width:5px;position:absolute;inset:0 auto 0 0}.page-hero h1{letter-spacing:-.05em;color:var(--ink);margin:.3rem 0;font-size:clamp(1.7rem,3.5vw,2.6rem)}.page-hero p{color:var(--ink-soft);margin:0;line-height:1.55}.eyebrow{letter-spacing:.02em;margin:0;font-size:.9rem;font-weight:800;color:var(--dept-color)!important}.dept-mark{border-radius:var(--radius-md);background:var(--dept-color);background:linear-gradient(145deg, var(--dept-color), color-mix(in srgb, var(--dept-color) 60%, #000));min-width:5.25rem;height:5.25rem;color:var(--dept-text);letter-spacing:-.02em;box-shadow:0 14px 30px -10px var(--dept-color);place-items:center;font-size:1.1rem;font-weight:900;display:grid}@media (width<=1080px){.main-grid{grid-template-columns:1fr}.sidebar{position:static}.side-nav{flex-wrap:wrap;max-height:none;display:flex;overflow-x:auto}.side-section-title,.sidebar-title{width:100%}.side-item{min-width:max-content}}@media (width<=720px){.app-shell{padding:.85rem}.top-bar{border-radius:var(--radius-lg);grid-template-columns:auto 1fr;gap:.6rem}.top-menu-pill{order:3;grid-column:1/-1;justify-content:flex-start;overflow-x:auto}.user-pill{justify-content:flex-end}.page-hero{align-items:flex-start;padding:1.25rem}.dept-mark{display:none}}.dashboard-grid,.list-grid,.media-grid{gap:1.1rem;display:grid}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card,.wide-card,.page-card,.simple-card,.progress-card,.countdown-card,.verse-card,.notice-card,.empty-state,.media-card{border:1px solid var(--dept-line);background:var(--dept-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.stat-card,.media-card{transition:transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease)}button.stat-card:hover,.media-card:hover{box-shadow:var(--shadow-lg);border-color:var(--dept-color);transform:translateY(-4px)}.stat-card{min-height:9rem;color:var(--ink);text-align:left;gap:.4rem;padding:1.4rem;display:grid;position:relative;overflow:hidden}button.stat-card:after{content:"";background:var(--dept-color);opacity:.35;width:.6rem;height:.6rem;transition:opacity .28s var(--ease), transform .28s var(--ease);border-radius:999px;position:absolute;top:1.4rem;right:1.4rem}button.stat-card:hover:after{opacity:1;transform:scale(1.25)}.stat-card span,.stat-card small,.wide-card small,.simple-card small{color:var(--ink-soft)}.stat-card span{font-size:.9rem;font-weight:700}.stat-card strong{color:var(--ink);letter-spacing:-.04em;font-size:1.5rem;line-height:1.25}.wide-card{grid-column:span 2;padding:1.5rem}.wide-card.muted{background:var(--dept-soft);border-color:#0000}.wide-card h2,.wide-card p{margin:.6rem 0}.wide-card-title,.between,.toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.wide-card-title span{color:var(--dept-color);font-weight:800}.wide-card-title button,.button-row button,.inline-form button,.stack-form button,.page-card button,.link-button{background:var(--dept-color);color:var(--dept-text);box-shadow:0 8px 20px -10px var(--dept-color);transition:transform .2s var(--ease), filter .2s var(--ease), box-shadow .2s var(--ease);border:0;border-radius:999px;padding:.7rem 1.2rem;font-weight:800}.wide-card-title button:hover,.button-row button:hover,.inline-form button:hover,.stack-form button:hover,.page-card button:hover,.link-button:hover{filter:brightness(1.08);box-shadow:0 14px 26px -10px var(--dept-color);transform:translateY(-2px)}.ghost-button{color:#3f3f46!important;background:#f4f4f5!important}.page-card{padding:1.6rem}.page-card-head{margin-bottom:1.25rem}.page-card h2{letter-spacing:-.04em;color:var(--ink);margin:0;font-size:1.6rem}.page-card-head p{color:var(--ink-soft);margin:.5rem 0 0;line-height:1.6}.timeline{gap:.8rem;display:grid}.timeline.compact{max-width:720px}.timeline-item{border-radius:var(--radius-sm);background:var(--dept-card);border:1px solid var(--dept-line);transition:border-color .25s var(--ease), transform .25s var(--ease);grid-template-columns:11rem minmax(0,1fr);align-items:center;gap:1rem;padding:1.1rem;display:grid}.timeline-item:hover{border-color:var(--dept-color);transform:translate(2px)}.date-box{border-radius:var(--radius-sm);background:var(--dept-soft);color:var(--dept-color);gap:.2rem;padding:.85rem;display:grid}.date-box small{color:var(--ink-soft)}.timeline-item h3,.timeline-item p,.simple-card h3,.simple-card p,.progress-card h3,.progress-card p,.countdown-card span,.countdown-card strong,.countdown-card small,.verse-card h2,.verse-card p{margin:0}.list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-card,.progress-card,.countdown-card,.notice-card,.empty-state{padding:1.25rem}.simple-card,.progress-card{transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);gap:.75rem;display:grid}.simple-card:hover,.progress-card:hover{box-shadow:var(--shadow-md);border-color:var(--dept-color);transform:translateY(-3px)}.badge{background:var(--dept-soft);min-height:1.8rem;color:var(--dept-color);white-space:nowrap;border-radius:999px;align-items:center;padding:0 .75rem;font-size:.82rem;font-weight:800;display:inline-flex}.progress-track{background:#f0f0f2;border-radius:999px;height:.6rem;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--dept-color);height:100%;transition:width .4s var(--ease)}.inline-form,.stack-form{border-radius:var(--radius-md);border:1px solid var(--line);background:#fafafa;gap:.75rem;padding:1.15rem;display:grid}.inline-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.stack-form{max-width:760px}.inline-form input,.inline-form select,.stack-form input,.stack-form select,.stack-form textarea{border-radius:var(--radius-sm);min-height:2.85rem;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border:1px solid #dcdce0;padding:0 .9rem}.inline-form input:focus,.inline-form select:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--dept-color);box-shadow:0 0 0 3px var(--dept-soft);outline:none}.stack-form textarea{resize:vertical;min-height:7rem;padding-top:.85rem}.top-gap{margin-top:1.1rem}.meal-table{gap:.7rem;display:grid}.meal-row{border-radius:var(--radius-sm);background:var(--dept-card);border:1px solid var(--dept-line);grid-template-columns:4rem repeat(3,1fr);align-items:center;gap:.75rem;padding:1.1rem;display:grid}.meal-row strong{color:var(--dept-color)}.survey-card .link-button{justify-self:start}.button-row{flex-wrap:wrap;gap:.55rem;display:flex}.countdown-card{background:var(--dept-soft);border-color:#0000;gap:.6rem;display:grid}.countdown-card strong{color:var(--dept-color);letter-spacing:-.05em;font-size:2rem}.clean-list{color:#52525b;margin:0;padding-left:1.1rem;line-height:1.9}.birthday-card strong{color:var(--dept-color);font-size:1.6rem}.verse-card{background:linear-gradient(135deg, var(--dept-color), #111);color:#fff;border-color:#0000;padding:1.9rem}.verse-card span{opacity:.85;font-weight:800}.verse-card h2{letter-spacing:-.05em;margin:1rem 0;font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.35}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-card{padding:1.1rem}button.media-card{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer}.media-thumb{border-radius:var(--radius-sm);background:var(--dept-soft);background:radial-gradient(120px 80px at 30% 20%, color-mix(in srgb, var(--dept-color) 22%, transparent), transparent 70%), var(--dept-soft);height:9rem;color:var(--dept-color);place-items:center;margin-bottom:.85rem;font-size:3rem;display:grid}.media-card h3,.media-card p{margin:.3rem 0}.media-card p,.empty-state{color:var(--ink-soft)}.notice-card{background:var(--dept-soft);color:var(--ink);border-color:#0000;margin-bottom:1.1rem}@media (width<=1180px){.dashboard-grid,.inline-form,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.dashboard-grid,.list-grid,.media-grid{grid-template-columns:1fr}.wide-card{grid-column:span 1}.timeline-item,.meal-row,.inline-form{grid-template-columns:1fr}.between,.toolbar{flex-direction:column;align-items:flex-start}}
