:root{--ink:#202924;--muted:#616c65;--green:#216448;--green-dark:#164c36;--green-soft:#edf4ed;--paper:#f5f6f3;--white:#fff;--line:#dfe4de;--nav:#163d32;--nav-muted:#b5c9bc;--focus:#99631b;--danger:#9f352b;--warning:#805416;--radius:10px;--shadow:0 2px 4px #20302404;--fast:130ms;--ease:cubic-bezier(.2,.7,.2,1);font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-size:16px;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;min-width:0;min-height:44px;border:1px solid #929e95;border-radius:6px;padding:10px 12px;background:var(--white);color:var(--ink);accent-color:var(--green)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0}textarea{resize:vertical}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}:target,input,select,textarea,button{scroll-margin-top:20px;scroll-margin-bottom:120px}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;letter-spacing:-.9px;line-height:1.2;text-wrap:balance}h2{font-size:20px;font-weight:650;letter-spacing:-.45px;line-height:1.35}h3{font-size:16px;font-weight:650}p{color:var(--muted)}small{font-size:13px}.icon{flex-shrink:0;vertical-align:middle}.subtle,.hint{color:var(--muted)}.hint{font-size:13px;margin:8px 0 16px}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:8px;letter-spacing:.7px;font-weight:600}.heading-dot{display:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:216px;background:var(--nav);color:white;padding:28px 14px 16px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:10px;color:white;padding:0 7px;font-size:19px;letter-spacing:-.6px;font-weight:600}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:40px;color:#d8ef9e}.brand-mark .icon{width:34px;height:34px;stroke-width:1.4}.brand small{display:block;font-size:12px;letter-spacing:2px;color:var(--nav-muted);margin-top:2px}.nav-caption{font-size:12px;letter-spacing:1.6px;color:var(--nav-muted);margin:48px 13px 12px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#d1dfd5;padding:12px;min-height:46px;border-radius:6px;font-size:14px;transition:background var(--fast)}.sidebar nav a:hover{background:#ffffff0d;text-decoration:none}.sidebar nav a.active{background:#e5eecf;color:#233a2a;font-weight:650}.count{min-width:20px;padding:0 5px;text-align:center;border-radius:5px;background:#d9e8be;color:#263c2b;font-size:12px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:36px}.sidebar-note{margin:0 10px 24px;font-size:13px;color:#e0e9e2}.sidebar-note span{display:block;margin-top:4px;color:var(--nav-muted);font-size:12px}.user-card{padding-top:20px;border-top:1px solid #ffffff26;display:flex;gap:10px;align-items:center;color:white}.user-card:hover{text-decoration:none}.user-card>span:nth-child(2){min-width:0}.user-card strong{font-size:13px;display:block;overflow-wrap:anywhere}.user-card small{display:block;font-size:12px;color:var(--nav-muted);margin-top:3px}.user-card>.icon{width:15px;margin-left:auto}.avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#d5e5c7;color:#304c36;display:grid;place-items:center;font-size:12px;font-weight:600}.shell{margin-left:216px}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);background:var(--white);gap:12px}.topbar-context,.topbar-right{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted)}.topbar-context strong{color:#414d44;font-weight:500}.breadcrumb{color:#939c95;margin:0 13px}.topbar-right form{margin:0}.topbar-profile{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}.main-content{padding:28px 32px 40px;max-width:1800px;margin:0 auto;min-height:calc(100dvh - 120px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.page-heading p{margin-top:7px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:10px 16px;min-height:44px;font-size:14px;font-weight:600;line-height:1.4;text-align:center;transition:background var(--fast),border-color var(--fast),box-shadow var(--fast)}.button:hover{text-decoration:none}.button:active{box-shadow:inset 0 0 0 40px #0000000a}.primary{color:white;background:var(--green);border-color:var(--green)}.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.secondary{color:var(--ink);background:var(--white);border-color:#b1bbb3}.secondary:hover{background:#f2f5ef;border-color:#80917e}.compact{padding:8px 12px}.icon-button{padding:0;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:var(--white);display:inline-grid;place-items:center;color:#4d5c51;flex-shrink:0;transition:background var(--fast)}.icon-button:hover{text-decoration:none;background:#eef2eb}.logout-button{border:0}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;gap:16px}
.calendar-panel{overflow:clip}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px}.period-navigation{display:flex;align-items:center;gap:18px}.arrow-group{display:flex;gap:4px}.arrow-group .icon-button{border:0}.period-title h2{font-size:22px;letter-spacing:-.7px}.period-title>span{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}.today-button{margin-left:6px;font-size:13px;min-height:40px;padding:8px 13px}.view-toggle{display:flex;gap:2px;border:1px solid #c9d1c9;background:#f1f3ee;padding:3px;border-radius:7px}.view-toggle a{color:var(--muted);font-size:13px;font-weight:600;padding:9px 18px;border-radius:4px;min-height:38px;display:grid;place-items:center}.view-toggle a.selected{color:var(--ink);background:white;box-shadow:0 1px 3px #15251920}.view-toggle a:hover{text-decoration:none;color:var(--ink)}.filter-bar{display:flex;gap:12px;align-items:end;padding:0 24px 20px;margin:0}.filter-bar label{display:block;min-width:0;width:205px}.filter-bar label:first-child{width:165px}.filter-bar label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.filter-bar input,.filter-bar select{min-height:40px;padding:8px 10px;font-size:13px;border-color:#a7b3a9}.calendar-tally{font-size:12px;color:var(--muted);padding:8px 0 8px 12px;margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}.closure-tally{color:var(--danger);display:inline-flex;align-items:center;gap:5px}.closure-tally .icon{width:15px;height:15px}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:68px minmax(170px,auto) minmax(170px,auto);border-top:1px solid var(--line)}.day-column{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0;border-right:1px solid var(--line)}.day-column:last-child{border-right:0}.day-heading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 8px;background:#fafbf8;color:var(--muted);border-bottom:1px solid var(--line)}.day-heading span{font-size:12px}.day-heading strong{font-size:18px;line-height:32px;font-weight:600;min-width:32px;height:32px;text-align:center}.day-heading small{display:none}.day-heading:hover{text-decoration:none;background:#f1f5ed}.is-today .day-heading strong{background:var(--green);color:white;border-radius:6px}.is-today .resource-cell{background:#fcfdf9}.resource-cell{padding:12px 8px 16px;border-bottom:1px solid var(--line);min-width:0}.resource-cell:last-child{border-bottom:0}.cell-label{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center;font-weight:500;margin:0 2px 12px}.resource-marker{width:6px;height:6px;border-radius:2px;background:#6c856b;display:inline-block;flex-shrink:0}.resource-marker.resource-2{background:#9b7c43}.event{display:block;padding:10px 9px;background:#eef4e9;border:1px solid #d8e5cf;border-radius:5px;color:#33452c;margin-bottom:8px;min-width:0;transition:border-color var(--fast),box-shadow var(--fast)}.event:hover{text-decoration:none;border-color:#839978;box-shadow:0 2px 7px #1a302618}.event-time{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:6px}.event-time .icon{width:12px;height:12px}.event strong{display:block;font-size:13px;line-height:1.4;font-weight:600;overflow-wrap:anywhere;hyphens:auto}.event small{display:block;font-size:12px;margin-top:4px}.event-footer{display:flex;gap:5px;justify-content:space-between;align-items:start;margin-top:10px;flex-wrap:wrap}.event-kind{font-size:11px;display:flex;align-items:center;gap:5px}.event-kind .icon{width:14px;height:14px}.event-areas{font-size:11px;font-weight:600;padding:1px 4px;border:1px solid #33452c24;border-radius:3px;white-space:nowrap}.kind-match{background:#eaf0fa;color:#304f76;border-color:#d2ddef;}.kind-youth{background:#fbf1db;color:#73501f;border-color:#ecdfbc;}.kind-other,.kind-rental{background:#f1ecf7;color:#624f79;border-color:#e0d6eb;}.closure-event{background:#fcf0ec;color:var(--danger);border-color:#efcdc3;}.closure-event strong{margin-top:6px}.blocked-label{display:flex;align-items:start;gap:4px;font-size:11px;line-height:1.4;margin-top:8px;color:var(--danger);border-top:1px solid #c34c3533;padding-top:6px}.blocked-label .icon{width:14px;height:14px}.event.cancelled{background:#f0f1ee;color:#657065;border-color:#c7cec7}.event.cancelled strong{text-decoration:line-through}.cancelled-label{font-size:12px;font-weight:650}.cell-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:85px;font-size:12px;color:var(--muted)}.cell-empty small{font-size:11px}.calendar-legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px}.legend-dot.training{background:#648549}.legend-dot.match{background:#6086b4}.legend-dot.youth{background:#b18a41}.legend-dot.rental{background:#9274ac}.legend-dot.blocked{background:#b95443}.freshness{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:12px}.refresh-toggle{background:none;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:12px}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:12px 24px 18px;border-top:1px solid var(--line)}.date-strip a{position:relative;display:flex;flex-direction:column;align-items:center;border-radius:6px;color:var(--muted);padding:8px}.date-strip a span{font-size:12px}.date-strip a strong{font-size:19px;font-weight:600}.date-strip a:hover{background:var(--green-soft);text-decoration:none}.date-strip a.selected{background:var(--green);color:white}.date-strip i{width:4px;height:4px;background:currentColor;border-radius:50%;position:absolute;bottom:4px}.week-grid.single-day{display:block}.single-day .day-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;border:0}.single-day .day-heading{display:none}.single-day .resource-cell{padding:20px;min-height:200px;border:0}.single-day .resource-cell+.resource-cell{border-left:1px solid var(--line)}.single-day .cell-label{font-size:14px;margin-bottom:16px}.single-day .event{padding:14px 16px}.single-day .event strong{font-size:16px}.single-day .event-time{font-size:13px}.single-day .event-kind,.single-day .event-areas{font-size:12px}
.availability-section{margin-top:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.section-heading h2{font-size:19px}.section-heading h2 .subtle{font-weight:400;font-size:16px}.section-heading p{font-size:12px;margin-top:5px}.time-window{display:flex;align-items:end;gap:8px}.time-window label{font-size:12px;color:var(--muted)}.time-window input{display:block;width:110px;min-height:40px;padding:7px 10px;font-size:13px;margin-top:3px}.time-window .button{min-height:40px}.pitch-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pitch-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:20px;gap:20px}.resource-number{font-size:12px;font-weight:600;letter-spacing:1px;color:var(--muted)}.pitch-description h3{font-size:19px;margin:4px 0}.pitch-description p{font-size:13px}.orientation{display:block;font-size:12px;margin-top:12px;color:var(--muted)}.pitch-caption{font-size:12px;display:flex;align-items:center;gap:6px;margin-top:14px;color:var(--green)}.pitch-caption .icon{width:15px}.pitch-map{display:grid;grid-template-columns:1fr 1fr;position:relative;background:#326143;padding:6px;border-radius:6px;gap:1px;align-self:center}.pitch-map::after{content:'';position:absolute;width:44px;height:44px;border:1px solid #ffffff90;border-radius:50%;left:calc(50% - 22px);top:calc(50% - 22px);pointer-events:none}.quarter{min-height:70px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;background:#46714d;border:1px solid #ffffff90;gap:2px;transition:background var(--fast)}.quarter strong{font-size:18px;font-weight:500}.quarter span{display:flex;gap:2px;align-items:center;font-size:13px}.quarter .icon{width:12px;height:12px}.quarter.occupied{background:#e8e9db;color:#535b42}.quarter.blocked{background:repeating-linear-gradient(135deg,#f5e3d8 0,#f5e3d8 6px,#edd8ca 6px,#edd8ca 12px);color:#873a2a}.quarter:hover{background:#284f36;color:white;text-decoration:none}.room-map{grid-template-columns:1fr;padding:0;background:#ece9f1}.room-map::after{display:none}.room-map .quarter{min-height:146px;background:#efedf5;border:1px solid #c7bed2;color:#60506f;border-radius:6px}.room-map .quarter.occupied{background:#dcd5e6}footer{display:flex;justify-content:space-between;padding:0 32px 20px;font-size:12px;color:var(--muted)}
.back-link{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:13px;margin-bottom:12px}.back-link .icon{width:16px}.form-panel{padding:24px;max-width:1000px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.form-field{min-width:0;margin-bottom:16px}.form-field>label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-field>small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.form-section h2{margin-bottom:20px;font-size:18px}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}.unit-picker{margin:0;border:0;padding:0;min-width:0}.unit-picker legend{font-size:13px;font-weight:600}.picker-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.picker-resource{border:1px solid var(--line);border-radius:8px;padding:16px}.picker-resource h3{margin-bottom:12px}.picker-resource>small{color:var(--muted);font-size:12px}.combination-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{border:1px solid #a1b099;border-radius:5px;background:#f6f8f1;color:var(--green-dark);font-size:12px;padding:8px 10px;min-height:38px}.chip:hover,.chip[aria-pressed=true]{background:#e3eddb;border-color:var(--green)}.unit-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.unit-options label{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:66px;padding:10px;border:1px solid #a3b19d;border-radius:4px;background:#f9faf6;font-size:13px;cursor:pointer}.unit-options label:has(input:checked){color:#224a2f;background:#e4efd9;border:2px solid #417249;padding:9px}.unit-options label:hover{background:#edf3e7}.unit-options label:has(:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.checkbox-line{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer}.recurrence-fields{margin-top:16px}.recurrence-fields #id_weekdays{display:flex;gap:8px;flex-wrap:wrap}.recurrence-fields #id_weekdays label{display:flex;align-items:center;gap:5px;border:1px solid #b7c1b4;border-radius:5px;padding:8px;min-height:44px;font-size:13px;cursor:pointer}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.booking-layout>.panel{padding:24px}.booking-layout h2{font-size:17px;margin-bottom:20px}.booking-layout .picker-resources{grid-template-columns:1fr}.booking-layout .picker-resource{border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0 0}.booking-layout .picker-resource:first-child{border:0;padding-top:0}.booking-layout .unit-picker>legend{display:none}.booking-layout .unit-picker>.hint{margin-top:-10px;margin-bottom:20px}.booking-layout .form-section:last-child{border:0;padding-bottom:0;margin-bottom:0}.booking-layout .form-grid .form-field{margin-bottom:0}.booking-layout .form-grid{margin-bottom:16px}.booking-options{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.booking-options summary{font-size:13px;font-weight:600;min-height:32px}.booking-options[open] summary{margin-bottom:16px}.booking-options .hint{margin-bottom:0}.booking-savebar{position:sticky;bottom:12px;z-index:10;display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:24px;padding:16px 20px;background:white;border:1px solid #bdcbb9;border-radius:8px;box-shadow:0 5px 24px #23342212}.booking-savebar .form-actions{margin:0}.booking-summary strong{display:block;font-size:14px}.booking-summary span{display:block;font-size:12px;color:var(--muted)}.preview-result{margin-top:24px;scroll-margin-top:20px}.notice{padding:16px 18px;border:1px solid #c8d6c2;background:#f1f6ed;border-radius:7px;color:#40573a;font-size:14px;margin-bottom:20px}.notice p{color:inherit;margin:5px 0}.notice.warning{background:#fff6e5;color:var(--warning);border-color:#e8d4ab}.notice.danger,.notice.error{background:#fdf0eb;color:var(--danger);border-color:#e8c5b9}.notice.success{background:#edf6e9;border-color:#bcd7b1;color:#365b2c}.errorlist{color:var(--danger);padding-left:18px;font-size:13px;margin:8px 0}.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}.error-summary li{margin:6px 0}.error-summary a{color:var(--danger);text-decoration:underline}.conflict-card{padding:18px;border:1px solid #e5cfb7;border-radius:7px;margin-bottom:12px;background:#fffaf2;font-size:14px}.conflict-card p{margin:6px 0}.contact-inline{display:block;margin-top:7px}
.detail-grid,.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.detail-card{padding:24px;margin-bottom:20px}.detail-grid .detail-card,.card-grid .detail-card{margin-bottom:0}.detail-card h2{margin-bottom:16px}.detail-card>p{margin-bottom:16px;font-size:14px}.detail-card dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;margin:0;font-size:14px}.detail-card dt{color:var(--muted)}.detail-card dd{margin:0}.contact-card{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:14px;overflow-wrap:anywhere}.contact-card:last-child{border:0}.contact-card a{font-size:14px}.inline-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline-form>label{font-size:13px}.inline-form select{margin-top:5px}.danger-button{color:white;background:var(--danger)}.history-entry{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;flex-wrap:wrap}.history-entry>span{color:var(--muted)}.history-entry code{font:inherit;margin-left:auto}.team-icon{display:grid;place-items:center;width:44px;height:44px;background:#f0f4e9;color:var(--green);border-radius:8px;margin-bottom:16px}.team-contacts{margin-top:16px}.pill{display:inline-block;padding:4px 8px;font-size:12px;background:#f5f6f2;border:1px solid #d5dcd0;color:#506148;border-radius:4px;margin:2px 0}.success-pill{background:#edf5e4;color:#41632e}.warning-pill{background:#fff4de;color:#795319}.empty-state{padding:48px 24px;text-align:center;grid-column:1/-1}.empty-state>span{display:block;color:var(--green);margin-bottom:16px}.empty-state>span .icon{width:32px;height:32px}.empty-state h2,.empty-state h1{margin-bottom:12px}.empty-state .button{margin-top:20px}.account-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.notification-list{max-width:950px}.unread{border-left:3px solid var(--green)}.preserve-lines{white-space:pre-line}.management-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.management-row small{display:block;color:var(--muted);margin-top:5px}
.auth-shell{margin:0}.auth-shell .main-content{max-width:580px;padding:60px 24px}.auth-shell h1{margin-bottom:18px}.auth-shell p{margin:16px 0}.auth-shell form>p>label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.auth-shell button[type=submit]{background:var(--green);border:0;border-radius:6px;color:white;padding:12px 20px;min-height:44px;margin-top:10px}.auth-shell main>ul{padding-left:18px}.auth-card{padding:32px}.brand-text{color:var(--ink);font-size:20px;font-weight:650;letter-spacing:-.6px}.status-step{padding:16px 0;border-bottom:1px solid var(--line);margin:10px 0}.skip-link{position:fixed;left:12px;top:-80px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-menu,.mobile-close,.menu-scrim{display:none}#calendar-data[aria-busy=true] .calendar-toolbar{opacity:.65}#calendar-data[aria-busy=true]{cursor:progress}
@media(min-width:1600px){.resource-cell{padding:14px}.event strong{font-size:14px}.event-time{font-size:13px}.cell-label{font-size:12px}}
@media(max-width:1200px){.main-content{padding:24px}.topbar{padding:0 24px}.today-label{display:none}.filter-bar{flex-wrap:wrap}.calendar-tally{padding-left:0}.pitch-card{padding:16px;gap:16px;grid-template-columns:1fr}.pitch-description{position:relative}.pitch-description .orientation{margin-top:6px}.pitch-caption{margin-top:8px}.pitch-map{width:100%}.quarter{min-height:78px}.week-grid{display:flex;flex-direction:column}.day-column{grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;border:0;border-bottom:1px solid var(--line)}.day-column:last-child{border-bottom:0}.day-heading{flex-direction:column;gap:2px;justify-content:start;padding-top:20px;border-bottom:0;border-right:1px solid var(--line)}.day-heading small{display:block;font-size:11px}.resource-cell{border:0;padding:14px}.resource-cell+.resource-cell{border-left:1px solid var(--line)}.cell-label{font-size:12px}.event strong{font-size:14px}.event-time{font-size:13px}.event{padding:12px}.event-kind,.event-areas{font-size:12px}.cell-empty{min-height:60px}.freshness{width:100%;margin-left:0;justify-content:space-between}.booking-layout{grid-template-columns:1fr}.booking-layout .picker-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-layout .picker-resource{border:0;padding:0}.management-row{flex-wrap:wrap}}
@media(max-width:900px){.sidebar{width:190px;padding:24px 10px 16px}.brand{font-size:16px;gap:6px;padding:0 4px}.brand small{font-size:12px}.brand-mark{width:30px}.sidebar nav a{padding:11px 10px;gap:8px;font-size:13px}.sidebar-note{display:none}.user-card small{font-size:12px}.shell{margin-left:190px}.main-content{padding:24px 20px}.topbar{padding:0 20px}.topbar-context>span{font-size:12px}.topbar-context strong{display:none}.breadcrumb{display:none}.page-heading{gap:16px}.page-heading h1{font-size:27px}.page-heading p{font-size:13px}.calendar-toolbar{flex-wrap:wrap;padding:16px;gap:12px}.period-navigation{gap:10px}.period-title h2{font-size:20px}.today-button{margin-left:auto}.filter-bar{padding:0 16px 16px;gap:12px}.filter-bar label,.filter-bar label:first-child{flex:1;width:auto;min-width:130px}.calendar-tally{min-width:100%;margin-left:0;padding:0}.calendar-legend{padding:14px 16px;gap:12px}.section-heading{flex-wrap:wrap}.time-window{width:100%}.time-window label{flex:1}.time-window input{width:100%}.pitch-cards{gap:16px}.detail-grid,.card-grid{grid-template-columns:1fr}.booking-savebar{flex-wrap:wrap}.booking-savebar .form-actions{width:100%;justify-content:end}.auth-shell{margin:0}}
@media(max-width:700px){.sidebar{width:260px;transform:translateX(-100%);transition:transform 180ms var(--ease);padding:28px 18px;visibility:hidden}.sidebar.is-open{transform:none;visibility:visible}.sidebar .brand{font-size:19px}.sidebar .brand small{font-size:12px}.sidebar nav a{font-size:15px;gap:12px}.sidebar .nav-caption{margin-top:32px}.sidebar .brand-mark{width:36px}.sidebar .user-card small{font-size:12px}.mobile-menu,.mobile-close{display:inline-grid;border:0}.mobile-close{position:absolute;top:16px;right:10px;width:32px;height:32px;background:transparent;color:white}.mobile-close:hover{background:#ffffff20}.sidebar .brand{margin-top:22px}.menu-scrim{display:block;position:fixed;inset:0;z-index:30;border:0;background:#0a221db3}.shell{margin:0}.topbar{height:60px;padding:0 14px}.topbar-context{gap:8px}.topbar-context>span{font-size:14px;font-weight:600;color:var(--ink)}.topbar-right{gap:10px}.topbar-profile{font-size:12px}.logout-button{display:none}.main-content{padding:22px 16px 32px}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:22px}.page-heading h1{font-size:28px}.page-heading p{font-size:14px}.calendar-page-heading{align-items:start}.calendar-page-heading>div{flex:1}.calendar-page-heading>.button{padding:11px 12px;font-size:13px}.calendar-page-heading p{max-width:210px}.calendar-toolbar{padding:16px 12px}.period-navigation{width:100%;gap:8px}.period-title h2{font-size:20px}.period-title>span{font-size:12px}.arrow-group{gap:0}.arrow-group .icon-button{width:36px;height:44px}.today-button{min-height:44px}.view-toggle{width:100%}.view-toggle a{flex:1;min-height:38px}.filter-bar{padding:0 12px 16px;gap:12px}.filter-bar label,.filter-bar label:first-child{min-width:0;flex-basis:calc(50% - 6px)}.filter-bar label:nth-child(2){flex-basis:100%;order:2}.filter-bar label:nth-child(3){order:1}.filter-bar label>span{font-size:12px}.filter-bar input,.filter-bar select{font-size:16px;min-height:44px}.calendar-tally{order:3;font-size:12px}.date-strip{padding:12px;gap:3px}.date-strip a{padding:8px 2px}.date-strip a strong{font-size:18px}.day-column{grid-template-columns:54px minmax(0,1fr)}.day-heading{grid-row:span 2}.resource-cell{grid-column:2;padding:14px 12px}.resource-cell+.resource-cell{border-left:0;border-top:1px solid var(--line)}.week-grid.single-day .day-column{display:block}.single-day .resource-cell{padding:18px 16px;min-height:135px}.single-day .resource-cell+.resource-cell{border-left:0;border-top:1px solid var(--line)}.single-day .event{padding:14px}.event-time{font-size:13px}.event strong{font-size:15px}.event small{font-size:13px}.calendar-legend{gap:12px;font-size:12px}.freshness{font-size:12px}.refresh-toggle{min-height:32px}.availability-section{margin-top:26px}.section-heading h2{font-size:20px}.section-heading h2 .subtle{font-size:15px}.section-heading p{font-size:12px}.time-window input{font-size:16px;min-height:44px}.time-window .button{min-height:44px}.pitch-cards{grid-template-columns:1fr}.pitch-card{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);padding:16px;gap:16px}.pitch-description h3{font-size:17px}.pitch-description p{font-size:12px}.orientation{font-size:12px}.pitch-caption{font-size:12px;line-height:1.5}.quarter{min-height:68px}.quarter span{font-size:13px}.pitch-map{padding:4px}.pitch-map:after{width:30px;height:30px;left:calc(50% - 15px);top:calc(50% - 15px)}.room-map .quarter{min-height:135px}.form-grid{grid-template-columns:1fr;gap:0}.form-panel{padding:20px 16px}.booking-layout{gap:16px}.booking-layout>.panel{padding:20px 16px}.booking-layout .form-grid{gap:16px}.booking-layout .picker-resources,.picker-resources{grid-template-columns:1fr}.booking-layout .picker-resource+.picker-resource{border-top:1px solid var(--line);padding-top:20px}.booking-savebar{position:static;padding:18px 16px;gap:16px}.booking-savebar .form-actions{display:grid;grid-template-columns:1fr;width:100%}.booking-savebar .form-actions .primary{grid-row:1}.form-actions{flex-direction:column}.form-actions>.button{width:100%}.form-field>label{font-size:14px}.form-field input,.form-field select{font-size:16px}.chip{min-height:44px}.detail-card{padding:20px}.detail-card dl{grid-template-columns:1fr;gap:4px}.detail-card dd{margin-bottom:14px}.history-entry{gap:8px}.history-entry code{margin-left:0}.account-links>.button{width:100%}.management-row form{width:100%}.management-row form .checkbox-line{width:100%}footer{padding:0 16px 20px;font-size:12px}.auth-shell .main-content{padding:32px 16px}.auth-card{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.mobile-filter{display:none}
@media(max-width:700px){.js .mobile-filter{display:inline-flex;min-height:44px}.js .calendar-toolbar .view-toggle{width:auto;flex:1}.js .filter-bar:not(.is-open){display:none}.js .calendar-toolbar{gap:12px}.mobile-close{width:44px;height:44px}.logout-button{display:inline-grid}.topbar-right{gap:6px}}
@media(max-height:600px){.sidebar{overflow-y:auto}.sidebar-bottom{padding-top:24px}.sidebar-note{display:none}.nav-caption{margin-top:24px}.user-card{padding-bottom:12px}}

@media(max-width:700px){html:not(.js) .sidebar{position:static;transform:none;visibility:visible;width:100%;padding:20px}html:not(.js) .sidebar nav{flex-direction:row;flex-wrap:wrap}html:not(.js) .sidebar .nav-caption,html:not(.js) .sidebar-bottom{display:none}html:not(.js) .mobile-menu,html:not(.js) .mobile-close{display:none}html:not(.js) .sidebar .brand{margin:0 0 16px}}

/* Team identity applies to the full event surface, without a left accent bar. */
.event.team-event:not(.cancelled){background:var(--team-background);border-color:var(--team-border);color:var(--team-text)}
.event.team-event:not(.cancelled):hover{border-color:var(--team-text)}
.team-dot{background:var(--team-color);border:1px solid #20292440;width:10px;height:10px;border-radius:50%}
.team-legend-item{display:inline-flex;align-items:center}.legend-title{font-weight:650;color:var(--ink)}
.team-color-icon,.team-color-preview{background:var(--team-background);color:var(--team-text)}
.team-color-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.team-color-controls input[type=color]{width:56px;height:44px;padding:4px;cursor:pointer}
.team-color-preview{border:1px solid var(--team-border);border-radius:5px;padding:10px 12px;font-size:13px}
@media(max-width:700px){.team-color-controls{width:100%}.team-color-controls .button{width:100%}.team-color-preview{flex:1}}
.team-management-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.team-details-form input[type=color]{width:80px;height:46px;padding:4px;cursor:pointer}.team-owner{font-size:13px;margin:14px 0}.add-coach-form{margin-top:24px;max-width:640px;border-top:1px solid var(--line);padding-top:24px}.add-coach-form .hint{margin-top:12px}.coach-list .inline-form{justify-content:flex-end}.team-details-form .team-color-preview{display:inline-block}.team-management-layout>section{min-width:0}
@media(max-width:900px){.team-management-layout{grid-template-columns:1fr;gap:0}.coach-list .management-row{align-items:flex-start}.coach-list .inline-form{justify-content:flex-start}}
/* Calendar workspace: functional navigation, quiet surfaces, duration-based events. */
body{background:#f6f8f6;font-family:Inter,'Segoe UI',sans-serif;letter-spacing:-.012em}.sidebar{width:208px;padding:26px 16px}.shell{margin-left:208px}.main-content{max-width:1920px;padding:32px 36px}.mobile-app-header{display:none}.sidebar .brand{font-size:19px}.sidebar nav a{border-radius:10px;min-height:46px}.sidebar-logout button{display:flex;align-items:center;gap:10px;background:transparent;color:#dce8e0;border:0;padding:12px;cursor:pointer;font:inherit;font-size:13px;width:100%}.sidebar-logout .icon{width:17px;height:17px}.user-card{border-top:1px solid #ffffff20;padding-top:18px}.page-heading h1{font-size:30px;letter-spacing:-1px}.button,button,input,select,textarea{border-radius:9px}.button{min-height:42px;font-weight:600}.panel{border-radius:16px;border-color:#e0e6e1;box-shadow:0 2px 6px #153d3203}.calendar-panel{overflow:hidden}.calendar-toolbar{padding:22px 24px 12px;gap:16px}.period-title h2{font-size:23px;letter-spacing:-.6px}.period-title>span{font-size:12px}.view-toggle{border:0;background:#edf1ee;border-radius:10px;padding:4px}.view-toggle a{min-width:64px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:7px}.view-toggle .selected{background:white;box-shadow:0 1px 4px #132d3215}.arrow-group{gap:2px}.arrow-group .icon-button{border:1px solid #e1e6e2;border-radius:9px}.filter-bar{padding:8px 24px 18px;gap:12px}.filter-bar label>span{font-size:12px;font-weight:600}.filter-bar input,.filter-bar select{background:#fafbf9;border-color:#dbe2dc;min-height:38px}.calendar-tally{font-size:12px}.calendar-legend{padding:14px 20px;gap:14px;background:#fff}.availability-section{margin-top:28px}.pitch-card{box-shadow:none}.section-heading h2{font-size:19px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e4e9e5}.month-weekday{padding:12px 16px;background:#fafbf9;font-size:12px;font-weight:600;color:#59675e}.month-day{min-height:150px;padding:8px;border-top:1px solid #e4e9e5;border-right:1px solid #e4e9e5;min-width:0;background:white}.month-day:nth-child(7n){border-right:0}.month-day.outside-month{background:#f7f9f7}.month-date{display:flex;align-items:center;justify-content:space-between;color:var(--ink);text-decoration:none;margin-bottom:8px;min-height:32px}.month-date strong{width:30px;height:30px;display:grid;place-items:center;font-size:13px;font-weight:600;border-radius:50%}.month-date>span{display:none}.is-today .month-date strong{background:#216448;color:#fff}.outside-month .month-date strong{color:#738075}.month-event{display:flex;gap:6px;align-items:baseline;padding:6px 8px;margin:4px 0;border-radius:6px;background:var(--team-background,#e7eeea);color:var(--team-text,#234332);text-decoration:none;font-size:12px;line-height:1.4;min-width:0}.month-event time{font-size:11px;font-weight:650;flex-shrink:0}.month-event>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.month-more{font-size:12px;font-weight:600;padding:4px 8px;display:block;color:#38604a}.month-closure{display:flex;gap:5px;align-items:center;font-size:11px;color:#973b2d;padding:3px 6px}.month-closure .icon{width:13px;height:13px}.month-event:hover,.timeline-event:hover{filter:brightness(.97);box-shadow:0 2px 6px #153d3220}.timeline-scroll.week-grid{display:block;max-height:680px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #e0e6e1;scrollbar-width:thin}.timeline{display:grid;grid-template-columns:56px repeat(var(--columns),minmax(140px,1fr));grid-template-rows:auto auto var(--timeline-height);min-width:1036px;background:white}.single-day .timeline{min-width:0;grid-template-columns:56px repeat(var(--columns),minmax(0,1fr))}.timeline-heading{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e0e6e1;border-right:1px solid #e0e6e1;min-height:65px;display:flex;align-items:center;justify-content:center}.timeline-heading .day-heading{height:64px;border:0;gap:9px;background:none;display:flex;align-items:center;justify-content:center}.timeline-heading .day-heading strong{font-size:20px;font-weight:600}.timeline-heading.is-today .day-heading strong{background:#216448;color:white;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.timeline-corner{font-size:11px;color:#69766d;display:grid;place-items:center;background:#fff;border-bottom:1px solid #e0e6e1}.timeline-closures{border-right:1px solid #e0e6e1;border-bottom:1px solid #e0e6e1;padding:5px;max-height:95px;overflow:auto}.timeline-closures a{display:block;background:#fbefeb;border-radius:5px;padding:5px;color:#923c2f;font-size:11px;line-height:1.4}.timeline-closures a span{display:block}.timeline-closures .icon{width:11px;height:11px;margin-right:3px}.no-closure{color:#748177;font-size:12px;padding-left:8px}.time-axis{position:relative;border-right:1px solid #e5eae6;background:#fff}.time-axis>span{position:absolute;right:9px;font-size:11px;color:#66736b;line-height:18px}.timeline-lane.day-column{display:block;position:relative;height:var(--timeline-height);min-width:0;border:0;border-right:1px solid #e5eae6;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#f0f3f0 29px,#f0f3f0 30px,transparent 30px,transparent 59px,#e2e8e3 59px,#e2e8e3 60px)}.timeline-lane.is-today{background-color:#f8fbf7}.timeline-event.event{position:absolute;margin:0;box-sizing:border-box;overflow:hidden;border:2px solid white!important;border-radius:8px;padding:5px 7px;display:flex;flex-direction:column;gap:2px;min-height:0;font-size:12px;line-height:1.3;background:var(--team-background,#e7eeea);color:var(--team-text,#234332);min-width:0}.timeline-event .event-time{font-size:11px;white-space:nowrap}.timeline-event strong{font-size:12px;line-height:1.25}.timeline-event small{font-size:11px;line-height:1.3}.timeline-event .blocked-label,.timeline-event .cancelled-label{font-size:11px;flex-shrink:0}.timeline-event .timeline-title{opacity:.85}.timeline-event:focus-visible{z-index:5;height:auto!important;min-height:90px;outline:3px solid #216448}.month-event.cancelled{text-decoration:line-through;background:#eee;color:#626862}
@media(min-width:1600px){.timeline-scroll.week-grid{max-height:780px}.month-day{min-height:170px}}
@media(max-width:1100px){.main-content{padding:24px}.calendar-toolbar{flex-wrap:wrap}.timeline{min-width:1036px}.month-day{padding:5px;min-height:135px}.month-event{padding:5px 4px;gap:3px;font-size:11px}.month-event time{font-size:11px}}
@media(max-width:900px){.shell{margin-left:0}.sidebar{width:260px}.mobile-app-header{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid #e2e8e3;background:white}.mobile-app-header>a{font-size:15px;font-weight:650;color:#163d32;text-decoration:none}.main-content{padding:22px}.single-day .timeline{min-width:0}}
@media(max-width:700px){.main-content{padding:18px 12px}.page-heading h1{font-size:25px}.calendar-toolbar{padding:16px 12px 10px;gap:12px}.period-navigation{flex:1;gap:10px}.period-title h2{font-size:19px}.period-title>span{font-size:12px}.today-button{min-width:0;padding:8px;font-size:12px}.arrow-group .icon-button{width:32px;height:36px;min-width:32px}.view-toggle{display:flex;flex:1}.view-toggle a{flex:1;min-height:38px}.filter-bar{padding:12px}.calendar-panel{border-radius:12px}.month-weekday{padding:10px 0;text-align:center;font-size:11px}.month-day{min-height:96px;padding:3px}.month-date{display:block;margin:0}.month-date strong{width:27px;height:27px;font-size:12px}.month-date>span{display:block;font-size:11px;line-height:18px;white-space:nowrap}.month-entries{display:flex;flex-wrap:wrap;gap:3px;padding:3px}.month-event{width:10px;height:10px;padding:0;margin:0;border-radius:50%;background:var(--team-color,#216448)}.month-event time,.month-event>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.month-more{font-size:11px;padding:0;line-height:12px}.month-closure{padding:2px;font-size:0}.month-closure .icon{width:12px;height:12px}.month-closure span{display:none}.calendar-legend{gap:10px;padding:12px;font-size:12px}.timeline-scroll.week-grid{max-height:640px}.single-day .timeline{grid-template-columns:42px repeat(var(--columns),minmax(0,1fr))}.timeline-heading{min-height:52px;font-size:13px}.timeline-event.event{padding:4px 5px}.timeline-event strong{font-size:11px}.timeline-event small{font-size:11px}.time-axis>span{right:4px;font-size:11px}.timeline-corner{font-size:11px}.sidebar-logout button{min-height:44px}}
@media(min-width:701px) and (max-width:900px){.shell{margin-left:190px}.sidebar{width:190px;padding:24px 10px 16px}.mobile-app-header{display:none}}
.timeline-closures{position:sticky;top:65px;z-index:2;background:white}.timeline-corner:first-child{position:sticky;top:0;z-index:4}.closure-row{position:sticky;top:65px;z-index:3}.timeline-scroll.week-grid{max-height:680px}.timeline-event .event-time{flex-shrink:0}
@media(max-width:700px){.timeline-closures,.closure-row{top:52px}}
.outside-month .month-date strong{color:#59665c}
.month-mobile-colors{display:none}.timeline-event.compact-event{padding:2px 5px;gap:0}.compact-event .event-time{font-size:11px;line-height:12px}.compact-event strong{font-size:11px;line-height:13px}.compact-event small{display:none}.timeline-event strong{flex-shrink:0}.timeline-event.compact-event:hover{height:auto!important;min-height:55px;z-index:5}.month-date:hover strong{box-shadow:0 0 0 2px #21644850}
@media(max-width:700px){.month-day{position:relative;min-height:98px}.month-date{min-height:65px}.month-entries{display:none}.month-mobile-colors{display:flex;gap:3px;flex-wrap:wrap;pointer-events:none}.month-mobile-colors i{height:6px;width:9px;background:var(--team-color,#216448);border-radius:2px}.month-closure{position:absolute;right:0;top:3px;min-width:24px;min-height:24px;justify-content:center}.month-date>span{font-size:11px}}
.selected-day:not(.is-today) .month-date strong{box-shadow:inset 0 0 0 1px #216448;color:#216448;background:#eff5ee}
@media(max-width:700px){.month-day{min-height:82px}.month-date{min-height:54px}.month-date>span{font-size:11px}}
/* Quer geteilte Spielfeldhälften: A/B links, C/D rechts der Mittellinie. */
.pitch-map:not(.room-map){grid-template-rows:repeat(2,1fr);gap:0}
.pitch-map:not(.room-map)>.quarter:nth-child(1),.picker-resource[data-resource-kind="pitch"] .unit-options>label:nth-child(1){grid-column:1;grid-row:1}
.pitch-map:not(.room-map)>.quarter:nth-child(2),.picker-resource[data-resource-kind="pitch"] .unit-options>label:nth-child(2){grid-column:1;grid-row:2}
.pitch-map:not(.room-map)>.quarter:nth-child(3),.picker-resource[data-resource-kind="pitch"] .unit-options>label:nth-child(3){grid-column:2;grid-row:1}
.pitch-map:not(.room-map)>.quarter:nth-child(4),.picker-resource[data-resource-kind="pitch"] .unit-options>label:nth-child(4){grid-column:2;grid-row:2}
.pitch-map:not(.room-map)>.quarter:nth-child(-n+2){border-right:2px solid #fff}
.pitch-map:not(.room-map)>.quarter:nth-child(1),.pitch-map:not(.room-map)>.quarter:nth-child(3){border-bottom:1px dashed #ffffff80}
.pitch-map:not(.room-map)>.quarter:nth-child(even){border-top:0}
.pitch-map:not(.room-map)::before{content:'';position:absolute;inset:32% 2px;pointer-events:none;border-left:4px solid #fff;border-right:4px solid #fff;z-index:1}
.pitch-half-hint{display:block;color:var(--muted);font-size:12px;margin-top:8px;line-height:1.5}
.picker-resource[data-resource-kind="pitch"] .unit-options{column-gap:16px;position:relative}
.picker-resource[data-resource-kind="pitch"] .unit-options::after{content:'';position:absolute;left:calc(50% - 1px);top:0;bottom:0;border-left:2px solid #6b8273;pointer-events:none}
/* Create from calendar; native links also work with keyboard and without JS. */
.calendar-slot{position:absolute;left:0;right:0;height:60px;z-index:0;text-decoration:none;color:#216448;cursor:crosshair;border-radius:6px}.calendar-slot>span{display:none;padding:8px;font-size:12px;font-weight:600}.calendar-slot:hover,.calendar-slot:focus-visible{background:#21644812;outline:1px solid #21644850;outline-offset:-1px}.calendar-slot:hover>span,.calendar-slot:focus-visible>span{display:block}.timeline-event.event{z-index:1}.timeline-event.event:hover,.timeline-event.event:focus-visible{z-index:5}.month-day{position:relative}.month-create{color:#216448}.month-create::after{content:'';position:absolute;inset:0;z-index:0;border-radius:4px}.month-create:hover::after,.month-create:focus-visible::after{background:#21644808;box-shadow:inset 0 0 0 2px #21644850}.month-create>span{position:absolute;bottom:5px;right:7px;width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#edf3ed;font-size:20px;z-index:1}.month-date,.month-event,.month-more,.month-closure{position:relative;z-index:1}.month-mobile-colors{position:relative;z-index:1}.detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.detail-section-heading h2{margin:0}.detail-section-heading .button{flex-shrink:0}.cancellation-actions.inline-form{align-items:flex-end;justify-content:flex-start;margin-top:20px}.cancellation-actions>label{display:flex;flex-direction:column;gap:6px;margin:0}.cancellation-actions select{display:block;margin:0;min-height:44px}.cancellation-actions .button{margin:0;min-height:44px}.booking-detail-heading{margin-bottom:24px}
@media(max-width:700px){.month-create>span{bottom:2px;right:2px;width:24px;height:24px;font-size:18px}.month-closure{position:absolute}.detail-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.detail-section-heading .button{width:100%}.cancellation-actions.inline-form{display:flex;flex-direction:column;align-items:stretch}.cancellation-actions>label,.cancellation-actions select,.cancellation-actions .button{width:100%}}

/* Review fixes (November 2026): auth layout, tap targets, booking status, compact lists. */
.shell.auth-shell{margin-left:0}
.brand-text span{font-weight:500;color:var(--muted)}
.sidebar nav{margin-top:40px}
.field-link{margin:-6px 0 8px;font-size:14px}.field-link a{display:inline-block;padding:10px 0}
.arrow-group .icon-button{width:44px;height:44px}
.back-link,.refresh-toggle{min-height:44px}
.booking-options summary{display:list-item;min-height:44px;padding:11px 0}
.sidebar .brand{font-size:16px;letter-spacing:-.3px;line-height:1.25}.sidebar .brand>span{min-width:0;overflow-wrap:anywhere}
.preview-result{scroll-margin-bottom:150px}
.booking-summary .preview-status{display:block;font-size:14px;font-weight:650;margin-bottom:2px}
.booking-summary .preview-status.is-free{color:var(--green)}
.booking-summary .preview-status.is-blocked{color:var(--danger)}
.booking-summary .preview-status.is-outdated{color:var(--warning)}
.filter-bar .filter-check{display:flex;width:auto;align-self:center;white-space:nowrap}
.availability-jump{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;margin-bottom:16px;padding:12px 18px;min-height:48px;background:var(--green-soft);border:1px solid #c9dcc6;border-radius:8px;color:var(--ink);font-size:15px}
.availability-jump:hover{text-decoration:none;border-color:var(--green)}
.availability-jump .jump-link{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:600}
.availability-jump .icon{width:16px}
.team-list,.notification-list{padding:0;overflow:hidden}
.team-row,.notification-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line)}
.team-row:last-child,.notification-row:last-child{border-bottom:0}
.team-row h2{display:flex;align-items:center;gap:10px;font-size:18px}
.team-row h2 .subtle{font-size:15px;font-weight:400;letter-spacing:0}
.team-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--team-color);flex-shrink:0}
.team-row .team-owner{margin:6px 0 0;font-size:14px}
.team-row .team-contacts{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px;overflow-wrap:anywhere}
.team-row .team-contacts a{display:inline-block;padding:4px 0}
.team-row .hint{margin:8px 0 0}
.success-text{color:#41632e}
.status-pill{vertical-align:middle;font-size:13px;font-weight:600;letter-spacing:0}
.danger-pill{background:#fbecea;color:var(--danger);border-color:#e7c3bd}.warning-text{color:var(--warning)}
.notification-row.unread{background:#fbfcf8}
.notification-row h2{font-size:16px;margin:4px 0}
.notification-meta{display:flex;align-items:center;gap:8px;font-size:13px}
.notification-meta .pill{margin:0}
.notification-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.notification-actions .text-button{min-height:44px}
@media (max-width:700px){
  .team-row,.notification-row{flex-direction:column;padding:16px}
  .notification-actions{flex-direction:row;align-items:center}
  .availability-jump{font-size:14px;padding:12px 14px}
}
.shell{min-height:100dvh;display:flex;flex-direction:column}.shell>.main-content{flex:1 0 auto;width:100%}
.empty-state .form-actions{justify-content:center;flex-wrap:wrap}
