:root{color-scheme:light;--bg: #ebf2ee;--panel: rgba(251, 247, 240, .94);--panel-strong: #fff9f0;--line: rgba(29, 55, 43, .16);--ink: #17372a;--muted: #53655d;--accent: #cb5a2d;--accent-deep: #7b3118;--accent-soft: rgba(203, 90, 45, .18);--today-ring: rgba(12, 119, 99, .42);--reserved-bg: linear-gradient(180deg, rgba(217, 236, 229, 1), rgba(238, 247, 242, 1));--card-bg: rgba(255, 255, 255, .78);--shadow: 0 24px 70px rgba(31, 48, 38, .12);font-family:Gowun Dodum,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(197,108,63,.1),transparent 26%),radial-gradient(circle at top right,rgba(64,132,108,.08),transparent 24%),linear-gradient(180deg,#e6efea,#edf4ef 44%,#f7f2ea);color:var(--ink)}button,input,textarea{font:inherit}.page-shell{min-height:100vh;padding:20px 14px 40px}.app-card{max-width:860px;margin:0 auto;background:var(--panel);border:1px solid rgba(255,255,255,.6);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero{min-height:300px;background-image:linear-gradient(180deg,#0814102e,#08141085),url(https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=1400&q=80);background-size:cover;background-position:center;display:flex;align-items:end}.hero-overlay{width:100%;padding:28px 22px;color:#fffaf3}.eyebrow{margin:0 0 8px;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;opacity:.82}.hero h1{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,7vw,4.3rem);font-weight:600}.login-panel,.calendar-panel,.reservation-panel,.reservation-list-panel{padding:20px 18px}.calendar-panel{background:linear-gradient(180deg,#f8f4ece0,#ffffff85),radial-gradient(circle at top right,rgba(197,108,63,.08),transparent 35%);border-top:1px solid rgba(255,255,255,.72);border-bottom:1px solid rgba(29,55,43,.06)}.login-form,.reservation-form{display:grid;gap:12px}.field-label,.welcome-label{color:var(--muted);font-size:.95rem}.text-input,.note-input{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#ffffffb8;color:var(--ink)}.note-input{min-height:116px;resize:vertical}.primary-button,.ghost-button,.month-button,.danger-button{border:0;border-radius:999px;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background-color .16s ease}.primary-button{padding:14px 18px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fffaf5}.ghost-button,.month-button{padding:10px 14px;background:#16312714;color:var(--ink)}.danger-button{padding:9px 13px;background:#a635291a;color:#9e2f24}.primary-button:hover,.ghost-button:hover,.month-button:hover{transform:translateY(-1px)}.message{margin:0;padding:0 18px 18px;color:var(--muted)}.message.error{color:#ad3b2b}.welcome-row,.calendar-toolbar,.section-head,.calendar-actions{display:flex;align-items:center;gap:12px}.welcome-row,.section-head{justify-content:space-between}.calendar-toolbar{display:grid;gap:14px}.calendar-toolbar h2{margin:0;font-size:1.25rem;letter-spacing:-.02em;text-align:center}.calendar-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-nav .month-button{width:100%}.today-button{background:var(--accent-soft)}.day-labels,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day-labels{margin:18px 0 8px;color:var(--muted);text-align:center;font-size:.92rem}.calendar-day{position:relative;min-height:98px;padding:10px;border:1px solid var(--line);border-radius:22px;background:var(--card-bg);text-align:left;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 1px #fffc,0 10px 24px #1d372b0f}.calendar-day.muted{opacity:.45;background:#eef2efcc}.calendar-day.selected{border-color:#cb5a2dd1;background:linear-gradient(180deg,#fce7d9,#fff5ef)}.calendar-day.reserved{background:var(--reserved-bg);border-color:#106a573d}.calendar-day.today{box-shadow:inset 0 1px #ffffffb8,0 0 0 3px var(--today-ring)}.day-number{font-weight:700;font-size:1.02rem;color:var(--ink)}.day-markers{display:flex;flex-wrap:wrap;gap:4px}.marker,.modal-color{width:12px;height:12px;border-radius:999px;border:2px solid rgba(255,255,255,.8);box-shadow:0 1px 4px #17372a33}.selection-summary{margin-bottom:12px;color:var(--muted);line-height:1.6}.section-head h3{margin:0;font-size:1.08rem}.reservation-list{display:grid;gap:12px;margin-top:14px}.reservation-list-item{display:flex;gap:12px;align-items:start;padding:14px;background:#ffffffc7;border:1px solid var(--line);border-radius:18px}.reservation-list-color{width:12px;min-width:12px;height:12px;margin-top:6px;border-radius:999px}.reservation-list-body{width:100%}.reservation-list-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:6px}.reservation-list-head strong{display:block;margin-bottom:4px}.reservation-list-head span,.reservation-list-body p{color:var(--muted)}.reservation-list-body p{margin:0;line-height:1.5}.reservation-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reservation-editor{display:grid;gap:10px}.note-input-inline{min-height:88px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#09120d7a;display:flex;align-items:center;justify-content:center;padding:18px}.modal-card{width:min(520px,100%);background:var(--panel-strong);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h3{margin:0}.modal-list{display:grid;gap:12px;margin-top:16px}.modal-item{display:flex;gap:12px;align-items:start;padding:14px;background:#ffffffb3;border-radius:16px}.modal-item p{margin:4px 0 0;color:var(--muted)}.modal-dates{font-size:.9rem}.modal-danger{margin-top:12px}@media (max-width: 640px){.page-shell{padding:10px 10px 28px}.app-card{border-radius:22px}.hero{min-height:250px}.hero-overlay{padding:22px 18px}.calendar-day{min-height:86px}.calendar-toolbar{gap:12px}.calendar-nav{gap:8px}.reservation-list-head{flex-direction:column;align-items:start}}
