:root{--bg: #f5f2ed;--card: #ffffff;--ink: #1b1b1b;--muted: #6b6b6b;--accent: #2f5d50;--event: #b56a2f;--border: #e2ddd2}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;background:linear-gradient(180deg,#f5f2ed,#efeae2);color:var(--ink);overflow-x:hidden}h1,h2,h3{font-family:Fraunces,serif;margin:0}a{color:inherit;text-decoration:none}.dashboard{width:100%;min-height:100vh;margin:0;padding:clamp(18px,2vw,32px) clamp(14px,2.5vw,40px) clamp(28px,3vw,56px)}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}.header h1{font-size:32px;letter-spacing:0}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 12px 30px #0000000f}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.controls label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.controls input,.controls select{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink)}.controls button{border-radius:999px;border:1px solid var(--border);background:var(--accent);color:#fff;padding:9px 14px;cursor:pointer}.controls button:disabled{cursor:not-allowed;opacity:.45}.controls button.secondary{background:#fff;color:var(--accent)}.status{font-size:13px;color:var(--muted);margin-bottom:16px}.column-frame{position:relative}.column-rail{--visible-columns: 2;--column-gap: clamp(12px, 1.1vw, 20px);display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - ((var(--visible-columns) - 1) * var(--column-gap))) / var(--visible-columns));gap:var(--column-gap);overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;padding-bottom:2px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.column-rail::-webkit-scrollbar{display:none}.column-arrow{position:absolute;top:50%;z-index:5;width:44px;height:72px;border:1px solid var(--border);border-radius:999px;background:#fffffff0;color:var(--accent);cursor:pointer;font-size:28px;font-weight:700;line-height:1;box-shadow:0 14px 30px #00000024;transform:translateY(-50%)}.column-arrow-left{left:8px}.column-arrow-right{right:8px}.event-list{display:grid;gap:14px;align-content:start;min-width:0;scroll-snap-align:start}.event{border:1px solid var(--border);border-radius:14px;padding:18px;background:#fff;display:grid;gap:9px;position:relative}.event.sunday{border-left:6px solid var(--accent)}.event.other{border-left:6px solid var(--event);background:#fff6ec}.event .date{font-weight:600;font-size:18px;color:var(--accent)}.event .title{font-size:26px;font-weight:700;display:flex;align-items:center;gap:8px;line-height:1.12}.event .meta{font-size:17px;line-height:1.35;color:var(--muted)}.badge{display:inline-flex;align-items:center;font-size:12px;padding:3px 7px;border-radius:999px;background:#f3efe8;color:var(--muted);border:1px solid var(--border);position:absolute;top:10px;right:10px;white-space:nowrap}.dashboard[data-visible-columns="1"] .event,.dashboard[data-visible-columns="2"] .event{padding:20px}.dashboard[data-visible-columns="1"] .event .date,.dashboard[data-visible-columns="2"] .event .date{font-size:20px}.dashboard[data-visible-columns="1"] .event .title,.dashboard[data-visible-columns="2"] .event .title{font-size:30px}.dashboard[data-visible-columns="1"] .event .meta,.dashboard[data-visible-columns="2"] .event .meta{font-size:19px}.dashboard[data-visible-columns="1"] .event{padding:22px}.dashboard[data-visible-columns="1"] .event .date{font-size:22px}.dashboard[data-visible-columns="1"] .event .title{font-size:34px}.dashboard[data-visible-columns="1"] .event .meta{font-size:20px}.legend{margin-top:12px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.login{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.login .card{width:min(420px,100%)}.login form{display:flex;flex-direction:column;gap:12px}.login input{padding:10px 12px;border-radius:10px;border:1px solid var(--border)}.login button{padding:10px 12px;border-radius:10px;border:none;background:var(--accent);color:#fff;cursor:pointer}.comm-icon{width:20px;height:20px;color:#b52424}@media (min-width: 1400px){.header h1{font-size:36px}}@media (max-width: 760px){.dashboard{padding:16px 12px 32px}.header{align-items:flex-start}.header h1{font-size:28px}.controls{align-items:stretch;width:100%}.controls label{flex:1 1 150px}.controls button{flex:1 1 120px}.column-arrow{width:38px;height:60px}.column-arrow-left{left:4px}.column-arrow-right{right:4px}.dashboard[data-visible-columns] .event{padding:16px}.badge{font-size:12px;padding:3px 7px}.event .title{font-size:22px}.event .meta{font-size:15px}}
