@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@300;400;500;600&display=swap";:root{--color-primary:#1e4e9a;--color-primary-dark:#173e7a;--color-primary-soft:#eaf1ff;--color-primary-light:var(--color-primary-soft);--color-secondary:#0f766e;--color-secondary-light:#e3f6f2;--color-accent:#b7791f;--color-accent-light:#fff4da;--color-bg:#f4f7fb;--color-surface:#fff;--color-surface-muted:#f8fafd;--color-surface-soft:var(--color-surface-muted);--color-border:#dde5ef;--color-text:#172033;--color-text-soft:#334155;--color-text-muted:#6b7890;--color-text-inverse:#fff;--color-success:#1f8a4c;--color-success-soft:#e8f6ee;--color-success-light:var(--color-success-soft);--color-warning:#b7791f;--color-warning-soft:#fff4da;--color-warning-light:var(--color-warning-soft);--color-danger:#c2413b;--color-danger-soft:#fdecec;--color-danger-light:var(--color-danger-soft);--color-info:#1e63b6;--color-info-soft:#eaf2ff;--color-info-light:var(--color-info-soft);--event-personal:#7c3aed;--event-personal-light:#f1ecff;--event-appointment:var(--color-info);--event-appointment-light:var(--color-info-soft);--event-room:#0f766e;--event-room-light:#d8f5ef;--event-holiday:#ea580c;--event-holiday-light:#fff0df;--event-organization:#475569;--event-organization-light:#edf2f7;--event-out-of-office:#c2410c;--event-out-of-office-light:#fff1e8;--visibility-private:#64748b;--visibility-private-light:#eef2f6;--visibility-public:var(--color-success);--visibility-public-light:var(--color-success-soft);--visibility-internal:#b45309;--visibility-internal-light:var(--color-warning-soft);--font-regular:400;--font-medium:500;--font-semibold:600;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-page-title:22px;--line-tight:1.25;--line-meta:1.3;--line-ui:1.35;--line-body:1.45;--line-control:1.35;--line-event:1.3;--badge-height:18px;--badge-padding-x:5px;--badge-radius:3px;--chip-height:24px;--status-confirmed-bg:var(--color-success-soft);--status-confirmed-text:#166534;--status-pending-bg:var(--color-warning-soft);--status-pending-text:#92400e;--status-cancelled-bg:var(--color-danger-soft);--status-cancelled-text:#b91c1c;--status-rejected-bg:#f3e8e8;--status-rejected-text:#7f1d1d;--availability-available-bg:var(--color-success-soft);--availability-available-text:#166534;--availability-busy-bg:#eef2f6;--availability-busy-text:#475569;--availability-meeting-bg:var(--color-info-soft);--availability-meeting-text:#1d4ed8;--availability-ooo-bg:#fff1e8;--availability-ooo-text:#c2410c;--radius-xs:2px;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:14px;--space-6:18px;--space-7:22px;--card-padding:12px;--section-gap:12px;--control-height:34px;--control-height-sm:30px;--control-height-mobile:42px;--container-xs:100%;--container-sm:100%;--container-md:100%;--container-lg:1180px;--container-xl:1440px;--container-2xl:1680px;--page-padding-x:18px;--page-padding-y:14px;--space-page-mobile:12px;--space-page-tablet:14px;--space-page-desktop:16px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 2px 8px #0f172a0f;--shadow-active:0 1px 2px #0f172a0f;--focus-ring-primary:0 0 0 3px #1e4e9a1f;--focus-ring-info:0 0 0 3px #1e63b61f;--focus-ring-soft:0 0 0 3px #1e4e9a14;--color-surface-translucent:#fffffff0;--color-backdrop:#0f172a6b;--sidebar-width:210px;--sidebar-item-height:36px;--sidebar-icon-size:18px;--sidebar-active-bg:var(--color-primary-soft);--sidebar-active-border:var(--color-primary);--topbar-height:46px;--border:var(--color-border);--muted:var(--color-text-muted);--surface:var(--color-surface);--surface-soft:var(--color-surface-soft);--blue:var(--event-appointment);--teal:var(--event-room);--amber:var(--color-accent);--green:var(--color-success);--red:var(--color-danger);--purple:var(--event-personal);--shadow:var(--shadow-md);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:IBM Plex Sans Thai,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:var(--line-body);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}html,body,#root{width:100%;max-width:100%;min-height:100%;font-family:IBM Plex Sans Thai,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}*{box-sizing:border-box}*,:before,:after{min-width:0}body{min-width:320px;min-height:100vh;font-family:IBM Plex Sans Thai,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-md);font-weight:var(--font-regular);line-height:var(--line-body);background:var(--color-bg);margin:0;overflow-x:hidden}body.is-drawer-open{overflow:hidden}button,input,select,textarea,dialog,table,label{font:inherit;font-family:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{line-height:var(--line-tight)}h3{line-height:var(--line-ui)}strong,b,th{font-weight:var(--font-medium)}p,span,strong,h1,h2,h3,button,label,input,select,textarea{overflow-wrap:anywhere}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--color-bg);width:100%;max-width:100%;min-height:100vh;display:grid}.login-shell{background:var(--color-bg);place-items:center;min-height:100vh;padding:clamp(16px,4vw,32px);display:grid}.login-shell__main{width:min(100%,520px)}.login-page{width:100%;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;box-shadow:none;gap:12px;padding:clamp(16px,3vw,22px);display:grid}.login-card__header{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;display:grid}.login-card__header p,.login-card__header h1,.login-card__header span,.login-card__helper{margin:0}.login-card__header p{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-regular)}.login-card__header h1{font-size:var(--text-xl);font-weight:var(--font-medium);line-height:var(--line-tight)}.login-card__header span,.login-card__helper{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.login-user-list{gap:8px;display:grid}.login-user-card{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.login-user-card strong,.login-user-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.login-user-card strong{font-size:var(--text-md);font-weight:var(--font-medium)}.login-user-card span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.sidebar{background:var(--surface);border-right:1px solid var(--border);align-content:start;gap:10px;height:100vh;padding:10px 8px;display:grid;position:sticky;top:0}.sidebar__brand{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:42px;padding:2px 4px 10px;display:flex}.sidebar__brand-text{min-width:0}.sidebar__close{width:44px;height:44px;color:var(--color-text-soft);background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);place-items:center;margin-left:auto;display:none}.sidebar__brand strong,.sidebar__brand span,.topbar__user strong,.topbar__user span{display:block}.sidebar__brand strong{font-size:var(--text-md);font-weight:var(--font-medium);line-height:var(--line-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__brand span,.topbar__user span,.topbar__eyebrow{color:var(--muted);font-size:var(--text-sm)}.sidebar__brand span{font-size:var(--text-xs);font-weight:var(--font-regular);line-height:var(--line-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__mark{width:28px;height:28px;color:var(--color-primary);font-weight:var(--font-semibold);background:var(--color-primary-light);border:1px solid var(--color-info-light);border-radius:var(--radius-sm);place-items:center;display:grid}.sidebar__nav{gap:10px;display:grid}.sidebar__section{gap:4px;display:grid}.sidebar__section-title{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);line-height:var(--line-meta);padding:0 10px}.sidebar__section-list{gap:2px;display:grid}.sidebar__link{min-height:var(--sidebar-item-height);color:var(--color-text-soft);font-weight:var(--font-regular);border-radius:var(--radius-sm);border-left:3px solid #0000;align-items:center;gap:8px;padding:0 10px;line-height:1.2;text-decoration:none;display:flex}.sidebar__link:hover,.sidebar__link--active{color:var(--color-primary);background:var(--sidebar-active-bg)}.sidebar__link--active{font-weight:var(--font-medium);border-left-color:var(--sidebar-active-border);box-shadow:none}.sidebar__link>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__icon{flex:0 0 var(--sidebar-icon-size);width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);color:var(--color-text-muted);place-items:center;display:grid}.sidebar__icon svg{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);stroke-width:1.9px}.sidebar__link:hover .sidebar__icon,.sidebar__link--active .sidebar__icon{color:var(--color-primary)}.app-main{min-width:0}.topbar{z-index:10;min-height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--border);box-shadow:none;justify-content:flex-end;align-items:center;gap:8px;padding:5px 16px;display:flex;position:sticky;top:0}.topbar__context{gap:1px;min-width:0;display:grid}.topbar h1{font-size:clamp(.9rem,1vw,1rem);font-weight:var(--font-semibold);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.25;overflow:hidden}.button.mobile-menu-button,.mobile-menu-button{display:none}.topbar__user{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:5px;min-width:0;max-width:100%;display:flex}.topbar__user>div{min-width:0;max-width:min(180px,24vw)}.topbar__user strong,.topbar__user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar__user strong{font-weight:var(--font-regular)}.auth-banner{color:var(--color-text);background:var(--color-primary-light);border:1px solid var(--color-info-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.auth-banner strong{font-weight:var(--font-medium);margin-bottom:2px;display:block}.auth-banner p{color:var(--muted);margin:0}.role-preview-banner{background:var(--visibility-internal-light);border:1px solid var(--color-accent-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.role-preview-banner strong{color:var(--color-text);font-weight:var(--font-medium);display:block}.role-preview-banner p{color:var(--muted);margin:2px 0 0}.role-switcher{gap:8px;display:grid}.role-switcher--inline{margin-top:4px}.role-option{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.role-option--active{background:var(--color-primary-light);border-color:var(--color-info-light)}.role-option h3{font-size:var(--text-base);font-weight:var(--font-medium);margin:0 0 2px}.role-option p{color:var(--muted);font-size:var(--text-sm);margin:0}.avatar{width:32px;height:32px;color:var(--color-text-inverse);font-weight:var(--font-medium);border-radius:50%;flex:none;place-items:center;display:grid}.avatar--sm{width:24px;height:24px;font-size:var(--text-sm)}.avatar--large{width:44px;height:44px;font-size:1rem}.page-shell{width:100%;max-width:min(100%, var(--container-2xl));padding:var(--page-padding-y) var(--page-padding-x);margin:0 auto}.page{gap:var(--section-gap);width:100%;max-width:100%;display:grid}.page-header{gap:var(--space-3);min-width:0;padding:var(--card-padding);background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:flex-start;display:flex}.page-header__action{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-header h2{font-size:clamp(1.22rem,1.45vw,1.52rem);font-weight:var(--font-semibold);margin-bottom:2px;line-height:1.3}.page-header p{max-width:760px;color:var(--muted);font-size:var(--text-md);margin-bottom:0}.button{min-height:var(--control-height);color:var(--color-text-inverse);font-weight:var(--font-medium);line-height:var(--line-control);white-space:nowrap;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:5px;padding:0 9px;display:inline-flex;overflow:visible}.button>span:not(.button__icon){text-overflow:clip;min-width:0;overflow:visible}.button:hover{filter:brightness(.96)}.button:disabled{cursor:not-allowed;opacity:.55}.button--secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--border)}.button--secondary:hover{color:var(--color-primary-dark);background:var(--color-primary-soft);border-color:var(--color-info-light)}.button--ghost{color:var(--color-text-soft);background:0 0;border-color:#0000}.button--danger{color:var(--color-text-inverse);background:var(--red);border-color:var(--red)}.button--sm{min-height:var(--control-height-sm);font-size:var(--text-sm);padding:0 7px}.button--icon{width:var(--control-height-sm);min-width:var(--control-height-sm);height:var(--control-height-sm);min-height:var(--control-height-sm);padding:0}.button__icon{display:inline-flex}.badge{min-width:max-content;min-height:var(--badge-height);padding:2px var(--badge-padding-x);color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;background:var(--color-surface-soft);border-radius:var(--badge-radius);border:1px solid #0000;flex:none;align-items:center;gap:3px;line-height:1.25;display:inline-flex;overflow:visible}.badge--blue{color:var(--availability-meeting-text);background:var(--availability-meeting-bg);border-color:#c8dbff}.badge--teal{color:var(--event-room);background:var(--event-room-light);border-color:#bfe9df}.badge--amber{color:var(--status-pending-text);background:var(--status-pending-bg);border-color:#fde4a7}.badge--red{color:var(--status-cancelled-text);background:var(--status-cancelled-bg);border-color:#facaca}.badge--green{color:var(--status-confirmed-text);background:var(--status-confirmed-bg);border-color:#bfe8cc}.badge--purple{color:var(--purple);background:var(--event-personal-light);border-color:#ded3ff}.badge--gray{color:var(--visibility-private);background:var(--visibility-private-light);border-color:#d8e0ea}.badge--status-confirmed,.badge--status-available{color:var(--status-confirmed-text);background:var(--status-confirmed-bg);border-color:#bfe8cc}.badge--status-pending{color:var(--status-pending-text);background:var(--status-pending-bg);border-color:#fde4a7}.badge--status-cancelled{color:var(--status-cancelled-text);background:var(--status-cancelled-bg);border-color:#facaca}.badge--status-rejected{color:var(--status-rejected-text);background:var(--status-rejected-bg);border-color:#e8d0d0}.badge--status-busy{color:var(--availability-busy-text);background:var(--availability-busy-bg);border-color:#d8e0ea}.badge--status-in_meeting{color:var(--availability-meeting-text);background:var(--availability-meeting-bg);border-color:#c8dbff}.badge--status-out_of_office{color:var(--availability-ooo-text);background:var(--availability-ooo-bg);border-color:#ffd7bd}button,.button,.btn,.primary-button,.secondary-button{line-height:var(--line-control);overflow:visible}.chip,.badge,.status-badge,.visibility-badge,.filter-chip,.month-day-cell__chip,.portal-list-item__status,.portal-list-item__type{line-height:1.25;overflow:visible}.event-card,.event-card h3,.event-card__time,.event-card__description,.event-card__metadata,.event-card__label{line-height:var(--line-event);overflow:visible}.metric-strip,.filter-bar,.legend,.quick-actions,.calendar-toolbar,.current-user-panel{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;display:flex}.section-card{gap:var(--space-3);padding:var(--card-padding);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.section-card__header{gap:var(--space-1);display:grid}.section-card__header--inline{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section-card__header--inline>svg{color:var(--color-text-muted);flex:none}.section-card__header h3{font-size:clamp(.92rem,1vw,1rem);font-weight:var(--font-medium);margin-bottom:0}.section-card__header p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:0}.compact-section{gap:6px;padding:9px 10px}.plain-toggle{min-height:var(--control-height);color:var(--color-primary);font-weight:var(--font-medium);text-align:left;background:0 0;border:0;justify-self:start;padding:0}.danger-zone{border-color:var(--color-danger-light);background:var(--color-danger-light)}.home-dashboard{align-content:start}.home-hero{gap:var(--space-3);padding:var(--card-padding);background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:end;display:grid}.home-hero__content{gap:var(--space-2);min-width:0;display:grid}.home-hero__tag{color:var(--color-primary-dark);font-size:var(--text-xs);font-weight:var(--font-medium);background:var(--color-primary-soft);border:1px solid var(--color-info-light);border-radius:var(--badge-radius);justify-self:start;padding:2px 6px}.home-hero h2{font-size:clamp(1.22rem,1.45vw,1.52rem);font-weight:var(--font-semibold);margin:0;line-height:1.3}.home-hero p{max-width:620px;color:var(--muted);font-size:var(--text-md);margin:0}.home-hero__meta{flex-wrap:wrap;gap:6px;display:flex}.home-hero__meta span{min-height:var(--badge-height);padding:2px var(--badge-padding-x);color:var(--color-text-muted);font-size:var(--text-xs);background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--badge-radius);align-items:center;display:inline-flex}.home-hero__tools{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.home-hero__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.home-content-grid{gap:var(--space-3);grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:start;display:grid}.home-action-section,.home-schedule-section,.home-rooms-section{min-width:0}.home-action-list,.home-schedule-list{gap:6px;display:grid}.home-action-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:46px;padding:7px 8px;display:grid}.home-action-item .button{white-space:nowrap;justify-self:end}.home-action-item__icon{border-radius:var(--radius-sm);place-items:center;width:30px;height:30px;display:grid}.home-action-item__icon--amber{color:var(--color-warning);background:var(--status-pending-bg)}.home-action-item__icon--blue{color:var(--color-primary);background:var(--color-primary-light)}.home-action-item__icon--red{color:var(--color-danger);background:var(--color-danger-light)}.home-action-item strong,.home-action-item span,.home-schedule-item strong,.home-schedule-item span,.home-room-card strong,.home-room-card span{min-width:0;display:block}.home-action-item strong,.home-schedule-item strong,.home-room-card strong{font-size:var(--text-md);font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-action-item span,.home-schedule-item span,.home-room-card span{color:var(--color-text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-schedule-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:46px;padding:7px 8px;display:grid}.home-schedule-item time{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular);white-space:nowrap}.home-room-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;display:grid}.home-room-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:8px;min-width:0;padding:9px;display:grid}.home-room-card__header,.home-room-card__meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.home-room-card__header>div,.home-room-card__meta>span{min-width:0}.home-room-card__meta{color:var(--color-text-muted);font-size:var(--text-sm)}.home-room-card .button{justify-self:start}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.portal-shortcuts{align-content:start}.portal-shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:7px;display:grid}.portal-shortcut-grid--modules{grid-template-columns:repeat(auto-fit,minmax(min(100%,188px),1fr))}.portal-shortcut{min-height:48px;color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;padding:7px;display:grid}.portal-shortcut:hover,.portal-shortcut:focus-visible,.portal-list-item:hover,.portal-list-item:focus-visible{background:var(--color-primary-light);border-color:var(--color-info-light);outline:none}.portal-shortcut__icon{width:30px;height:30px;color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-info-light);border-radius:var(--radius-sm);place-items:center;display:grid}.portal-shortcut strong,.portal-shortcut small,.portal-list-item strong,.portal-list-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-shortcut strong{font-size:var(--text-md);font-weight:var(--font-medium)}.portal-shortcut small{color:var(--muted);font-size:var(--text-xs)}.portal-shortcut--module{background:var(--color-surface-muted);min-height:46px}.home-calendar-section{gap:var(--space-3)}.home-calendar-section>.filter-panel,.home-calendar-section>.calendar-toolbar,.home-calendar-section>.disclosure,.home-calendar-section>.home-filter-advanced{box-shadow:none}.home-filter-advanced{gap:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 10px;display:grid}.portal-list-block{align-content:start}.portal-list{gap:5px;display:grid}.portal-list-item{min-height:var(--control-height);color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:68px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.portal-list-item__date{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.portal-list-item__main{min-width:0;display:grid}.portal-list-item strong{font-size:var(--text-md);font-weight:var(--font-medium)}.portal-list-item small{color:var(--muted);font-size:var(--text-xs)}.portal-list-item__type{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);white-space:nowrap}.portal-list-item__status{min-height:var(--badge-height);padding:2px var(--badge-padding-x);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-medium);background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--badge-radius);align-items:center;display:inline-flex}.portal-list-item__status--confirmed{color:var(--status-confirmed-text);background:var(--status-confirmed-bg);border-color:#bfe8cc}.portal-list-item__status--pending{color:var(--status-pending-text);background:var(--status-pending-bg);border-color:#fde4a7}.approval-queue{align-content:start}.approval-list,.log-list{gap:6px;display:grid}.approval-item,.log-item{background:var(--color-bg);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:6px;display:grid}.approval-item strong,.approval-item span,.log-item strong,.log-item span{min-width:0;display:block}.approval-item strong,.log-item strong{font-weight:var(--font-medium)}.approval-item span,.log-item span{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.approval-item__actions,.integration-actions,.integration-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integration-panel{align-content:start}.integration-status span{color:var(--muted);font-size:var(--text-md)}.report-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;display:grid}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:70px;box-shadow:none;grid-template-columns:30px minmax(0,1fr);gap:7px;padding:8px;display:grid}.report-card__icon{width:30px;height:30px;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-sm);place-items:center;display:grid}.report-card span,.report-card strong,.report-card p{display:block}.report-card span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.report-card strong{font-size:1rem;font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;line-height:1.3;overflow:hidden}.report-card p{color:var(--muted);font-size:var(--text-sm);margin:3px 0 0}.usage-chart{gap:7px;display:grid}.usage-chart__row{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:minmax(120px,.7fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;padding:6px;display:grid}.usage-chart__row span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-regular);margin-bottom:4px;display:block}.usage-chart__track{background:var(--color-surface-soft);border-radius:var(--radius-sm);height:10px;overflow:hidden}.usage-chart__track i{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.usage-chart__track--hours i{background:var(--color-secondary)}.summary-card{width:100%;min-height:70px;color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:none;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:7px;padding:8px;display:grid}button.summary-card:hover{border-color:var(--color-primary);box-shadow:var(--focus-ring-soft)}.summary-card__icon{width:30px;height:30px;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-sm);place-items:center;display:grid}.summary-card--secondary .summary-card__icon{color:var(--color-secondary);background:var(--color-secondary-light)}.summary-card--accent .summary-card__icon{color:var(--color-accent);background:var(--color-accent-light)}.summary-card--success .summary-card__icon{color:var(--color-success);background:var(--color-success-light)}.summary-card span,.summary-card strong,.summary-card p{display:block}.summary-card span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.summary-card strong{font-size:var(--text-lg);font-weight:var(--font-medium);margin-top:2px;line-height:1.3}.summary-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:3px 0 0}.summary-card p,.report-card p,.settings-user-card p,.room-card p,.section-card__header p,.role-option p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-input{min-height:var(--control-height);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:0 8px;display:flex}.search-input:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring-primary)}.search-input input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0}.filter-panel{padding:var(--card-padding);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.filter-panel__controls{grid-template-columns:minmax(min(100%,220px),1.2fr) repeat(auto-fit,minmax(min(100%,148px),1fr));align-items:end;gap:8px;min-width:0;display:grid}.filter-panel__toggle{min-height:var(--control-height);align-self:end}.filter-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-chip{min-height:var(--chip-height);color:var(--color-text-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:5px;padding:2px 6px;display:inline-flex}.filter-chip strong{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--font-medium)}.filter-chip span{color:var(--color-text-muted);font-size:var(--text-xs)}.filter-chip button{width:22px;height:22px;color:var(--color-text-muted);border-radius:var(--radius-xs);background:0 0;border:0;place-items:center;display:inline-grid}.filter-chip button:hover{color:var(--color-text);background:var(--color-surface-soft)}.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric{min-width:0;padding:2px 5px}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.metric strong{font-size:var(--text-base);font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filter-bar{grid-template-columns:repeat(4,minmax(160px,1fr));display:grid}.field{gap:4px;min-width:0;display:grid}.field--full{grid-column:1/-1}.field__label{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:var(--font-medium)}.field-help{color:var(--muted);font-size:var(--text-xs)}.input{width:100%;min-height:var(--control-height);color:var(--color-text);background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:5px 8px}.input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring-info)}textarea.input{resize:vertical}.legend{justify-content:space-between;align-items:flex-start}.legend strong{font-weight:var(--font-medium);margin-bottom:6px;display:block}.legend__items{flex-wrap:wrap;gap:6px;display:flex}.legend__item{color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;gap:5px;display:inline-flex}.legend__item i{background:var(--visibility-private);border-radius:50%;width:10px;height:10px}.legend__item--personal i,.event-card--personal{border-left-color:var(--event-personal)}.legend__item--appointment i,.event-card--appointment{border-left-color:var(--event-appointment)}.legend__item--room_booking i,.event-card--room_booking{border-left-color:var(--event-room)}.legend__item--holiday i,.event-card--holiday{border-left-color:var(--event-holiday)}.legend__item--organization i,.event-card--organization{border-left-color:var(--event-organization)}.legend__item--out_of_office i,.event-card--out_of_office{border-left-color:var(--event-out-of-office)}.legend__item--personal i{background:var(--event-personal)}.legend__item--appointment i{background:var(--event-appointment)}.legend__item--room_booking i{background:var(--event-room)}.legend__item--holiday i{background:var(--event-holiday)}.legend__item--organization i{background:var(--event-organization)}.legend__item--out_of_office i{background:var(--event-out-of-office)}.legend__visibility--private{background:var(--visibility-private)}.legend__visibility--internal{background:var(--visibility-internal)}.legend__visibility--public{background:var(--green)}.calendar-toolbar{gap:6px;display:grid}.calendar-toolbar__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-toolbar__left{align-items:center;gap:7px;min-width:0;display:flex}.calendar-toolbar__left span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.calendar-toolbar h2{font-size:var(--text-base);margin:0}.calendar-toolbar__right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.calendar-toolbar__filters{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.segmented-control{background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);max-width:100%;padding:2px;display:inline-grid}.segmented-control button{min-width:58px;min-height:var(--control-height-sm);color:var(--color-text-muted);font-weight:var(--font-medium);border-radius:var(--radius-sm);background:0 0;border:0}.segmented-control button.is-active{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-active)}.month-calendar-wrap{gap:8px;width:100%;max-width:100%;display:grid}.month-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:100%;display:grid;overflow:hidden}.month-calendar__weekday{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-medium);text-align:center;background:var(--color-surface-soft);border-bottom:1px solid var(--border);padding:6px 7px}.month-calendar__day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;min-height:100px;padding:5px}.month-calendar__day:nth-child(7n+7){border-right:0}.month-calendar__day.is-muted{color:var(--color-text-muted);background:var(--color-bg)}.month-calendar__day.is-today,.week-calendar__day.is-today{background:var(--color-primary-light)}.month-calendar__day.is-selected{outline:2px solid var(--color-primary);outline-offset:-2px}.month-calendar__date-button{min-height:26px;color:inherit;background:0 0;border:0;padding:0;display:grid}.month-calendar__date-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:50%}.month-calendar__date{width:24px;height:24px;font-weight:var(--font-medium);border-radius:50%;place-items:center;display:grid}.month-calendar__date-row{justify-content:space-between;align-items:center;gap:5px;margin-bottom:5px;display:flex}.month-calendar__count{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.is-today .month-calendar__date{color:var(--color-text-inverse);background:var(--color-primary)}.month-calendar__events,.week-calendar__events,.day-agenda,.stack{gap:5px;display:grid}.month-calendar__more{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.month-calendar__agenda header{justify-content:space-between;align-items:center;gap:8px;display:flex}.month-calendar__agenda header span{color:var(--muted);font-size:var(--text-sm)}.month-calendar__agenda{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:6px;padding:8px;display:grid}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;max-width:100%;display:grid}.week-calendar__day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-content:start;gap:6px;min-height:190px;padding:7px;display:grid}.week-calendar__day header{justify-content:space-between;align-items:center;gap:8px;display:flex}.week-calendar__day header span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.event-card{background:var(--color-surface);border:1px solid var(--border);border-left:3px solid var(--visibility-private);border-radius:var(--radius-sm);box-shadow:none;grid-template-columns:64px minmax(0,1fr);gap:6px;padding:6px;display:grid}.event-card[role=button]{cursor:pointer}.event-card[role=button]:hover,.event-card[role=button]:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring-soft);outline:none}.event-card__time{color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--font-regular)}.event-card__content{min-width:0}.event-card__title-row{justify-content:space-between;align-items:flex-start;gap:5px;display:flex}.event-card h3{overflow-wrap:anywhere;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:2px;line-height:1.35}.event-card p{color:var(--muted);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;display:-webkit-box;overflow:hidden}.event-card__actions,.event-card__meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.event-card__label{min-width:0;color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;gap:4px;display:inline-flex}.event-card--compact{grid-template-columns:1fr;gap:2px;padding:4px 5px}.event-card--compact .event-card__time{font-size:var(--text-xs)}.event-card--compact h3{font-size:var(--text-xs);font-weight:var(--font-medium);margin-bottom:0}.event-card--compact .event-card__meta,.event-card--compact .event-card__actions{display:none}.event-card--private-block{background:var(--visibility-private-light);border-color:var(--color-border);border-left-color:var(--visibility-private)}.event-card--cancelled{opacity:.7;text-decoration:none}.event-card--cancelled h3{text-decoration:line-through}.event-card--rejected{color:var(--color-text-muted);background:var(--status-rejected-bg);border-left-color:var(--visibility-private);opacity:.82}.event-card__indicator{color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--font-medium);align-items:center;gap:4px;display:inline-flex}.empty-state{min-height:92px;padding:var(--card-padding);color:var(--muted);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);place-items:center;gap:6px;display:grid}.empty-state h3{color:var(--color-text-soft);margin-bottom:0}.empty-state p{max-width:360px;font-size:var(--text-sm);margin-bottom:0}.empty-state__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.week-calendar .empty-state,.month-calendar .empty-state{min-height:58px;padding:8px}.side-panel .empty-state,.preview-panel .empty-state,.room-availability-panel .empty-state{min-height:68px;padding:8px}.side-panel .empty-state svg,.preview-panel .empty-state svg,.room-availability-panel .empty-state svg{width:22px;height:22px}.quick-actions{flex-wrap:wrap}.form-panel,.side-panel,.person-detail,.current-user-panel,.settings-user-card,.room-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}.form-panel{padding:var(--card-padding);gap:8px;display:grid}.form-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.form-action-row .button{flex:none;min-width:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:8px;display:grid}.form-grid--compact{padding-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.form-disclosure,.disclosure{background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 8px}.form-disclosure summary,.disclosure summary{color:var(--color-text-soft);font-weight:var(--font-medium);cursor:pointer}.form-disclosure[open],.disclosure[open]{background:var(--color-surface)}.time-preset-selector{gap:5px;display:grid}.time-preset-selector__options{grid-template-columns:repeat(auto-fit,minmax(min(100%,118px),1fr));gap:5px;display:grid}.time-preset-option{min-height:var(--control-height-sm);color:var(--color-text-soft);font-weight:var(--font-medium);background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 7px}.time-preset-option:hover{color:var(--color-text);background:var(--color-surface-soft)}.time-preset-option.is-active{color:var(--color-primary);background:var(--color-primary-light);border-color:var(--color-info-light);box-shadow:var(--shadow-active)}.room-card .disclosure{background:0 0;border:0;padding:0}.disclosure .log-list,.disclosure .empty-state,.disclosure .stack,.disclosure .room-card__equipment,.disclosure .room-equipment-tags,.disclosure .report-grid,.disclosure .integration-actions,.disclosure .checkbox-grid,.disclosure .disclosure{margin-top:var(--space-3)}.checkbox-group{gap:5px;display:grid}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:5px;display:grid}.checkbox-card{min-height:var(--control-height-sm);color:var(--color-text-soft);font-weight:var(--font-regular);background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:5px 7px;display:flex}.form-error,.form-success{font-weight:var(--font-regular);margin:0}.form-error{color:var(--red)}.form-success{color:var(--green)}.disabled-reason{color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--font-regular);background:var(--color-warning-light);border:1px solid var(--color-accent-light);border-radius:var(--radius-sm);justify-self:start;margin:0;padding:6px 8px}.conflict-warning{color:var(--color-text);background:var(--color-warning-light);border:1px solid var(--color-accent-light);border-radius:var(--radius-sm);align-items:flex-start;gap:6px;padding:7px 8px;display:flex}.conflict-warning>svg{color:var(--color-warning)}.conflict-warning strong{font-weight:var(--font-medium);display:block}.conflict-warning p{margin:6px 0 0}.conflict-warning__line{gap:3px;margin-top:6px;display:grid}.two-column{gap:var(--section-gap);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;display:grid}.two-column--wide-form{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.availability-tabs{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:start}.availability-layout,.compare-layout{gap:var(--section-gap);grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;display:grid}.availability-form h3,.compare-controls h3{margin-bottom:2px}.availability-results,.compare-results,.shared-slots{gap:8px;min-width:0;display:grid}.availability-results,.timeline-grid,.shared-slots{padding:var(--card-padding);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}.participant-picker{gap:8px;display:grid}.participant-picker__list{gap:5px;max-height:320px;padding-right:2px;display:grid;overflow:auto}.participant-option{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:auto 30px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:42px;padding:5px 7px;display:grid}.participant-option--selected{background:var(--color-primary-light);border-color:var(--color-info-light)}.participant-option--compact{grid-template-columns:auto minmax(0,1fr) auto;min-height:38px}.participant-option span{min-width:0;display:grid}.participant-option strong,.participant-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participant-option strong{font-weight:var(--font-medium)}.participant-option small{color:var(--muted);font-size:var(--text-sm)}.working-hours,.working-hours__custom{gap:6px;min-width:0;display:grid}.working-hours__custom{grid-template-columns:repeat(2,minmax(0,1fr))}.available-slot-list{gap:6px;display:grid}.available-slot-list--compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.available-slot-card{background:var(--color-surface);border:1px solid var(--border);border-left:3px solid var(--color-success);border-radius:var(--radius-sm);gap:7px;padding:8px;display:grid;overflow:visible}.available-slot-card h3{font-size:var(--text-md);font-weight:var(--font-medium);margin-bottom:0;line-height:1.3;overflow:visible}.available-slot-card p{color:var(--muted);font-size:var(--text-sm);margin-bottom:0;line-height:1.35;overflow:visible}.available-slot-card__date{color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-regular);line-height:1.3;overflow:visible}.available-slot-card__meta{flex-wrap:wrap;gap:5px 7px;display:flex}.available-slot-card__meta span{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:var(--font-regular);align-items:center;gap:5px;line-height:1.3;display:inline-flex;overflow:visible}.available-slot-card__action-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.available-slot-card__action-row .button{flex:none}.available-slot-card__action-row p{flex:140px;min-width:0}.available-slot-action{width:auto;min-height:34px;font-size:var(--text-sm);font-weight:var(--font-regular);border-radius:var(--radius-md);flex:none;margin-left:auto;padding-inline:10px;line-height:1.35}.compare-controls{align-content:start}.timeline-grid{gap:8px;display:grid;overflow-x:auto}.timeline-row{grid-template-columns:minmax(170px,.25fr) minmax(360px,1fr);align-items:stretch;gap:8px;min-width:0;display:grid}.timeline-row header{align-items:center;gap:7px;min-width:0;display:flex}.timeline-row h3{font-size:var(--text-md);font-weight:var(--font-medium);margin-bottom:2px}.timeline-row__track{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:6px;min-width:0;display:grid}.timeline-block{background:var(--color-primary-light);border:1px solid var(--color-info-light);border-radius:var(--radius-sm);gap:3px;min-height:38px;padding:5px 7px;display:grid}.timeline-block strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.timeline-block span{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-block--private{background:var(--visibility-private-light);border-color:var(--border)}.timeline-block--free{background:var(--color-success-light);border-color:var(--color-success-light)}.user-calendar-modal{gap:8px;display:grid}.user-calendar-toolbar{padding:var(--space-3);background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.user-calendar-toolbar__nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.user-calendar-toolbar__nav strong{min-width:150px;color:var(--color-text);font-size:var(--text-md);font-weight:var(--font-medium);text-align:center}.segmented-control--three{grid-template-columns:repeat(3,minmax(0,1fr))}.user-calendar-month{gap:8px;display:grid}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0;display:grid}.month-grid--labels span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-regular);text-align:center}.month-day-cell{min-height:64px;color:var(--color-text-soft);text-align:left;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-content:start;gap:3px;padding:4px;display:grid}.month-day-cell:hover{border-color:var(--color-primary)}.month-day-cell--available{background:var(--color-success-light)}.month-day-cell--busy{background:var(--visibility-private-light)}.month-day-cell--today{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.month-day-cell--selected{color:var(--color-text);background:var(--color-primary-light);border-color:var(--color-primary)}.month-day-cell--outside-month{opacity:.58}.month-day-cell__date{font-weight:var(--font-medium);justify-content:space-between;align-items:center;gap:5px;line-height:1.2;display:flex}.month-day-cell__date small{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--font-medium)}.month-day-cell__status,.month-day-cell__count,.month-day-cell__chip{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.month-day-cell__status{color:var(--color-text-soft);font-weight:var(--font-regular)}.month-day-cell__chip{color:var(--color-text-soft);border-radius:var(--radius-sm);background:#ffffffb3;padding:2px 5px}.selected-day-agenda{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:7px;padding:8px;display:grid}.selected-day-agenda h3{font-size:var(--text-md);font-weight:var(--font-medium);margin-bottom:2px}.selected-day-agenda p{color:var(--muted);font-size:var(--text-sm);margin-bottom:0}.selected-day-agenda__list{gap:6px;display:grid}.selected-day-agenda__item{min-height:var(--control-height-sm);background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:76px minmax(0,1fr);align-items:center;gap:7px;padding:5px 7px;display:grid}.selected-day-agenda__item--private{background:var(--visibility-private-light)}.selected-day-agenda__item span{color:var(--muted);font-size:var(--text-xs)}.selected-day-agenda__item strong{font-size:var(--text-sm);font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-modal-actions,.selection-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.selection-banner{color:var(--color-text);background:var(--color-success-light);border:1px solid var(--color-success-light);border-radius:var(--radius-sm);justify-content:flex-start;padding:7px 8px}.segmented-control--two{grid-template-columns:repeat(2,1fr)}.side-panel,.person-detail{padding:var(--card-padding);gap:8px;display:grid}.event-detail-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.side-panel h3,.person-detail h3{font-weight:var(--font-medium);margin-bottom:0}.room-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:8px;display:grid}.room-grid>.empty-state{grid-column:1/-1}.room-card{align-content:start;gap:6px;min-height:100%;padding:10px;display:grid}.room-card-muted{background:var(--color-surface-soft);border-style:dashed}.room-card__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;display:grid}.room-card h3{font-size:var(--text-md);font-weight:var(--font-medium);margin-bottom:2px;line-height:1.35}.room-card p{color:var(--muted);margin-bottom:0}.room-card__header p{font-size:var(--text-sm);font-weight:var(--font-regular)}.room-card__status-row,.room-card__actions,.room-equipment-tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.room-card__actions{margin-top:auto}.room-card__actions>.button{flex:none;min-width:0}.room-equipment-tags span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 5px}.room-card__next{font-size:var(--text-sm);background:var(--color-surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 7px}.room-page-message{color:var(--color-text-soft);font-size:var(--text-sm);background:var(--color-primary-light);border:1px solid var(--color-info-light);border-radius:var(--radius-md);margin:0;padding:8px 10px}.room-availability-section{scroll-margin-top:calc(var(--topbar-height) + 12px)}.room-availability-calendar{gap:8px;min-width:0;display:grid}.room-availability-toolbar{background:var(--color-surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.room-availability-toolbar h3,.room-availability-toolbar p{margin:0}.room-availability-toolbar h3{font-size:var(--text-md);font-weight:var(--font-medium)}.room-availability-toolbar p{color:var(--color-text-muted);font-size:var(--text-sm)}.room-availability-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.room-availability-toolbar__actions strong{min-width:120px;color:var(--color-text);font-size:var(--text-md);font-weight:var(--font-medium);text-align:center}.room-availability-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:start;gap:8px;display:grid}.room-availability-month,.room-availability-panel,.room-availability-panel__block{gap:7px;min-width:0;display:grid}.room-availability-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0;display:grid}.room-availability-day{min-width:0;min-height:62px;color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-content:start;gap:3px;padding:5px;display:grid}.room-availability-day:hover,.room-availability-day:focus-visible{border-color:var(--color-primary);outline:none}.room-availability-day--available{background:var(--color-success-light)}.room-availability-day--partially_booked{background:var(--color-primary-light);border-color:var(--color-info-light)}.room-availability-day--fully_booked{background:var(--color-danger-light);border-color:var(--color-danger-light)}.room-availability-day--inactive{color:var(--color-text-muted);background:var(--color-surface-muted);border-style:dashed}.room-availability-day--today{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.room-availability-day--selected{color:var(--color-text);border-color:var(--color-primary);box-shadow:var(--focus-ring-soft)}.room-availability-day--outside{opacity:.55}.room-availability-day__number{font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:space-between;align-items:center;gap:4px;line-height:1.2;display:flex}.room-availability-day span:not(.room-availability-day__number),.room-availability-day small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.room-availability-day__number small{color:var(--color-primary);font-size:var(--text-xs)}.room-availability-panel{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.room-availability-panel__block{background:var(--color-surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.room-availability-panel__title,.room-booking-item,.room-slot-card{align-items:center;gap:7px;min-width:0;display:grid}.room-availability-panel__title{grid-template-columns:minmax(0,1fr) auto}.room-availability-panel__title strong,.room-booking-item strong,.room-slot-card strong{font-size:var(--text-md);font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-booking-list,.room-slot-list{gap:6px;display:grid}.room-booking-item{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:86px minmax(0,1fr);min-height:42px;padding:6px 7px}.room-booking-item time,.room-booking-item span,.room-slot-card span,.room-slot-card small,.room-availability-note{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-slot-card{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto;min-height:44px;padding:6px 7px}.room-slot-card small{color:var(--color-danger);grid-column:1/-1}.room-slot-card .button{justify-self:end}.room-management-actions{flex:0 auto;position:relative}.room-management-actions summary{min-height:var(--control-height-sm);color:var(--color-text-soft);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:0 8px;list-style:none;display:inline-flex}.room-management-actions summary::-webkit-details-marker{display:none}.room-management-actions[open] summary{color:var(--color-text);background:var(--color-surface-soft)}.room-management-actions__menu{z-index:5;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:156px;box-shadow:var(--shadow-md);gap:4px;margin-top:4px;padding:4px;display:grid;position:absolute;right:0}.room-management-actions__menu .button{justify-content:flex-start;width:100%}.room-crud-modal{gap:8px;display:grid}.room-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px;display:grid}.room-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.room-timeline{padding-top:var(--space-2);border-top:1px solid var(--border);gap:5px;display:grid}.room-timeline__item{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:62px minmax(0,1fr);align-items:start;gap:5px;padding:5px 6px;display:grid}.room-timeline__item strong{color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--font-medium)}.room-timeline__item span{min-width:0;color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-row{background:var(--color-surface);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:6px;display:flex}.room-summary-row{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:6px;padding:6px 7px;display:grid}.room-summary-row span{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-summary-row strong{color:var(--color-primary);font-size:var(--text-md);font-weight:var(--font-medium);justify-self:end}.people-layout{gap:var(--section-gap);grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;display:grid}.people-list{gap:6px;display:grid}.person-card{text-align:left;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:6px;width:100%;min-height:46px;padding:6px 7px;display:grid}.person-card:hover,.person-card--selected{border-color:var(--color-primary);box-shadow:var(--focus-ring-soft)}.person-card__main{min-width:0;display:grid}.person-card__main strong,.person-card__main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-card__main strong{font-weight:var(--font-medium)}.person-card__main span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.person-card__action{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.person-detail__header,.current-user-panel{align-items:center;gap:8px;display:flex}.person-detail__header p,.current-user-panel p{color:var(--muted);margin-bottom:0}.current-user-panel{justify-content:flex-start;padding:10px}.current-user-panel span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.current-user-panel h3{margin-bottom:2px}.settings-user-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;display:grid}.settings-user-card{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:6px;padding:8px;display:grid}.settings-user-card h3{font-size:var(--text-md);font-weight:var(--font-medium);margin-bottom:2px}.settings-user-card p{color:var(--muted);font-size:var(--text-sm);margin-bottom:6px}.settings-user-card>.button,.settings-user-card>.badge,.settings-user-card>.field{grid-column:1/-1;justify-self:start}.modal-backdrop{z-index:100;background:var(--color-backdrop);place-items:center;padding:12px;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,760px);max-height:calc(100dvh - 20px);box-shadow:var(--shadow-md);display:grid;overflow:hidden}.modal__header,.modal__footer{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;display:flex}.modal__header h2{font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:0;line-height:1.3}.confirm-dialog{color:var(--color-text);align-items:flex-start;gap:8px;display:flex}.confirm-dialog svg{color:var(--color-danger)}.confirm-dialog p{margin-bottom:0}.preview-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:6px;padding:8px;display:grid}.preview-panel h3{font-size:var(--text-md);font-weight:var(--font-medium);margin-bottom:0}.preview-list{gap:5px;display:grid}.preview-row{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.preview-row span:first-child{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.preview-value{min-width:0;color:var(--color-text-soft);font-weight:var(--font-regular);line-height:var(--line-ui)}.preview-value--primary{color:var(--color-text);font-weight:var(--font-medium)}.preview-row .badge{justify-self:start}.modal__body{gap:8px;padding:10px;display:grid;overflow:auto}.modal__footer{border-top:1px solid var(--border);border-bottom:0;justify-content:flex-end}.sidebar-backdrop{display:none}@media (width>=1536px){.page-shell{max-width:min(100%, var(--container-2xl));padding:18px}.page{gap:14px}}@media (width>=1280px) and (width<=1535px){.page-shell{max-width:min(100%, var(--container-xl))}}@media (width<=1279px){.page-shell{max-width:min(100%, var(--container-lg));padding:var(--space-page-tablet)}.dashboard-grid,.report-grid,.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid,.filter-bar,.metric-strip,.week-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.people-layout,.two-column--wide-form,.availability-layout,.compare-layout{grid-template-columns:1fr}}@media (width<=1120px){.app-shell{--drawer-width:min(var(--sidebar-width), 88vw);grid-template-columns:1fr}.button.mobile-menu-button,.mobile-menu-button{display:inline-flex}.sidebar{z-index:80;width:var(--drawer-width);border-right:1px solid var(--border);height:100dvh;box-shadow:var(--shadow-md);border-bottom:0;padding:12px 10px;transition:transform .18s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:70;top:0;bottom:0;right:0;left:var(--drawer-width);background:var(--color-backdrop);border:0;padding:0;display:block;position:fixed}.sidebar__brand{padding-bottom:12px}.sidebar__close{display:grid}.sidebar__nav{grid-template-columns:1fr;overflow-x:visible}.sidebar__link{min-height:var(--control-height-mobile);justify-content:flex-start;min-width:0;padding:0 10px}.topbar{padding:8px var(--space-page-tablet);justify-content:space-between;position:sticky}.filter-panel{grid-template-columns:1fr}.filter-panel>.button{justify-self:start}.filter-panel__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1023px){.dashboard-grid,.report-grid,.room-grid,.form-grid,.filter-bar,.metric-strip,.week-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-toolbar__top{flex-wrap:wrap;align-items:flex-start}.legend{align-items:flex-start}.page-header__action{max-width:100%}.home-hero{grid-template-columns:1fr}.home-hero__actions{justify-content:flex-start}.home-hero__tools{max-width:100%}.home-content-grid,.room-availability-layout{grid-template-columns:1fr}}@media (width<=767px){.page-shell{padding:var(--space-page-mobile)}.page-header,.legend{flex-direction:column;align-items:stretch}.page-header__action,.integration-actions,.approval-item__actions{justify-content:flex-start}.topbar{min-height:var(--topbar-height);padding:1px var(--space-page-mobile);flex-wrap:nowrap;align-items:center;gap:6px}.topbar__eyebrow,.topbar__user span{display:none}.topbar>div:not(.topbar__user){flex:auto;min-width:0}.topbar__user{flex:none;justify-content:flex-end;gap:4px;min-width:0}.topbar__user>div{display:none}.topbar__user .button{width:var(--control-height-mobile);min-width:var(--control-height-mobile);padding-inline:0}.topbar__user .button>span:not(.button__icon){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-banner,.role-preview-banner,.calendar-toolbar__top,.calendar-toolbar__right{flex-direction:column;align-items:stretch}.role-preview-banner{margin-bottom:10px}.role-option{grid-template-columns:1fr;align-items:stretch}.role-option .button{justify-self:start}.metric-strip,.filter-bar,.filter-panel__controls,.form-grid,.working-hours__custom,.room-grid,.week-calendar,.dashboard-grid,.report-grid,.usage-chart__row,.approval-item,.log-item{grid-template-columns:1fr}.portal-list-item{grid-template-columns:minmax(0,1fr) auto}.portal-list-item__date,.portal-list-item__main{grid-column:1/-1}.portal-list-item__type{justify-self:start}.home-hero__tools{grid-template-columns:1fr}.home-hero__actions{align-items:stretch}.home-hero__actions .button{flex:160px}.home-schedule-item{grid-template-columns:minmax(0,1fr) auto}.home-action-item{grid-template-columns:30px minmax(0,1fr)}.home-action-item .button{grid-column:1/-1;justify-self:stretch}.home-schedule-item time{grid-column:1/-1}.home-room-card__header,.home-room-card__meta{flex-wrap:wrap;align-items:flex-start}.room-availability-toolbar{flex-direction:column;align-items:stretch}.room-availability-toolbar__actions{justify-content:flex-start}.room-availability-toolbar__actions strong{text-align:left;min-width:0}.room-availability-grid{gap:4px}.room-availability-day{min-height:56px;padding:4px}.room-booking-item,.room-slot-card{grid-template-columns:1fr}.form-action-row{flex-direction:column;align-items:stretch}.form-action-row .button{width:100%}.available-slot-card__action-row{flex-direction:column;align-items:stretch}.available-slot-card__action-row .button{width:100%}.login-user-card{grid-template-columns:34px minmax(0,1fr)}.login-user-card .button{grid-column:1/-1;justify-self:stretch}.room-slot-card .button{justify-self:stretch;width:100%}.button,.input,.search-input,.checkbox-card,.time-preset-option,.segmented-control button,.plain-toggle{min-height:var(--control-height-mobile)}.button{max-width:100%}.button--icon{width:var(--control-height-mobile);min-width:var(--control-height-mobile);height:var(--control-height-mobile);min-height:var(--control-height-mobile)}.page-header__action .button,.quick-actions .button,.calendar-toolbar__filters .button,.integration-actions .button{flex:180px}.calendar-toolbar__left,.event-card__title-row,.summary-row,.person-detail__header,.current-user-panel{flex-wrap:wrap}.calendar-toolbar__left h2,.segmented-control{width:100%}.segmented-control button{min-width:0}.month-calendar{display:block}.month-calendar__weekday{display:none}.month-calendar__day{border-right:0;gap:5px;min-height:auto;padding:8px;display:grid}.month-calendar__day.is-muted{display:none}.month-calendar__date-row{margin-bottom:0}.month-calendar__date-button{min-width:var(--control-height-mobile);min-height:var(--control-height-mobile)}.month-calendar__agenda{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:8px;padding:8px;display:grid}.month-calendar__events .event-card:nth-child(n+4),.week-calendar__events .event-card:nth-child(n+5){display:none}.event-card{grid-template-columns:1fr}.event-card__label{max-width:100%}.usage-chart__track{width:100%}.approval-item,.log-item{align-items:start}.approval-item span,.log-item span,.person-card__main strong,.person-card__main span,.room-timeline__item span{white-space:normal}.preview-row{grid-template-columns:1fr;gap:2px}.person-card{grid-template-columns:32px minmax(0,1fr)}.participant-option:not(.participant-option--compact){grid-template-rows:auto auto;grid-template-columns:auto 32px minmax(0,1fr);min-height:92px}.participant-option:not(.participant-option--compact) .button{grid-column:1/-1;justify-self:start}.timeline-row,.timeline-row__track{grid-template-columns:1fr}.timeline-block span{white-space:normal}.calendar-modal-actions,.user-calendar-toolbar{flex-direction:column;align-items:stretch}.user-calendar-toolbar__nav{justify-content:space-between}.user-calendar-toolbar__nav strong{flex:120px;min-width:0}.person-card .badge{grid-column:2;justify-self:start}.person-card__action{grid-column:2}.room-card__header{grid-template-columns:1fr}.room-card__actions{align-items:stretch}.room-card__actions>.button,.room-management-actions{flex:100%}.room-management-actions summary{width:100%;min-height:var(--control-height-mobile)}.room-management-actions__menu{box-shadow:none;position:static}.room-form-grid{grid-template-columns:1fr}.room-form-actions{flex-direction:column;align-items:stretch}.room-form-actions .button{width:100%}}@media (width<=639px){.page{gap:12px}.page-header h2{font-size:var(--text-xl)}.section-card,.form-panel,.side-panel,.person-detail,.current-user-panel,.availability-results,.timeline-grid,.shared-slots{padding:12px}.report-card,.summary-card,.settings-user-card{grid-template-columns:32px minmax(0,1fr)}.report-card__icon,.summary-card__icon{width:32px;height:32px}.filter-panel,.metric-strip,.filter-bar,.legend,.quick-actions,.calendar-toolbar,.current-user-panel{padding:10px}.filter-chip-row{align-items:stretch}.filter-chip{max-width:100%;min-height:var(--control-height-mobile)}.filter-chip button{width:var(--control-height-mobile);height:var(--control-height-mobile);margin:-4px -8px -4px 0}.portal-shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.portal-shortcut,.portal-list-item{min-height:46px}.modal-backdrop{place-items:end stretch;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:100dvh}.modal__header,.modal__footer,.modal__body{padding:10px}.modal__footer{flex-direction:column;align-items:stretch}.modal__footer .button{width:100%}.month-grid{gap:4px}.month-day-cell{border-radius:var(--radius-sm);min-height:60px;padding:5px 4px}.month-day-cell__status,.month-day-cell__count,.month-day-cell__chip{font-size:var(--text-xs)}.month-day-cell__chip{display:none}.selected-day-agenda__item{grid-template-columns:1fr;gap:2px}}@media (width<=479px){.app-shell{--drawer-width:min(250px, 88vw)}.page-shell{padding:10px}.topbar{padding:1px 10px}.topbar h1{font-size:var(--text-base)}.topbar__user .badge,.topbar__user>svg{display:none}.sidebar{padding:10px 8px}.sidebar__brand{gap:8px;padding-inline:4px}.sidebar__brand span{display:none}.room-timeline__item,.summary-card,.report-card,.settings-user-card{grid-template-columns:1fr}.room-timeline__item span{text-overflow:clip;overflow:visible}.month-calendar__events .event-card:nth-child(n+3),.week-calendar__events .event-card:nth-child(n+4){display:none}}@media (width<=374px){.app-shell{--drawer-width:min(250px, 88vw)}.page-shell,.topbar{padding-inline:8px}.section-card,.form-panel,.side-panel,.person-detail,.current-user-panel,.calendar-toolbar,.metric-strip,.filter-bar,.legend,.quick-actions{padding:10px}.button{padding-inline:8px}.avatar{width:30px;height:30px;font-size:var(--text-sm)}}body,input,select,textarea,table{font-size:var(--text-md);line-height:var(--line-body)}.page-header h2,.home-hero h2{font-size:clamp(var(--text-xl), 1.7vw, var(--text-page-title));line-height:var(--line-tight)}.topbar h1,.modal__header h2,.calendar-toolbar h2{font-size:var(--text-base);line-height:var(--line-tight)}.section-card__header h3,.role-option h3,.preview-panel h3,.person-detail h3,.selected-day-agenda h3,.available-slot-card h3,.timeline-row h3,.settings-user-card h3,.room-card h3{font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--line-ui)}.section-card__header h3{font-size:var(--text-lg);line-height:var(--line-meta)}.page-header p,.section-card__header p,.home-hero p,.role-option p,.auth-banner p,.role-preview-banner p,.field-help,.empty-state p,.form-success,.form-disabled-reason,.conflict-warning,.preview-value,.room-card__next,.current-user-panel span,.settings-user-card p,.integration-status span{font-size:var(--text-sm);line-height:var(--line-ui)}.button{font-size:var(--text-md);line-height:var(--line-control)}.button--sm,.badge,.filter-chip strong,.filter-chip span,.topbar__eyebrow,.sidebar__section-title,.sidebar__brand span,.home-hero__tag,.home-hero__meta span,.portal-list-item__date,.portal-list-item__type,.portal-list-item__status,.report-card span,.report-card p,.summary-card span,.summary-card p,.metric span,.field__label,.calendar-toolbar__left span,.month-calendar__weekday,.month-calendar__count,.month-calendar__more,.week-calendar__day header span,.month-grid--labels span,.month-day-cell__date small,.month-day-cell__chip,.month-day-cell__count,.room-card__equipment span,.room-timeline__item strong,.room-timeline__item span,.person-card__action,.preview-row span:first-child,.selected-day-agenda__item span,.available-slot-card__date,.available-slot-card__meta,.timeline-block strong,.timeline-block span{font-size:var(--text-xs);line-height:var(--line-meta)}.sidebar__brand strong,.sidebar__link,.topbar__user strong,.topbar__user span,.portal-shortcut strong,.portal-list-item strong,.approval-item strong,.log-item strong,.participant-option strong,.report-card strong,.summary-card strong,.metric strong,.person-card__main strong,.room-summary-row strong,.preview-value--primary,.month-day-cell__date,.selected-day-agenda__item strong{font-size:var(--text-md);line-height:var(--line-meta)}.portal-shortcut small,.portal-list-item small,.approval-item span,.log-item span,.participant-option small,.available-slot-card p,.person-card__main span,.room-card__header p,.room-management-actions summary,.summary-row,.room-summary-row span{font-size:var(--text-sm);line-height:var(--line-ui)}.event-card__time{font-size:var(--text-xs);font-weight:var(--font-regular);line-height:var(--line-event)}.event-card h3{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--line-event)}.event-card__description,.event-card__metadata,.event-card--compact .event-card__time,.event-card--compact h3{font-size:var(--text-xs);line-height:var(--line-event)}.input,.search-input,textarea.input,select.input,.time-preset-option,.disclosure summary,.plain-toggle,.segmented-control button,.checkbox-card{font-size:var(--text-md);line-height:var(--line-control)}.avatar,.avatar--sm{font-size:var(--text-xs)}.avatar--large{font-size:var(--text-md)}.sidebar__brand strong{font-size:var(--text-md);font-weight:var(--font-medium);line-height:var(--line-meta)}.sidebar__brand span,.sidebar__section-title{font-size:var(--text-xs);font-weight:var(--font-regular);line-height:var(--line-meta)}.sidebar__link{font-size:var(--text-md);font-weight:var(--font-regular);line-height:1.2}.sidebar__link--active{font-weight:var(--font-medium)}.button.available-slot-action{font-size:var(--text-md);font-weight:var(--font-regular);line-height:1.35;overflow:visible}.button.available-slot-action>span:not(.button__icon){overflow:visible}
