:root{--bg:#fff;--text:#111;--muted:#666;--border:#ddd;--panel:#fafafa;--btn:#263e50;--btnText:#fff;--radius:8px;--fc-slot-min-height:26px}*{box-sizing:border-box}body,html{height:100%;margin:0;color:var(--text);background:var(--bg)}@supports (height:100svh){body{min-height:100svh}}body{overflow:hidden}a{color:inherit;text-decoration:none}.input{padding:6px 8px}.btn,.input{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}.btn{padding:6px 10px;cursor:pointer}.btn-primary{background:var(--btn);color:var(--btnText);border-color:var(--btn)}.btn-outline{background:#fff;color:var(--btn);border-color:var(--btn)}.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;padding:0;color:var(--text)}.icon-btn.big{width:40px;height:40px;font-size:20px}.plus-btn{background:#3b82f6!important;color:#fff!important;border-color:#3b82f6!important}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px}.muted{color:var(--muted)}.page{min-height:100svh;align-items:stretch}.container,.page{display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:12px;gap:12px;flex:1 1 auto;min-height:0}.toolbar{position:sticky;top:0;z-index:20;background:var(--bg);display:flex;gap:10px;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap}.toolbar-center,.toolbar-left{display:flex;gap:8px;align-items:center}.toolbar-center{justify-content:center;flex-wrap:wrap}.toolbar-right{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.week-title{font-weight:800;margin-left:6px}.calendar-shell{overflow:hidden}.calendar-shell,.calendar-wrap{display:flex;flex:1 1 auto;min-height:0;width:100%}.calendar-wrap .fc,.calendar-wrap .fc-scrollgrid,.calendar-wrap .fc-view-harness{height:100%!important;width:100%!important}.calendar-wrap .fc-scroller{overflow:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.calendar-wrap .fc .fc-col-header,.calendar-wrap .fc .fc-scrollgrid-section-header{position:sticky;top:0;z-index:5;background:#fff}.fc{--fc-page-bg-color:transparent}.fc .fc-timegrid-axis-cushion{color:var(--muted)}.fc .fc-toolbar-title{font-weight:800;font-size:1.3rem}.fc-timegrid-slot{height:var(--fc-slot-min-height)}.fc-event.private{background:#999;border-color:#999}.fc-event.social{background:#3b82f6;border-color:#3b82f6}.fc-event.stripes-blue{background:repeating-linear-gradient(45deg,#3b82f6,#3b82f6 6px,#6aa3ff 0,#6aa3ff 12px)}.fc-event.stripes-yellow{background:repeating-linear-gradient(45deg,#f59e0b,#f59e0b 6px,#ffcc66 0,#ffcc66 12px)}.ev-mine-studio{background:#3b82f6;border-color:#3b82f6;color:#fff}.ev-other-studio{background:#1e3a8a;border-color:#1e3a8a;color:#fff}.ev-mine-craft{background:#10b981;border-color:#10b981;color:#fff}.ev-other-craft{background:#065f46;border-color:#065f46;color:#fff}.ev-private{outline:2px dotted #ef4444;outline-offset:-2px}.ev-wrap{display:flex;gap:6px;align-items:center}.ev-inits{display:flex;gap:4px;font-weight:700}.ev-inits .init{background:rgba(255,255,255,.25);padding:0 4px;border-radius:4px}.event-room{opacity:.9;font-size:12px}@media (max-width:640px){.event-room{display:none}.container{padding:8px;gap:10px}.toolbar{gap:8px;padding-bottom:6px}.toolbar-right{justify-content:flex-start;gap:6px}.fc .fc-toolbar-title{font-size:1.1rem}.calendar-wrap .fc .fc-col-header-cell-cushion{padding:4px 2px}.fc .fc-timegrid-event .fc-event-main{padding:2px 4px}:root{--fc-slot-min-height:22px}.calendar-shell{overflow:auto;min-height:0;flex:1 1 auto}.calendar-wrap{min-height:0}}.drinks-wrap{flex:1 1 auto;width:100%}.drinks-col,.drinks-wrap{display:flex;min-height:0}.drinks-col{flex-direction:column;flex:1 1 auto;padding:8px 12px}.drinks-scroll{flex:1 1 auto;min-height:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drinks-footer{position:sticky;bottom:0;background:var(--bg);padding:12px;border-top:1px solid var(--border);z-index:2;box-shadow:0 -2px 6px rgba(0,0,0,.04);backdrop-filter:saturate(180%) blur(6px)}.calendar-inner-scroll{flex:1 1 auto;min-height:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}