:root{--bg:#faf7f1;--card:#fff;--text:#222;--muted:#76706a;--line:#eadfd4;--accent:#6b4f3b;--accent-dark:#4d3829;--danger:#a33b34}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background-color:#fbf1e4;background-image:linear-gradient(#fbf1e41a,#fbf1e41a),url(/images/reading-background.png);background-position:100% 100%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:860px;margin:0 auto;padding:44px 20px 80px}.card{border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border-radius:22px;margin-bottom:18px;padding:26px;box-shadow:0 12px 28px #46322312}h1{letter-spacing:-.04em;margin:0 0 12px;font-size:32px}h2{letter-spacing:-.03em;margin:0 0 14px;font-size:22px}h3{margin:18px 0 10px}p{color:var(--muted);line-height:1.7}label{margin:14px 0 6px;font-weight:700;display:block}input,textarea,select{border:1px solid var(--line);background:#fffdfb;border-radius:14px;width:100%;padding:13px 14px;font-size:16px}button,.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;margin-top:12px;padding:13px 18px;font-size:16px;font-weight:800;display:inline-flex}button:hover,.button:hover{background:var(--accent-dark)}button.secondary,.button.secondary{color:#4d3829;background:#efe5dc}button.danger{background:var(--danger)}.grid{gap:14px;display:grid}.menu{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px;display:grid}.small{color:var(--muted);font-size:14px}.error{color:var(--danger);font-weight:700}.success{color:#25704a;font-weight:700}.list{gap:10px;margin-top:14px;display:grid}.item{border:1px solid var(--line);background:#fffdfb;border-radius:16px;padding:14px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.calendarHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendarHeader h2{text-align:center;margin:0}button.compact,.button.compact{margin-top:0;padding:10px 13px;font-size:14px}.calendarWeekdays{color:var(--muted);text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;font-size:13px;font-weight:800;display:grid}.calendarGrid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendarDay{border:1px solid var(--line);width:100%;min-height:74px;color:var(--text);background:#fffdfb;border-radius:14px;flex-direction:column;justify-content:space-between;align-items:flex-start;margin:0;padding:10px 8px;font-weight:800;display:flex}.calendarDay:disabled{cursor:default;color:#c0b6ad;opacity:.7;background:#f3eee8}.calendarDay.hasSlots{color:var(--accent-dark);background:#f4eadf}.calendarDay.selected{border-color:var(--accent);outline:3px solid #6b4f3b40}.dayNumber{font-size:16px}.slotBadge{background:var(--accent);color:#fff;border-radius:999px;padding:4px 7px;font-size:12px;display:inline-flex}.selectedSlots{margin-top:22px}.timeGrid{gap:10px;display:grid}.timeButton{justify-content:center;width:100%}@media (max-width:560px){.calendarDay{border-radius:12px;min-height:58px;padding:8px 6px}.slotBadge{padding:3px 6px;font-size:11px}.calendarHeader{align-items:stretch}.calendarHeader h2{font-size:19px}button.compact,.button.compact{padding:9px 10px;font-size:13px}}button:disabled,.button:disabled{color:#8d8177;cursor:not-allowed;background:#d7cec6}.row.between{justify-content:space-between;align-items:flex-start}.creditsRow{margin-top:12px}.inlineLabel{width:auto;margin:0}.smallInput{max-width:110px}.adminTabsCard{z-index:5;padding:16px;position:sticky;top:0}.adminTabs{flex-wrap:wrap;gap:8px;display:flex}.tabButton{color:#4d3829;background:#efe5dc;border-radius:999px;margin-top:0;padding:11px 14px;font-size:14px}.tabButton.active{background:var(--accent);color:#fff}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0 20px;display:grid}.statBox{border:1px solid var(--line);background:#fffdfb;border-radius:18px;padding:16px}.statBox span{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.statBox strong{letter-spacing:-.03em;font-size:26px}@media (max-width:560px){.adminTabsCard{position:static}.tabButton{flex:calc(50% - 8px)}}@media (max-width:760px){body{background-position:100% 100%;background-size:auto 100%}.card{background:#fffffff0}}.itemActions{justify-content:flex-end}.editPanel{border-radius:14px;padding:4px 2px 2px}.checkboxLabel{align-items:center;gap:9px;font-weight:700;display:flex}.checkboxLabel input{width:18px;height:18px;margin:0}@media (max-width:560px){.itemActions{justify-content:flex-start;width:100%}.itemActions button{flex:auto}}.installCard{border:1px solid var(--line);background:#fffdfbeb;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:16px;display:flex}.installTitle{color:var(--accent-dark);margin-bottom:5px;font-size:16px;display:block}.installText{margin:0;font-size:14px;line-height:1.6}.installActions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.installActions button{margin-top:0}@media (max-width:620px){.installCard{flex-direction:column;align-items:stretch}.installActions{justify-content:stretch}.installActions button{flex:auto}}
