:root{--color-green:#009972;--color-green-dark:#007d5d;--color-green-bg:#e6f5f0;--color-text:#1a1a1a;--color-sub:#555;--color-border:#e8e8e4;--color-bg:#f8f8f6;--color-white:#fff;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.5rem;--fs-xl:2rem;--fs-2xl:2.75rem;--gap-xs:.25rem;--gap-sm:.5rem;--gap-md:1rem;--gap-lg:1.5rem;--gap-xl:2.5rem;--gap-2xl:4rem;--control-h:56px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #00000014;--transition-fast:.15s ease;--transition-base:.25s ease;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-xs:.15s;--max-w-content:1600px;--sans:system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--reserved-bg:#fffbeb;--reserved:#f59e0b;--reserved-text:#b45309;--mine-bg:#ecfdf5;--mine:#10b981;--mine-text:#047857;--blocked-bg:#f0f0ed;--blocked:#8a8a82;--blocked-text:#555;--error-bg:#fef2f2;--error:#e53e3e;--error-text:#b91c1c;--success-bg:#ecfdf5;--success:#10b981;--success-text:#047857;--hatch:repeating-linear-gradient(135deg, transparent 0 4px, #00000012 4px 8px)}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font:var(--fs-base)/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-weight:800;line-height:1.2}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid var(--color-green);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-green-bg);color:var(--color-green-dark)}input,select,textarea{caret-color:var(--color-green)}.app-shell{max-width:var(--max-w-content);padding-inline:var(--gap-lg);margin:auto;overflow-x:clip}.detail-kind{align-items:center;gap:var(--gap-xs);margin:0 0 var(--gap-xs);color:var(--color-sub);font:600 var(--fs-xs) var(--sans);display:flex}.empty{color:var(--color-sub);font-size:var(--fs-sm)}.page-loading{padding:var(--gap-2xl) 0}.topbar{z-index:10;background:var(--color-white);border-bottom:1px solid var(--color-border);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:var(--gap-xs) var(--gap-md);min-height:68px;max-width:var(--max-w-content);padding-block:var(--gap-sm);padding-inline:var(--gap-lg);flex-wrap:wrap;margin:auto;display:flex}.brand{align-items:center;gap:var(--gap-md);text-decoration:none;display:flex}.brand-logo{width:auto;height:24px;transition:opacity var(--transition-fast);display:block}.brand:hover .brand-logo{opacity:.85}.brand-product{padding-left:var(--gap-md);border-left:1px solid var(--color-border);color:var(--color-green-dark);font:700 var(--fs-sm) var(--sans);letter-spacing:.12em;text-transform:uppercase}.topbar-actions{align-items:center;gap:var(--gap-md);flex-shrink:0;margin-left:auto;display:flex}.user-chip{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-sub);font:600 var(--fs-xs) var(--sans);padding:.3rem .75rem}.language-picker{align-items:center;gap:var(--gap-sm);display:inline-flex}.language-flag svg{border-radius:2px;width:21px;height:14px;display:block;box-shadow:inset 0 0 0 1px #00000026}.language-select{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-sub);font:600 var(--fs-xs) var(--sans);padding:.3rem .5rem}.text-link{color:var(--color-green-dark);font:600 var(--fs-sm) var(--sans);background:0 0;border:0;padding:0;text-decoration:none}.text-link:hover{text-decoration:underline}.hero{padding:var(--gap-xl) 0}.hero h1{margin:0}.hero-copy{max-width:460px;margin:var(--gap-md) 0 0;color:var(--color-sub);font-size:var(--fs-md);line-height:1.7}.surface{padding:var(--gap-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white)}.surface+.surface{margin-top:var(--gap-lg)}.surface-top{justify-content:space-between;align-items:end;gap:var(--gap-sm) var(--gap-lg);flex-wrap:wrap;display:flex}.surface-top h2,.section-heading h2{margin:0}.rule-note,.booking-count{color:var(--color-sub);font-size:var(--fs-sm)}.field{gap:var(--gap-xs);min-width:0;color:var(--color-text);font:600 var(--fs-sm) var(--sans);flex-direction:column;display:flex}.field input,.field select,.inline-input{width:100%;min-width:0;padding:var(--gap-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-text);font:var(--fs-base) var(--sans);transition:border-color var(--transition-fast)}.field input:focus-visible,.field select:focus-visible,.inline-input:focus-visible{border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-bg);outline:none}.primary-button{padding:.75rem var(--gap-lg);border-radius:var(--radius-full);background:var(--color-green);color:var(--color-white);font:600 var(--fs-sm) var(--sans);white-space:nowrap;transition:background-color var(--transition-fast), transform var(--duration-xs) var(--ease-out), box-shadow var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--color-green-dark);transform:translateY(-1px)scale(1.02);box-shadow:0 4px 14px #0000001f}.primary-button:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.98)}.action-group,.confirm-prompt{align-items:center;gap:var(--gap-sm) var(--gap-md);flex-wrap:wrap;display:flex}.action{color:var(--color-green-dark);font:600 var(--fs-sm) var(--sans);white-space:nowrap;background:0 0;border:0;padding:0;text-decoration:none}.action:hover{text-decoration:underline}.action.danger{color:var(--error-text)}.action.muted{color:var(--color-sub)}.confirm-prompt>span{color:var(--error-text);font-size:var(--fs-sm)}.confirm-prompt .action.danger{font-weight:700}.message{align-items:center;gap:var(--gap-sm);margin:var(--gap-md) 0 0;padding:.75rem var(--gap-md);border-radius:var(--radius-md);font-size:var(--fs-sm);display:flex}.message.success{background:var(--success-bg);color:var(--success-text)}.message.error{background:var(--error-bg);color:var(--error-text)}.message-icon{border-radius:var(--radius-full);width:20px;height:20px;color:var(--color-white);font:700 var(--fs-xs) var(--sans);flex-shrink:0;place-items:center;display:grid}.message.success .message-icon{background:var(--success)}.message.error .message-icon{background:var(--error)}.message-text{overflow-wrap:anywhere;flex:auto;min-width:0}.dismiss-message{padding:.75rem 4px .75rem var(--gap-md);color:inherit;font-size:var(--fs-lg);opacity:.7;background:0 0;border:0;flex-shrink:0;margin:-.75rem 0 -.75rem auto;line-height:1}.dismiss-message:hover,.dismiss-message:focus-visible{opacity:1}.page-notice{margin-top:var(--gap-md)}.access-code-notice{align-items:center;gap:var(--gap-sm) var(--gap-lg);margin:var(--gap-md) 0 0;padding:var(--gap-md) var(--gap-lg);border-radius:var(--radius-lg);background:var(--color-green-bg);font-size:var(--fs-sm);border:1px solid #00997233;flex-wrap:wrap;display:flex}.access-code-notice p{color:var(--color-text);flex:1 0 100%;margin:0}.access-code-details{gap:var(--gap-sm) var(--gap-xl);flex-wrap:wrap;margin:0;display:flex}.access-code-details dt{color:var(--color-sub);font:700 var(--fs-xs) var(--sans);letter-spacing:.1em;text-transform:uppercase}.access-code-details dd{margin:var(--gap-xs) 0 0;color:var(--color-green-dark);font:700 var(--fs-lg) ui-monospace, Menlo, Consolas, monospace;letter-spacing:.12em}.access-code-notice>.action{margin-left:auto}.calendar-app{--hour-height:46px;--gutter:3.4rem;--min-column:4.75rem;padding:0;overflow:hidden}.calendar{padding:0 var(--gap-lg) var(--gap-lg)}.calendar>.empty{margin:var(--gap-xl) 0}.calendar-toolbar{align-items:center;gap:var(--gap-sm);padding:var(--gap-md) var(--gap-lg);border-bottom:1px solid var(--color-border);display:flex}.calendar-toolbar h2{min-width:0;font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:400;overflow:hidden}.icon-button{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-sub);transition:background-color var(--transition-fast);background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-button:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.icon-button:disabled{opacity:.35}.today-button,.view-button{padding:.45rem var(--gap-md);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-white);color:var(--color-sub);font:600 var(--fs-sm) var(--sans);white-space:nowrap;transition:border-color var(--transition-fast), color var(--transition-fast)}.today-button:hover:not(:disabled),.view-button:hover{border-color:var(--color-green);color:var(--color-green-dark)}.today-button:disabled{opacity:.45}.view-button{align-items:center;gap:var(--gap-xs);display:flex}.view-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.day-strip{gap:var(--gap-sm);padding:var(--gap-lg) 0 var(--gap-md);grid-template-columns:repeat(7,1fr);display:grid}.day-card{gap:var(--gap-xs);min-width:0;padding:var(--gap-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);text-align:left;transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);flex-direction:column;display:flex}.day-card:hover:not(:disabled){border-color:var(--color-green);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.day-card:disabled{opacity:.45}.day-card span{color:var(--color-sub);font-size:var(--fs-xs);text-transform:uppercase}.day-card strong{font-size:var(--fs-xl);font-weight:800;line-height:1}.day-card small{color:var(--color-sub);font-size:var(--fs-xs)}.day-card.active{border-color:var(--color-green);background:var(--color-green-bg)}.day-card.active strong,.day-card.today strong{color:var(--color-green-dark)}.day-card.today span:after{margin-left:var(--gap-xs);color:var(--color-green);content:"•"}.calendar-legend{justify-content:space-between;align-items:center;gap:var(--gap-sm) var(--gap-lg);padding:var(--gap-md) 0;color:var(--color-sub);flex-wrap:wrap;display:flex}.legend-rooms,.legend-notes{align-items:center;gap:var(--gap-xs) var(--gap-md);flex-wrap:wrap;display:flex}.legend-rooms{font-size:var(--fs-sm)}.legend-notes{font-size:var(--fs-xs)}.legend-rooms span,.legend-notes span{align-items:center;gap:var(--gap-xs);display:flex}.legend-dot{border-radius:var(--radius-full);background:var(--event);flex:none;width:9px;height:9px}.legend-chip{border-left:3px solid var(--color-sub);background:var(--color-bg);border-radius:2px;flex:none;width:16px;height:11px}.legend-chip.mine{background:var(--color-text)}.legend-chip.blocked{background-image:var(--hatch)}.time-grid{overflow-x:auto}.time-grid-head,.time-grid-body{grid-template-columns:var(--gutter) repeat(var(--day-columns), minmax(var(--min-column), 1fr));display:grid}.time-grid-head{border-bottom:1px solid var(--color-border)}.day-head{padding:var(--gap-sm) var(--gap-xs);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;display:flex}.day-head span{color:var(--color-sub);font-size:var(--fs-xs);text-transform:uppercase}.day-head strong{border-radius:var(--radius-full);width:1.9rem;height:1.9rem;font-size:var(--fs-md);place-items:center;font-weight:400;line-height:1;display:grid}.day-head:hover strong{background:var(--color-bg)}.day-head.active strong{background:var(--color-green-bg);color:var(--color-green-dark)}.day-head.today strong,.day-head.today.active strong{background:var(--color-green);color:var(--color-white);font-weight:700}.time-grid-body{height:calc(var(--hour-height) * var(--hours));border-bottom:1px solid var(--color-border);position:relative}.time-gutter{position:relative}.time-gutter span{right:var(--gap-sm);color:var(--color-sub);font-size:var(--fs-xs);padding-top:2px;line-height:1;position:absolute}.day-column{border-left:1px solid var(--color-border);background-image:repeating-linear-gradient(to bottom, var(--color-border) 0 1px, transparent 1px calc(100% / var(--hours)));position:relative}.day-column.today{background-color:#f4fbf8}.now-line{right:0;left:var(--gutter);background:var(--error);pointer-events:none;z-index:3;height:2px;position:absolute}.now-dot{border-radius:var(--radius-full);background:var(--error);pointer-events:none;z-index:4;width:10px;height:10px;margin-top:-4px;position:absolute;left:-5px}.event{z-index:1;min-height:17px;padding:1px var(--gap-xs);border:0;border-left:3px solid var(--event);border-radius:var(--radius-sm);background:var(--event-wash);color:var(--event-ink);text-align:left;position:absolute;overflow:hidden}.event.mine{border-left-color:var(--event);background:var(--event-ink);color:var(--color-white)}.event.blocked{background-image:var(--hatch)}.event:hover,.event:focus-visible,.event[aria-expanded=true]{z-index:2;outline:2px solid var(--color-green);outline-offset:1px}.event b,.event small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.event b{font:700 var(--fs-xs) var(--sans);line-height:1.25}.event small{font-size:var(--fs-xs);opacity:.85;line-height:1.25}.calendar-empty{top:45%;right:0;left:var(--gutter);color:var(--color-sub);font-size:var(--fs-sm);text-align:center;pointer-events:none;margin:0;position:absolute}.month-head,.month-weeks{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-head span{padding:var(--gap-xs) var(--gap-sm);color:var(--color-sub);font-size:var(--fs-xs);text-transform:uppercase}.month-weeks{border-top:1px solid var(--color-border)}.month-cell{min-width:0;min-height:94px;padding:var(--gap-xs) 2px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:start;gap:1px;display:flex}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:var(--color-bg)}.month-day{border-radius:var(--radius-full);width:1.6rem;height:1.6rem;font-size:var(--fs-sm);background:0 0;border:0;place-items:center;margin-bottom:1px;font-weight:400;display:grid}.month-day:hover:not(:disabled){background:var(--color-bg)}.month-day:disabled{opacity:.35}.month-cell.outside .month-day{color:var(--color-sub)}.month-cell.today .month-day{background:var(--color-green);color:var(--color-white);font-weight:700}.month-chip{align-items:center;gap:var(--gap-xs);width:100%;padding:1px var(--gap-xs);border-radius:var(--radius-sm);color:var(--color-text);font:400 var(--fs-xs) var(--sans);text-align:left;background:0 0;border:0;display:flex;overflow:hidden}.month-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-chip time{color:var(--color-sub);flex:none}.chip-dot{border-radius:var(--radius-full);background:var(--event);flex:none;width:8px;height:8px}.month-chip:hover{background:var(--color-bg)}.month-chip.mine{background:var(--event-ink);color:var(--color-white)}.month-chip.mine time{color:inherit;opacity:.8}.month-chip.mine .chip-dot{background:var(--color-white)}.month-chip.blocked{background:var(--event-wash);background-image:var(--hatch)}.month-more{padding:1px var(--gap-xs);border-radius:var(--radius-sm);color:var(--color-sub);font:600 var(--fs-xs) var(--sans);text-align:left;white-space:nowrap;background:0 0;border:0;align-self:stretch}.month-more:hover{background:var(--color-bg)}.popover{z-index:50;width:21rem;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);padding:var(--gap-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-md);position:fixed;overflow-y:auto}.popover.sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;width:auto;max-width:none;max-height:85vh;inset:auto 0 0}.details-top{justify-content:space-between;align-items:center;gap:var(--gap-md);display:flex}.close-button{color:var(--color-sub);font-size:var(--fs-lg);background:0 0;border:0;line-height:1}.menu{margin:calc(var(--gap-lg) * -1);padding:var(--gap-sm);flex-direction:column;display:flex}.menu button{justify-content:space-between;align-items:center;gap:var(--gap-lg);padding:var(--gap-sm) var(--gap-md);border-radius:var(--radius-sm);color:var(--color-text);font:400 var(--fs-sm) var(--sans);text-align:left;background:0 0;border:0;display:flex}.menu button:hover,.menu button[aria-checked=true]{background:var(--color-bg)}.menu kbd{color:var(--color-sub);font:400 var(--fs-xs) var(--sans)}.day-peek{flex-direction:column;align-items:start;gap:2px;display:flex}.peek-day{color:var(--color-sub);font-size:var(--fs-xs);text-transform:uppercase;margin:0}.peek-number{margin-bottom:var(--gap-sm);font-size:var(--fs-xl);font-weight:400;line-height:1}.booking-details h3{margin:var(--gap-sm) 0 var(--gap-xs)}.booking-details p:not(.detail-kind){margin:0 0 var(--gap-sm);color:var(--color-sub);font-size:var(--fs-sm)}.booking-details strong,.booking-details small{font-size:var(--fs-sm);display:block}.booking-details small{margin-top:var(--gap-xs);color:var(--color-sub)}.booking-details .action-group,.booking-details .confirm-prompt{margin-top:var(--gap-md)}.details-top .detail-kind{margin:0}.reservation-form{gap:var(--gap-md);padding:var(--gap-lg) 0 var(--gap-xs);flex-direction:column;display:flex}.form-row{align-items:end;gap:var(--gap-md);display:grid}.form-row.what{grid-auto-columns:1fr;grid-auto-flow:column}.form-row.when{grid-template-columns:1fr 11rem 11rem auto}.reservation-form input,.reservation-form select{min-height:var(--control-h)}.form-note{max-width:60ch;margin:var(--gap-md) 0 0;color:var(--color-sub);font-size:var(--fs-xs)}.login-view{min-height:calc(100svh - 13rem);padding:var(--gap-xl) 0;place-items:center;display:grid}.login-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);width:100%;max-width:30rem;box-shadow:var(--shadow-md);animation:login-card-in .5s var(--ease-out) both;padding:3rem}.login-card h1{font-size:var(--fs-xl);text-wrap:balance;margin:0}.login-copy{margin:var(--gap-sm) 0 var(--gap-xl);color:var(--color-sub);font-size:var(--fs-sm);line-height:1.7}.login-form{gap:var(--gap-lg);display:grid}.login-submit{width:100%;margin-top:var(--gap-xs);padding-block:.875rem}.field-hint{color:var(--color-sub);font:400 var(--fs-xs)/1.4 var(--sans)}.login-help{margin:var(--gap-xl) 0 0;padding-top:var(--gap-lg);border-top:1px solid var(--color-border);color:var(--color-sub);font-size:var(--fs-xs);line-height:1.6}@keyframes login-card-in{0%{opacity:0;transform:translateY(.75rem)}}.my-bookings{margin-bottom:var(--gap-lg)}.section-heading{justify-content:space-between;align-items:end;gap:var(--gap-md);padding-bottom:var(--gap-md);border-bottom:1px solid var(--color-border);display:flex}.booking-list{margin-top:var(--gap-lg)}.booking-row{align-items:center;gap:var(--gap-md);min-width:0;padding:var(--gap-md) var(--gap-sm);border-top:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.booking-row:first-child{border-top:0}.booking-row:has(.confirm-prompt){background:var(--error-bg);border-top-color:#0000}.card-date{color:var(--color-green-dark);font:700 var(--fs-xs) var(--sans);letter-spacing:.04em;text-transform:uppercase;flex:0 0 116px}.booking-row-text{gap:var(--gap-xs);flex-direction:column;flex:auto;min-width:0;display:flex}.booking-row-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);font-weight:700;overflow:hidden}.booking-row-text span{color:var(--color-sub);font-size:var(--fs-sm)}.card-time{white-space:nowrap}footer{justify-content:space-between;gap:var(--gap-md);padding:var(--gap-lg) 0 var(--gap-xl);border-top:1px solid var(--color-border);color:var(--color-sub);font-size:var(--fs-sm);display:flex}.admin-page{padding:var(--gap-xl) 0 var(--gap-2xl)}.page-heading{margin-bottom:var(--gap-xl)}.page-heading h1{margin:0}.admin-page>.text-link{font-size:var(--fs-sm)}.admin-grid{gap:var(--gap-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.admin-card{min-width:0;padding:var(--gap-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white)}.admin-card h2{margin:0 0 var(--gap-lg);font-size:var(--fs-lg)}.admin-blocks{margin-top:var(--gap-lg)}.admin-users{margin-bottom:var(--gap-lg)}.card-hint{margin:-.75rem 0 var(--gap-lg);color:var(--color-sub);font-size:var(--fs-sm);line-height:1.6}.users-toolbar{justify-content:space-between;align-items:center;gap:var(--gap-sm) var(--gap-md);flex-wrap:wrap;display:flex}.users-toolbar .inline-input{flex:260px}.admin-users .stacked-form{margin-top:var(--gap-lg)}.list-section-label{margin:var(--gap-lg) 0 0;color:var(--color-sub);font:700 var(--fs-xs) var(--sans);letter-spacing:.1em;text-transform:uppercase}.admin-users .list{max-height:min(60vh,620px);overflow-y:auto}.stacked-form{gap:var(--gap-md);flex-direction:column;max-width:420px;display:flex}.stacked-form .primary-button{margin-top:var(--gap-xs)}.stacked-form .field input,.stacked-form .field select{padding:.625rem var(--gap-sm);font-size:var(--fs-sm)}.field-pair{gap:var(--gap-sm);grid-template-columns:1fr 1fr;display:grid}.list-row .field-pair{flex:1;min-width:0}.list{margin-top:var(--gap-lg);border-top:1px solid var(--color-border)}.list-row{justify-content:space-between;align-items:center;gap:var(--gap-sm) var(--gap-md);padding:var(--gap-sm) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.list-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.list-row-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.list-row-text small{color:var(--color-sub);font-size:var(--fs-sm)}.list-row .inline-input{padding:.5rem var(--gap-sm);font-size:var(--fs-sm);flex:1}.list-row .role-select{flex:0 auto;width:auto;min-width:9rem}@media (prefers-reduced-motion:reduce){.primary-button:hover:not(:disabled),.primary-button:active:not(:disabled),.day-card:hover,.login-card{animation:none}*,:before,:after{transition-duration:.01ms}}@media (width>=1280px){.form-row.when{grid-template-columns:1fr 12rem 12rem auto}}@media (width<=1024px){.form-row.when{grid-template-columns:1fr 1fr}.form-row.when .primary-button{grid-column:1/-1}}@media (width<=768px){.app-shell{padding-inline:var(--gap-md)}.topbar-inner{min-height:60px;padding-inline:var(--gap-md)}.brand-logo{height:20px}.hero{padding:var(--gap-lg) 0}.hero h1,.page-heading h1{font-size:var(--fs-xl)}.surface,.admin-card{padding:var(--gap-lg) var(--gap-md)}.surface-top h2,.section-heading h2{font-size:var(--fs-lg)}.calendar-app{--hour-height:42px;--gutter:2.9rem;--min-column:4rem}.calendar,.calendar-toolbar{padding-inline:var(--gap-md)}.form-row.what{grid-auto-flow:row}.month-cell{min-height:78px}.day-strip{margin-inline:calc(var(--gap-md) * -1);padding:var(--gap-md);display:flex;overflow-x:auto}.day-card{flex:0 0 92px}.login-view{min-height:0;padding:var(--gap-lg) 0 var(--gap-xl)}.login-card{padding:2rem}.my-bookings{padding-bottom:var(--gap-md)}.admin-page{padding:var(--gap-lg) 0 var(--gap-xl)}footer{gap:var(--gap-xs);flex-direction:column}}@media (width<=480px){.user-chip,.brand-product{display:none}.language-picker{gap:var(--gap-xs)}.language-flag svg{width:18px;height:12px}.language-select{padding:.25rem .35rem}.brand-logo{height:18px}.list-row .field-pair{flex-basis:100%;grid-template-columns:1fr;justify-items:start}.list-row .field-pair .inline-input{width:100%;max-width:280px}.user-edit .inline-input:first-child{flex-basis:100%}.calendar-app{--hour-height:38px;--gutter:2.6rem;--min-column:3.1rem}.calendar-toolbar{row-gap:var(--gap-xs);flex-wrap:wrap}.calendar-toolbar h2{flex-basis:100%;order:1}.calendar-toolbar .icon-button{width:34px;height:34px}.today-button,.view-button{padding:.4rem var(--gap-sm)}.form-row.when{grid-template-columns:1fr}.month-cell{gap:3px;min-height:62px}.month-chip{align-self:stretch;width:auto;height:7px;padding:0;font-size:0}.month-chip time,.month-chip span{display:none}.chip-dot{border-radius:var(--radius-sm);width:100%;height:7px}.month-chip.mine .chip-dot{background:var(--event-ink)}.month-more{font-size:10px}.action{min-height:38px;padding:9px 4px}.booking-row{align-items:flex-start;gap:var(--gap-sm) var(--gap-md);flex-wrap:wrap}.card-date{flex-basis:100%}.booking-row-text{flex:auto}.booking-row-text strong{white-space:normal;overflow:visible}.booking-row>.action-group{align-self:center}.booking-row>.confirm-prompt{flex:100%;margin-left:0}.confirm-prompt>span{flex:0 0 100%}}
