:root{--brand-lime:#c8f169;--brand-ink:#1f2a44;--brand-muted:#5d6680;--brand-line:#dfe4ee;--brand-paper:#f8faff;--brand-mist:#eef2fa;--brand-blue:#2f6bff;--brand-red:#d1495b;--shadow-soft:0 20px 60px #1f2a4414}*{box-sizing:border-box}html{background:var(--brand-paper)}body{color:var(--brand-ink);background:var(--brand-paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--brand-lime);outline-offset:3px}.login-shell{background:var(--brand-paper);grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);min-height:100svh;display:grid}.login-aside{background:var(--brand-lime);flex-direction:column;justify-content:space-between;padding:42px clamp(32px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-aside:after{content:"";border:2px solid #1f2a4433;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-180px;right:-210px}.brand-logo{width:min(220px,60vw);height:auto;display:block}.brand-logo-dark{filter:none}.login-aside .brand-logo{min-width:180px}.event-mark{width:155px;height:auto;display:block}.aside-copy{z-index:1;max-width:440px;position:relative}.aside-eyebrow,.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.aside-copy h1{letter-spacing:-.045em;margin:18px 0;font-size:clamp(36px,5vw,68px);line-height:.98}.aside-copy p{max-width:360px;margin:0;font-size:18px;line-height:1.45}.aside-footer{z-index:1;justify-content:space-between;align-items:end;gap:24px;font-size:13px;display:flex;position:relative}.aside-footer strong{margin-top:4px;font-size:15px;display:block}.login-panel{place-items:center;padding:32px;display:grid}.login-card{width:min(100%,440px)}.login-language{justify-content:flex-end;margin:-34px 0 26px;display:flex}.language-toggle{border:1px solid var(--brand-line);color:var(--brand-muted);background:0 0;border-radius:4px;padding:7px 10px;font-size:12px;font-weight:700}.language-toggle:hover{border-color:var(--brand-ink);color:var(--brand-ink)}.login-card .brand-row{justify-content:space-between;align-items:center;gap:24px;margin-bottom:54px;display:flex}.login-card .brand-row .brand-logo{width:132px}.login-card .brand-row .event-mark{width:120px}.login-card h2{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(30px,4vw,43px);line-height:1.04}.login-card .lead{color:var(--brand-muted);margin:0 0 30px;line-height:1.5}.field{gap:8px;margin-bottom:19px;display:grid}.field label{font-size:14px;font-weight:700}.field input{width:100%;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:4px;padding:14px 15px}.field input:focus{border-color:var(--brand-ink);outline:0;box-shadow:0 0 0 3px #b6fa2f4d}.password-input{position:relative}.password-input input{padding-right:124px}.password-visibility-toggle{color:var(--brand-muted);background:0 0;border:0;border-radius:4px;padding:6px 8px;font-size:12px;font-weight:700;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-visibility-toggle:hover{background:var(--brand-mist);color:var(--brand-ink)}.password-visibility-toggle:focus-visible{outline:2px solid var(--brand-lime);outline-offset:1px}.login-button{background:var(--brand-ink);color:#fff;border:0;border-radius:4px;width:100%;padding:15px 18px;font-weight:700;transition:transform .15s,background .15s}.login-button:hover{background:#2d2c2e;transform:translateY(-1px)}.login-button:disabled{opacity:.65;cursor:wait;transform:none}.form-error{color:#7d251d;border-left:4px solid var(--brand-red);background:#fbe8e3;margin:0 0 18px;padding:12px 14px;font-size:14px}.app-shell{background:var(--brand-mist);grid-template-columns:270px 1fr;min-height:100svh;display:grid}.side-nav{background:var(--brand-ink);color:#fff;flex-direction:column;align-self:start;height:100svh;padding:26px 20px 22px;display:flex;position:sticky;top:0;overflow:hidden}.side-brand{align-items:center;gap:18px;margin:0 10px 38px;display:flex}.side-nav .brand-logo{filter:brightness(0)invert();width:124px;margin:0}.side-event-mark{filter:brightness(0)invert();opacity:.88;width:74px;height:auto}.nav-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.12em;margin:0 12px 10px;font-size:11px}.nav-links{gap:3px;display:grid}.side-nav .nav-links{flex:auto;min-height:0;overflow-y:auto}.nav-link{color:#ffffffc7;border-radius:3px;min-height:44px;padding:11px 12px;font-size:14px;line-height:1.45;text-decoration:none;display:block}.nav-link:hover,.nav-link.active{color:var(--brand-lime);background:#b6fa2f24}.side-nav-footer{border-top:1px solid #ffffff29;margin-top:auto;padding:18px 10px 0}.shell-user{align-items:center;gap:10px;font-size:13px;display:flex}.shell-user>div:last-child{gap:2px;min-width:0;display:grid}.shell-user strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-user span{color:#ffffff9e;font-size:11px}.shell-actions{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.side-nav .language-toggle{color:#ffffffdb;border-color:#ffffff42}.side-nav .logout-button{color:#ffffffdb}.install-app-button{width:100%;color:var(--brand-lime);text-align:left;background:#b6fa2f24;border:1px solid #b6fa2f8c;border-radius:6px;margin:0 0 16px;padding:10px 12px;font-weight:700}.install-app-button:hover{background:#b6fa2f3d}.main-area{min-width:0}.mobile-shell-header,.mobile-drawer-layer{display:none}.topbar{background:var(--brand-paper);border-bottom:1px solid var(--brand-line);justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:0 clamp(22px,4vw,54px);display:flex}.topbar-title{align-items:center;gap:14px;display:flex}.topbar-title .event-mark{width:84px}.topbar-title span{border-left:1px solid var(--brand-line);color:var(--brand-muted);padding-left:14px;font-size:13px}.user-menu{align-items:center;gap:12px;font-size:13px;display:flex}.user-avatar{background:var(--brand-lime);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.logout-button{color:var(--brand-muted);background:0 0;border:0;padding:8px 0;font-size:13px}.logout-button:hover{color:var(--brand-ink)}.content{max-width:1560px;padding:clamp(24px,4vw,54px)}.page-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-.04em;margin:6px 0 0;font-size:clamp(31px,4vw,46px)}.page-heading p{color:var(--brand-muted);margin:10px 0 0}.status-note{color:var(--brand-blue);white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:inline-flex}.status-note:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.date-tabs{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:18px;display:grid}.date-tab{border:1px solid var(--brand-line);background:var(--brand-paper);text-align:left;color:var(--brand-muted);padding:15px 18px}.date-tab:hover{border-color:var(--brand-ink)}.date-tab.selected{border-color:var(--brand-lime);background:var(--brand-lime);color:var(--brand-ink)}.date-tab .day{font-size:14px;font-weight:700;display:block}.date-tab .date{letter-spacing:-.04em;margin-top:3px;font-size:23px;font-weight:700;display:block}.date-tab .hours{margin-top:6px;font-size:12px;display:block}.timetable-card{background:var(--brand-paper);border:1px solid var(--brand-line);box-shadow:var(--shadow-soft);overflow:hidden}.timetable-meta{border-bottom:1px solid var(--brand-line);justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.timetable-meta strong{font-size:16px}.timetable-meta span{color:var(--brand-muted);font-size:13px}.timetable-scroll{overflow-x:auto}.timetable{grid-template-columns:72px repeat(3,minmax(205px,1fr));min-width:760px;display:grid}.time-header{background:var(--brand-ink);min-height:70px}.room-header{color:#fff;background:var(--brand-ink);border-left:1px solid #ffffff38;flex-direction:column;justify-content:center;min-height:70px;padding:15px 16px;display:flex}.room-header strong{font-size:14px;line-height:1.15}.room-header span{color:#fff9;text-transform:uppercase;letter-spacing:.1em;margin-top:6px;font-size:10px}.time-label{min-height:43px;color:var(--brand-muted);border-right:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line);padding:12px 8px 0 16px;font-size:11px}.slot{border-right:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line);background:#fff;min-height:43px;position:relative}.slot span{z-index:1;letter-spacing:.02em;font-size:10px;font-weight:700;display:inline-block;position:relative}.slot.available{color:var(--brand-blue);background:#fbfffd}.slot.available:hover{background:#f3fbf6}.slot.booked{color:#8f4b39;background:repeating-linear-gradient(135deg,#fffaf8,#fffaf8 7px,#f9eeeb 7px 14px)}.slot.own-booking{color:var(--brand-ink);background:#f2fce0}.slot.restricted{color:#878a92;background:#edeff4}.slot:disabled{cursor:not-allowed;opacity:1}.slot:after{content:"";border-top:1px dashed #e2e6ee;position:absolute;top:50%;left:15px;right:15px}.future-note{color:var(--brand-muted);align-items:center;gap:10px;padding:22px;font-size:13px;display:flex}.future-note:before{content:"i";border:1px solid var(--brand-lime);width:20px;height:20px;color:var(--brand-ink);border-radius:50%;place-items:center;font-weight:700;display:grid}.simple-page{background:var(--brand-paper);border:1px solid var(--brand-line);max-width:800px;padding:32px}.simple-page h1{margin-top:0}.role-chip{background:var(--brand-lime);letter-spacing:.07em;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.timetable-legend{border-top:1px solid var(--brand-line);color:var(--brand-muted);flex-wrap:wrap;gap:18px;padding:16px 22px;font-size:12px;display:flex}.timetable-legend span{align-items:center;gap:7px;display:inline-flex}.legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.available-dot{background:var(--brand-blue)}.booked-dot{background:var(--brand-red)}.own-dot{background:var(--brand-lime)}.restricted-dot{background:#9ca0aa}.toast{z-index:20;background:var(--brand-ink);color:#fff;box-shadow:var(--shadow-soft);padding:13px 17px;font-size:14px;position:fixed;top:94px;right:28px}.modal-backdrop{z-index:30;background:#1e1f227a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.booking-dialog{background:var(--brand-paper);width:min(100%,720px);max-height:calc(100svh - 44px);padding:28px;overflow:auto;box-shadow:0 28px 90px #00000038}.confirm-dialog{background:var(--brand-paper);width:min(100%,420px);padding:28px;box-shadow:0 28px 90px #00000038}.confirm-dialog h2{margin:7px 0 15px;font-size:28px}.confirm-dialog p{line-height:1.55}.dialog-muted{color:var(--brand-muted);font-size:14px}.dialog-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.dialog-header h2{letter-spacing:-.03em;margin:5px 0 0;font-size:30px}.icon-button{color:var(--brand-muted);background:0 0;border:0;padding:0 4px;font-size:30px;line-height:1}.icon-button:hover{color:var(--brand-ink)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.field select,.field textarea{width:100%;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:4px;padding:13px 14px}.field textarea{resize:vertical}.field-hint{color:var(--brand-muted);font-weight:400}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.secondary-button,.danger-button{border:1px solid var(--brand-line);color:var(--brand-ink);background:0 0;border-radius:4px;padding:12px 15px;font-weight:700}.secondary-button:hover{border-color:var(--brand-ink)}.danger-button{color:#8f3026;border-color:#e3bcb4}.danger-button:hover{background:#fff3f0}.narrow-button{width:auto;padding-inline:24px}.dialog-submit{width:auto}.meetings-toolbar{min-height:25px}.success-note{color:var(--brand-blue);font-size:14px}.meeting-list{gap:14px;display:grid}.meeting-card{background:var(--brand-paper);border:1px solid var(--brand-line);padding:22px}.meeting-card.cancelled{opacity:.7}.meeting-card-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.meeting-card h2{margin:7px 0 0;font-size:22px}.booking-status{letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.booking-status.active{color:#176a50;background:#e6f5ee}.booking-status.cancelled{color:#8d3c30;background:#fbe8e3}.meeting-details{color:var(--brand-ink);flex-wrap:wrap;gap:22px;margin-top:20px;font-size:14px;display:flex}.meeting-details span{gap:4px;display:grid}.meeting-details strong{color:var(--brand-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.meeting-actions{justify-content:flex-end;gap:10px;margin-top:21px;display:flex}.setting-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.setting-row h2,.access-panel h2{margin:0 0 7px}.setting-row p,.access-panel>p{color:var(--brand-muted);margin:0 0 22px}.toggle-row{align-items:flex-start;gap:12px;margin:8px 0 24px;display:flex}.toggle-row input{width:18px;height:18px;accent-color:var(--brand-lime)}.toggle-row span{gap:3px;display:grid}.toggle-row small{color:var(--brand-muted)}.access-table{border-top:1px solid var(--brand-line)}.access-row{border-bottom:1px solid var(--brand-line);grid-template-columns:1.4fr repeat(2,minmax(110px,1fr));align-items:center;gap:14px;padding:15px 0;display:grid}.access-row>span{gap:3px;display:grid}.access-row small{color:var(--brand-muted);font-size:12px}.access-header{color:var(--brand-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.access-toggle{border:1px solid var(--brand-line);min-width:62px;color:var(--brand-muted);background:#fff;border-radius:20px;justify-self:start;padding:7px 13px;font-size:12px;font-weight:700}.access-toggle.on{border-color:var(--brand-blue);color:#176a50;background:#e6f5ee}@media (max-width:880px){.login-shell{grid-template-columns:1fr}.login-aside{min-height:340px;padding:28px}.login-aside .aside-copy h1{max-width:450px;font-size:43px}.aside-footer{margin-top:36px}.login-panel{padding:38px 24px 50px}.app-shell{grid-template-columns:1fr}.side-nav{display:none}.mobile-shell-header{background:var(--brand-paper);border-bottom:1px solid var(--brand-line);align-items:center;gap:14px;min-height:58px;padding:0 16px;display:flex}.mobile-menu-button{width:44px;height:44px;color:var(--brand-ink);background:0 0;border:0;font-size:24px}.mobile-shell-header strong{font-size:15px}.mobile-drawer-layer{z-index:60;background:#1e1f227a;display:block;position:fixed;inset:0}.mobile-drawer{width:min(84vw,340px);height:100%;min-height:0;padding:22px 18px max(22px, env(safe-area-inset-bottom));background:var(--brand-ink);color:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:18px 0 45px #00000040}.mobile-drawer-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.mobile-drawer .icon-button{color:#fff}.mobile-drawer .nav-links{flex:auto;align-content:start;min-height:0;padding-bottom:18px;display:grid;overflow-y:auto}.mobile-drawer-footer{background:var(--brand-ink);border-top:1px solid #ffffff29;flex:none;padding-top:18px}.mobile-drawer .shell-actions{margin-top:18px}.mobile-drawer .language-toggle{color:#fff;border-color:#ffffff47}.mobile-drawer .logout-button{color:#fff}.mobile-drawer .install-app-button{margin:0 0 16px}}.install-help-layer{z-index:70;background:#1e1f227a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.install-help{border:1px solid var(--brand-line);background:var(--brand-paper);width:min(100%,680px);max-height:calc(100svh - 44px);color:var(--brand-ink);text-align:left;border-radius:10px;padding:24px;overflow-y:auto;box-shadow:0 28px 90px #00000038}.install-help-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.install-help h2{margin:5px 0 7px;font-size:24px}.install-help-heading p{color:var(--brand-muted);margin:0;line-height:1.55}.install-device-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.install-device{border:1px solid var(--brand-line);background:#fff;border-radius:8px;padding:16px}.install-device.detected{border-color:var(--brand-blue);box-shadow:inset 0 0 0 1px var(--brand-blue)}.install-device-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.install-device-title strong{font-size:14px}.install-device-title span{color:#176a50;text-transform:uppercase;letter-spacing:.05em;background:#e6f5ee;border-radius:10px;flex:none;padding:3px 6px;font-size:9px;font-weight:700}.install-device ol{color:var(--brand-muted);margin:14px 0 0;padding-left:18px;font-size:12px;line-height:1.55}.install-device li+li{margin-top:7px}.install-help-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.install-help-actions .login-button{width:auto}@media (max-width:560px){.content{padding:24px 16px 40px}.page-heading{display:block}.status-note{margin-top:18px}.date-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.date-tab{padding:13px}.date-tab .date{font-size:20px}.timetable-meta{display:block}.timetable-meta span{margin-top:5px;display:block}.form-grid{grid-template-columns:1fr}.booking-dialog{padding:21px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}.setting-row{display:block}.access-row{grid-template-columns:1fr repeat(2,72px);gap:8px}.access-header span:not(:first-child){overflow-wrap:anywhere}.meeting-card-heading{display:block}.meeting-card-heading .booking-status{margin-top:14px}.meeting-actions{flex-wrap:wrap;justify-content:flex-start}.toast{top:82px;left:16px;right:16px}}.operations-summary{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.operations-summary h2{margin:7px 0 0;font-size:28px}.operations-summary-stats{color:var(--brand-muted);flex-wrap:wrap;justify-content:end;gap:10px 20px;font-size:13px;display:flex}.operations-summary-stats strong{color:var(--brand-ink);margin-right:4px;font-size:20px}.operations-card{background:var(--brand-paper);border:1px solid var(--brand-line);box-shadow:var(--shadow-soft);overflow:hidden}.operations-grid{grid-template-columns:72px repeat(3,minmax(245px,1fr));min-width:900px;display:grid;overflow-x:auto}.operations-time-column,.operations-room{min-width:0}.operations-room+.operations-room,.operations-room-column+.operations-room-column{border-left:1px solid var(--brand-line)}.operations-room-header{color:#fff;background:var(--brand-ink);flex-direction:column;justify-content:center;height:70px;padding:15px 16px;display:flex}.operations-room-header strong{font-size:14px}.operations-room-header span{color:#fff9;margin-top:5px;font-size:11px}.operations-time{border-right:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line);min-height:54px;color:var(--brand-muted);padding:16px 8px 0 16px;font-size:11px}.operations-room-grid{display:grid;position:relative}.operations-slot{border-bottom:1px solid var(--brand-line);background:#fff;min-height:54px}.operations-booking{z-index:2;border:1px solid #bddcd2;border-left:4px solid var(--brand-blue);color:var(--brand-ink);background:#f3fbf7;border-radius:3px;grid-column:1;min-height:48px;margin:5px;padding:10px 12px;overflow:auto}.operations-starting_soon{border-color:#bce667;border-left-color:var(--brand-lime);background:#f6fce8}.operations-in_progress{border-color:#bce667;border-left-color:var(--brand-lime);background:#f2fce0}.operations-completed{background:#f4f8f2;border-color:#c9d4c5 #c9d4c5 #c9d4c5 #6f8b65}.operations-booking-top,.panel-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.operations-booking-top strong{font-size:13px}.operations-status{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.operations-time-range{margin-top:5px;font-size:12px;font-weight:700}.operations-facts{color:var(--brand-muted);flex-wrap:wrap;gap:5px 10px;margin-top:7px;font-size:11px;display:flex}.operations-booking p{color:var(--brand-ink);margin:8px 0 0;font-size:12px}.operations-empty{z-index:1;color:var(--brand-muted);grid-area:2/1/-1;place-self:center;font-size:13px}.operations-footer{border-top:1px solid var(--brand-line);color:var(--brand-muted);justify-content:space-between;gap:16px;padding:16px 20px;font-size:12px;display:flex}.report-filters{background:var(--brand-paper);border:1px solid var(--brand-line);flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:flex}.report-filters label,.audit-filters label{color:var(--brand-muted);gap:6px;font-size:12px;font-weight:700;display:grid}.report-filters select,.audit-filters select,.audit-filters input{min-width:160px;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:4px;padding:10px 11px}.report-updated{color:var(--brand-muted);align-items:center;gap:10px;margin-left:auto;font-size:12px;display:inline-flex}.refresh-button{color:var(--brand-blue);background:0 0;border:0;padding:6px 9px;font-weight:700}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.metric-card{background:var(--brand-paper);border:1px solid var(--brand-line);min-height:90px;padding:15px 16px}.metric-card span{color:var(--brand-muted);font-size:12px;display:block}.metric-card strong{letter-spacing:-.04em;margin-top:9px;font-size:27px;display:block}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-panel{background:var(--brand-paper);border:1px solid var(--brand-line);min-width:0;box-shadow:var(--shadow-soft);padding:22px}.dashboard-wide{grid-column:span 2}.panel-heading{margin-bottom:18px}.panel-heading h2{margin:5px 0 0;font-size:22px}.panel-heading p{color:var(--brand-muted);margin:6px 0 0;font-size:13px}.panel-heading>strong{color:var(--brand-blue);font-size:13px}.chart-bars{gap:12px;display:grid}.chart-bar-row{gap:5px;font-size:12px;display:grid}.chart-bar-track{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.chart-bar-track:before{content:"";background:#e8ebf1;border-radius:2px;grid-area:1/1;height:17px}.chart-bar-track i{z-index:1;background:var(--brand-blue);border-radius:2px;grid-area:1/1;min-width:3px;height:17px}.chart-bar-track b{color:var(--brand-muted);white-space:nowrap;font-size:11px;font-weight:700}.status-chart{align-items:center;gap:28px;display:flex}.status-donut{border-radius:50%;place-items:center;width:150px;height:150px;display:grid;position:relative}.status-donut:after{content:"";background:var(--brand-paper);border-radius:50%;position:absolute;inset:25px}.status-donut span{z-index:1;place-items:center;font-size:28px;font-weight:700;display:grid}.status-donut small{color:var(--brand-muted);font-size:11px;font-weight:400}.status-legend{flex:1;gap:9px;font-size:12px;display:grid}.status-legend span{grid-template-columns:10px 1fr auto;align-items:center;gap:7px;display:grid}.status-legend i{border-radius:50%;width:9px;height:9px}.status-legend b{font-size:12px}.dashboard-meeting-list,.activity-list{gap:8px;display:grid}.dashboard-meeting-list article{border:1px solid var(--brand-line);justify-content:space-between;gap:15px;padding:12px;font-size:12px;display:flex}.dashboard-meeting-list article div{gap:4px;display:grid}.dashboard-meeting-list article span{color:var(--brand-muted)}.activity-list article{border-bottom:1px solid var(--brand-line);grid-template-columns:55px 1fr;gap:12px;padding:10px 0;font-size:12px;display:grid}.activity-list time{color:var(--brand-blue);font-weight:700}.activity-list article div{gap:3px;display:grid}.activity-list article span{color:var(--brand-muted)}.empty-state{color:var(--brand-muted);font-size:14px}.audit-panel{background:var(--brand-paper);border:1px solid var(--brand-line);box-shadow:var(--shadow-soft);padding:22px}.audit-filters{border-bottom:1px solid var(--brand-line);flex-wrap:wrap;align-items:end;gap:12px;padding-bottom:18px;display:flex}.audit-search{flex:1;min-width:200px}.audit-search input{width:100%}.audit-count{color:var(--brand-muted);padding:18px 0 10px;font-size:12px}.audit-list{display:grid}.audit-event{border-bottom:1px solid var(--brand-line);grid-template-columns:110px 1fr;gap:16px;padding:16px 0;display:grid}.audit-event time{color:var(--brand-blue);font-size:12px;font-weight:700}.audit-event-heading{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.audit-event-heading>span{color:var(--brand-muted);font-size:12px}.audit-action{text-transform:uppercase;letter-spacing:.05em;background:#ebeef4;padding:4px 7px;font-weight:700;color:var(--brand-ink)!important;font-size:10px!important}.audit-event-main p{margin:7px 0 0;font-size:13px}.audit-event details{color:var(--brand-muted);margin-top:9px;font-size:12px}.audit-change{overflow-wrap:anywhere;background:#f4f5f9;gap:5px;margin-top:8px;padding:8px;font-family:monospace;font-size:11px;display:grid}.audit-pagination{color:var(--brand-muted);justify-content:center;align-items:center;gap:18px;padding-top:18px;font-size:12px;display:flex}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.operations-summary{display:block}.operations-summary-stats{justify-content:start;margin-top:18px}.operations-footer{display:block}.operations-footer span{margin-top:4px;display:block}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-wide{grid-column:auto}.report-updated{width:100%;margin-left:0}.status-chart{justify-content:center}.audit-event{grid-template-columns:1fr;gap:6px}}.report-export-actions{flex-wrap:wrap;gap:7px;display:flex}.report-export-actions .secondary-button{padding:8px 10px}html[dir=rtl] body{text-align:right}html[dir=rtl] .topbar-title span{border-left:0;border-right:1px solid var(--brand-line);padding-left:0;padding-right:14px}html[dir=rtl] .room-header,html[dir=rtl] .operations-room-header{text-align:right}html[dir=rtl] .time-label,html[dir=rtl] .operations-time{text-align:right;padding-left:8px;padding-right:16px}html[dir=rtl] .form-error{border-left:0;border-right:4px solid var(--brand-red)}html[dir=rtl] th{text-align:right}.user-management{gap:18px;display:grid}.user-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.user-management-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.user-management h2,.import-preview h2{margin:5px 0 0;font-size:24px}.user-management .simple-page{max-width:none}.file-button{align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-help code{color:var(--brand-ink);background:#ebeef4;margin-top:18px;padding:14px;line-height:1.7;display:block}.user-search{border:1px solid #c0c4cf;border-radius:4px;width:100%;margin-bottom:18px;padding:12px 14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px;font-size:13px}th{text-align:left;color:var(--brand-muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-size:10px}th,td{border-bottom:1px solid var(--brand-line);vertical-align:top;padding:13px 12px}tbody tr:hover{background:#fafef2}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.table-actions .secondary-button{padding:7px 9px;font-size:12px}.status-active{color:#176a50;font-weight:700}.status-inactive{color:#8d3c30;font-weight:700}.import-preview{max-width:none}.import-preview .panel-heading>strong{color:var(--brand-blue)}@media (max-width:900px){.user-management-grid{grid-template-columns:1fr}}button,a,input,select,textarea,.dashboard-panel,.meeting-card,.simple-page,.timetable-card,.nav-link{transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s,transform .18s,opacity .18s}.timetable-card,.simple-page,.meeting-card,.dashboard-panel,.booking-dialog,.confirm-dialog{border-radius:10px}.date-tab,.secondary-button,.danger-button,.login-button,.field input,.field select,.field textarea{border-radius:7px}.timeline-board{--room-column:184px;width:calc(var(--room-column) + (var(--timeline-columns) * 78px));min-width:calc(var(--room-column) + (var(--timeline-columns) * 78px));background:#fff;position:relative}.timeline-header,.timeline-row{grid-template-columns:var(--room-column) calc(var(--timeline-columns) * 78px);display:grid}.timeline-header{z-index:5;position:sticky;top:0}.timeline-room-spacer{background:var(--brand-ink);color:#ffffffad;text-transform:uppercase;letter-spacing:.09em;align-items:center;padding:13px 18px;font-size:10px;font-weight:700;display:flex}.timeline-times{background:var(--brand-ink);color:#ffffffd1;min-height:49px;display:grid}.timeline-times span{text-align:center;white-space:nowrap;border-left:1px solid #ffffff1f;padding:16px 8px 10px;font-size:11px;font-weight:700}.timeline-room{z-index:4;background:var(--brand-paper);border-right:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line);flex-direction:column;justify-content:center;gap:5px;min-height:72px;padding:13px 18px;display:flex;position:sticky;left:0}.timeline-room strong{font-size:14px;line-height:1.2}.timeline-room span{color:var(--brand-blue);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.timeline-track{border-bottom:1px solid var(--brand-line);background:#fff;min-height:72px;display:grid;position:relative}.timeline-track,.timeline-times{min-width:calc(var(--timeline-columns) * 78px)}.timeline-free,.timeline-covered{border:0;border-left:1px solid var(--brand-line);background:#fff;grid-row:1;min-width:78px;min-height:72px}.timeline-free{color:var(--brand-blue);position:relative}.timeline-free span{opacity:0;place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;inset:0}.timeline-free:hover,.timeline-free:focus-visible{background:#f4fbf8;box-shadow:inset 0 0 0 2px #183b8b38}.timeline-free:hover span,.timeline-free:focus-visible span{opacity:1}.timeline-free:disabled{cursor:default;background:#fff}.timeline-booking{z-index:3;box-sizing:border-box;text-align:left;border:1px solid;border-radius:7px;min-width:0;margin:0;padding:10px 12px;position:absolute;top:7px;bottom:7px;overflow:hidden}.timeline-booking strong,.timeline-booking small,.timeline-booking-detail{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.timeline-booking strong{font-size:12px}.timeline-booking small{margin-top:5px;font-size:11px}.timeline-booking-detail{color:var(--brand-muted);margin-top:4px;font-size:10px}.timeline-booking.busy{color:var(--brand-ink);background:#f0f2f5;border-color:#caced9 #caced9 #caced9 #8e929d;border-left-style:solid;border-left-width:4px;padding-left:26px}.timeline-booking.busy:before{content:"";background:#8e929d;border-radius:50%;width:7px;height:7px;display:block;position:absolute;top:15px;left:10px}.timeline-booking.own{border-color:#bee76b;border-left:4px solid var(--brand-lime);color:var(--brand-ink);cursor:pointer;background:#f3fce2}.timeline-booking.own:hover{background:#ebffc2;transform:translateY(-1px);box-shadow:0 8px 18px #1f2a441a}.timeline-loading{z-index:6;color:var(--brand-muted);pointer-events:none;background:#fdfefaad;justify-content:center;align-items:flex-start;gap:9px;padding-top:22px;font-size:13px;display:flex;position:absolute;inset:49px 0 0}.inline-spinner{border:2px solid var(--brand-line);border-top-color:var(--brand-blue);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.timetable-subtitle{color:var(--brand-muted);margin-top:4px;font-size:12px;display:block}.required-legend{color:var(--brand-muted);margin:-10px 0 18px;font-size:12px}.required-legend span{color:var(--brand-red);font-weight:700}.meeting-groups{gap:12px;display:grid}.meeting-group{gap:10px;display:grid}.collapse-toggle{border:1px solid var(--brand-line);background:var(--brand-paper);width:100%;color:var(--brand-ink);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:13px 15px;font-weight:700;display:flex}.collapse-toggle:hover{border-color:var(--brand-lime);background:#fafdf2}.collapse-chevron{width:20px;color:var(--brand-blue);font-size:18px;display:inline-block}.group-count{background:var(--brand-mist);min-width:24px;color:var(--brand-muted);text-align:center;border-radius:12px;padding:3px 7px;font-size:11px}.credentials-page{width:100%;max-width:none}.credentials-page .table-wrap{margin-inline:-10px;padding-inline:10px}.credentials-page table{min-width:1080px}.credentials-page th,.credentials-page td{padding-inline:16px}.credential-notice{border:1px solid #bee76b;border-left:4px solid var(--brand-lime);background:#f3fce2;gap:8px;max-width:560px;margin:0 0 20px;padding:18px;display:grid}.credential-notice p{color:var(--brand-muted);margin:0;font-size:14px}.temporary-password{width:fit-content;color:var(--brand-ink);letter-spacing:.04em;background:#fff;border:1px solid #b0bbd4;border-radius:4px;padding:9px 11px;font-size:18px;font-weight:700;display:inline-block}.credentials-page th:first-child{min-width:190px}.credentials-page th:nth-child(2){min-width:170px}.credentials-page th:nth-child(3){min-width:260px}.credentials-page th:nth-child(4){min-width:170px}.credentials-page th:nth-child(5){min-width:180px}.credentials-page th:nth-child(6){min-width:170px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:760px){.timeline-board{--room-column:150px}.timeline-room{padding-inline:12px}.timeline-room strong{font-size:12px}.timeline-booking{padding:8px}.timeline-booking.busy{padding-left:22px}.timeline-booking.busy:before{top:12px;left:8px}.timeline-booking strong{font-size:11px}.timeline-booking small{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.meeting-groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.settings-grid .field label span{color:var(--brand-red)}.meeting-panel{border:1px solid var(--brand-line);background:var(--brand-paper);border-radius:10px;min-width:0;overflow:hidden}.meeting-panel .collapse-toggle{border:0;border-bottom:1px solid var(--brand-line);border-radius:0}.meeting-panel .meeting-list{gap:0;max-height:min(60vh,610px);padding:4px;overflow-y:auto}.meeting-row{border:0;border-bottom:1px solid #e2e6ee;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;padding:10px 8px;display:grid}.meeting-row-primary,.meeting-row-time,.meeting-row-summary{grid-column:1;gap:3px;min-width:0;display:grid}.meeting-row .booking-status{grid-area:1/2;justify-self:end}.meeting-row .compact-button{grid-area:2/2/span 2;align-self:center}.meeting-row:last-child{border-bottom:0}.meeting-row:hover{background:#fafdf2}.meeting-row-primary,.meeting-row-time,.meeting-row-summary{gap:3px;min-width:0;display:grid}.meeting-row strong,.meeting-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meeting-row-primary strong{font-size:11px}.meeting-row-primary span,.meeting-row-time span,.meeting-row-summary span{color:var(--brand-muted);font-size:11px}.meeting-row-time strong,.meeting-row-summary strong{font-size:12px}.meeting-row .booking-status{justify-self:end;padding:4px 6px;font-size:9px}.compact-button{padding:6px 8px;font-size:11px}.booking-detail-dialog{background:var(--brand-paper);border-radius:10px;width:min(100%,680px);max-height:calc(100svh - 44px);padding:28px;overflow:auto;box-shadow:0 28px 90px #00000038}.detail-heading{border-bottom:1px solid var(--brand-line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.detail-heading h3{margin:0;font-size:24px}.detail-heading p{color:var(--brand-muted);margin:5px 0 0}.booking-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:22px 0 0;display:grid}.booking-detail-grid div{min-width:0}.booking-detail-grid dt{color:var(--brand-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.booking-detail-grid dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.booking-detail-grid .detail-wide{grid-column:span 3}.booking-secondary-details{border-top:1px solid var(--brand-line);margin-top:22px;padding-top:14px}.booking-secondary-details summary{color:var(--brand-muted);font-size:12px;font-weight:700}.booking-secondary-details .booking-detail-grid{margin-top:16px}.field-error{border:0;margin-top:5px;padding:0;display:block}.upcoming-panel{background:var(--brand-paper);border:1px solid var(--brand-line);box-shadow:var(--shadow-soft);border-radius:10px;padding:18px}.upcoming-filters{border-bottom:1px solid var(--brand-line);flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:8px;padding-bottom:18px;display:flex}.upcoming-filters label{color:var(--brand-muted);gap:6px;font-size:12px;font-weight:700;display:grid}.upcoming-filters select,.upcoming-filters input{min-width:165px;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:4px;padding:10px 11px}.upcoming-search{flex:1}.upcoming-search input{width:100%}.upcoming-room-panels{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.upcoming-room-panel .meeting-list{max-height:min(60vh,610px);overflow-y:auto}.upcoming-meeting-row{grid-template-columns:minmax(0,1fr) auto}.vertical-chart{border-bottom:1px solid var(--brand-line);align-items:end;gap:12px;min-height:205px;padding:16px 4px 0;display:flex}.vertical-chart-item{text-align:center;flex:1;grid-template-rows:22px 1fr 28px;gap:5px;min-width:0;height:190px;display:grid}.vertical-chart-item strong{color:var(--brand-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.vertical-chart-track{background:repeating-linear-gradient(0deg,#0000 0 calc(25% - 1px),#e2e6ee calc(25% - 1px) 25%);justify-content:center;align-items:end;min-height:0;display:flex;position:relative}.vertical-chart-track:after{content:"";border-bottom:1px solid #8d929d;position:absolute;inset:auto 0 0}.vertical-chart-track i{z-index:1;background:var(--brand-blue);border-radius:4px 4px 0 0;width:min(34px,65%);min-height:3px;display:block;position:relative}.vertical-chart-item span{text-overflow:ellipsis;white-space:nowrap;color:var(--brand-muted);font-size:10px;overflow:hidden}.trend-chart{min-height:240px;padding-top:8px;position:relative}.trend-y-title{color:var(--brand-muted);margin:0 0 7px 32px;font-size:11px;font-weight:700}.trend-y-scale{width:26px;height:180px;color:var(--brand-muted);text-align:right;grid-template-rows:repeat(3,1fr);font-size:10px;display:grid;position:absolute;top:28px}.trend-y-scale span:last-child{align-self:end}.trend-plot{margin-left:32px;position:relative}.trend-chart svg{width:100%;height:180px;display:block;overflow:visible}.trend-chart line{stroke:#c0c4cf;stroke-width:.6px}.trend-chart .trend-baseline{stroke:#8d929d;stroke-width:1px}.trend-chart polyline{fill:none;stroke:var(--brand-blue);stroke-width:2.2px;vector-effect:non-scaling-stroke}.trend-point{fill:var(--brand-blue);stroke:var(--brand-paper);stroke-width:1.3px;cursor:pointer}.trend-point.selected,.trend-point:focus{fill:var(--brand-lime);stroke:var(--brand-ink);outline:none}.trend-tooltip{z-index:2;border:1px solid var(--brand-line);min-width:150px;box-shadow:var(--shadow-soft);color:var(--brand-muted);pointer-events:none;background:#fdfefaf5;border-radius:5px;gap:2px;padding:8px 10px;font-size:11px;display:grid;position:absolute;top:8px;right:8px}.trend-tooltip strong{color:var(--brand-ink)}.trend-labels{color:var(--brand-muted);justify-content:space-between;gap:8px;margin-left:32px;font-size:10px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1050px){.meeting-groups{grid-template-columns:1fr}.meeting-panel .meeting-list{max-height:none}}.trend-metric-control{color:var(--brand-muted);gap:5px;margin:0 0 12px;font-size:12px;font-weight:700;display:inline-grid}.trend-metric-control select{min-width:180px;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:4px;padding:8px 10px}.trend-day-markers{color:var(--brand-muted);justify-content:space-between;gap:8px;margin:6px 0 0 32px;font-size:10px;font-weight:700;display:flex}@media (max-width:1050px){.upcoming-room-panels{grid-template-columns:1fr}.upcoming-room-panel .meeting-list{max-height:none}}.timetable-heading{margin-bottom:18px}.timetable-heading h1{margin-top:0}.timetable-heading p{margin-top:6px}@media (max-width:760px){.timeline-board{width:calc(var(--room-column) + (var(--timeline-columns) * 78px))}}@media (max-width:560px){.settings-grid{grid-template-columns:1fr}.meeting-row{grid-template-columns:1fr auto;gap:7px}.meeting-row-primary,.meeting-row-time,.meeting-row-summary{grid-column:1}.meeting-row .booking-status{grid-area:1/2}.meeting-row .compact-button{grid-area:2/2/span 2;align-self:center}.booking-detail-dialog{padding:21px}.booking-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-detail-grid .detail-wide{grid-column:span 2}.detail-heading{display:block}.detail-heading .booking-status{margin-top:12px}.vertical-chart{gap:7px}.vertical-chart-item span{font-size:9px}.trend-y-title{margin-left:26px}.trend-y-scale{width:21px}.trend-plot,.trend-labels{margin-left:26px}}.user-management,.user-management-grid,.user-management .simple-page,.access-panel,.table-wrap{min-width:0}.table-wrap{width:100%;max-width:100%}.access-row{grid-template-columns:minmax(180px, 1.4fr) repeat(var(--access-room-count,2), minmax(110px, 1fr))}@media (max-width:560px){.login-aside{justify-content:flex-start;gap:25px;min-height:196px;padding:20px 24px}.login-aside .brand-logo{width:132px;min-width:0}.login-aside .aside-copy h1{max-width:none;margin:8px 0 0;font-size:31px;line-height:1}.login-aside .aside-copy p,.login-aside .aside-footer{display:none}.login-panel{padding:28px 24px 40px}.login-card .brand-row{margin-bottom:32px}.login-language{margin-bottom:20px}.login-card .lead{margin-bottom:24px}.password-visibility-toggle,.language-toggle{min-height:44px}.simple-page{padding:24px}.user-actions{justify-content:stretch;width:100%}.user-actions>*{text-align:center;white-space:nowrap;flex:150px;justify-content:center;min-height:44px}.user-management .panel-heading{flex-wrap:wrap}.report-filters,.audit-filters,.upcoming-filters{align-items:stretch}.report-filters label,.audit-filters label,.audit-search,.upcoming-filters label,.upcoming-search{width:100%;min-width:0}.report-filters select,.audit-filters select,.audit-filters input,.upcoming-filters select,.upcoming-filters input,.trend-metric-control select{width:100%;min-width:0;min-height:44px;font-size:16px}.trend-metric-control{width:100%}.audit-search{flex:1 0 100%}.audit-filters>.secondary-button{width:100%;min-height:44px}.refresh-button,.report-export-actions .secondary-button,.table-actions .secondary-button,.compact-button,.access-toggle{min-height:44px}.table-actions .secondary-button,.compact-button,.icon-button{min-width:44px}.icon-button{min-height:44px}.timetable-scroll,.access-table{overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.access-table{margin-inline:-24px;padding-inline:24px;overflow-x:auto}.access-row{min-width:calc(170px + (var(--access-room-count,2) * 88px));grid-template-columns:170px repeat(var(--access-room-count,2), 88px)}.access-header{align-items:start}.access-toggle{min-width:68px}.access-row>span:first-child{z-index:2;background:var(--brand-paper);position:sticky;inset-inline-start:0;box-shadow:8px 0 12px -12px #1f2a448c}.simple-page>a{align-items:center;min-height:44px;display:inline-flex}}.user-card-list,.credential-card-list{display:none}.access-manager{max-width:1120px}.room-management-stack{gap:20px;width:min(100%,1120px);display:grid}.room-management-stack>.simple-page{width:100%;max-width:none}.access-manager-heading{border-bottom:1px solid var(--brand-line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:24px;display:flex}.access-manager-heading h2{margin:6px 0 7px}.access-manager-heading p{color:var(--brand-muted);margin:0}.room-picker-actions{align-items:end;gap:10px;min-width:min(100%,360px);display:flex}.room-picker-actions .access-room-picker{flex:1}.room-picker-actions .secondary-button{white-space:nowrap;min-height:48px}.access-room-picker{min-width:min(100%,280px);color:var(--brand-muted);gap:7px;font-size:12px;font-weight:700;display:grid}.access-room-picker select,.access-add-section select{width:100%;min-height:48px;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:7px;padding:11px 13px}.access-manager-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;margin-top:20px;display:grid}.access-list-section,.access-add-section{border:1px solid var(--brand-line);background:#fff;border-radius:10px;min-width:0;padding:22px}.access-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.access-section-heading h3,.access-add-section h3{margin:5px 0 0;font-size:22px}.access-count{background:var(--brand-mist);min-width:32px;min-height:32px;color:var(--brand-muted);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.access-person-list{gap:8px;display:grid}.access-person{border:1px solid var(--brand-line);border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.access-person .user-avatar{width:40px;height:40px}.access-person>div:nth-child(2){gap:3px;min-width:0;display:grid}.access-person strong,.access-person span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-person span{color:var(--brand-muted);font-size:12px}.access-remove{min-height:42px}.access-empty{text-align:center;border:1px dashed #c9cdd8;border-radius:8px;padding:34px 20px}.access-empty p,.access-add-section>p,.access-helper{color:var(--brand-muted);margin:7px 0 20px;font-size:14px;line-height:1.5}.access-add-section .field input{font-size:16px}.access-add-button{width:auto;min-width:128px}.access-helper{margin:12px 0 0}.room-create-panel,.room-settings-panel{border:1px solid var(--brand-line);background:#fff;border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:16px;margin-top:20px;padding:20px;display:grid}.room-create-panel{border-left:4px solid var(--brand-lime)}.room-create-panel h3,.room-settings-panel h3{margin:5px 0 0;font-size:20px}.room-create-panel p{color:var(--brand-muted);margin:6px 0 0;font-size:13px}.room-create-panel .field,.room-settings-panel .field{margin:0}.room-create-panel button,.room-settings-panel button{min-height:48px}.room-system-note,.room-open-note{border:1px solid var(--brand-line);background:#fff;border-radius:10px;margin-top:20px;padding:20px}.room-system-note strong,.room-open-note strong{margin-top:5px;font-size:18px;display:block}.room-system-note p,.room-open-note p{color:var(--brand-muted);margin:7px 0 0;line-height:1.55}.room-open-note{border-left:4px solid var(--brand-blue)}.room-permission-person{grid-template-columns:40px minmax(0,1fr) minmax(118px,auto) auto}.permission-select select{width:100%;min-height:42px;color:var(--brand-ink);background:#fff;border:1px solid #c0c4cf;border-radius:7px;padding:8px 10px}.timeline-track-scroll{min-width:calc(var(--timeline-columns) * 78px);width:calc(var(--timeline-columns) * 78px)}.mobile-timeline-times,.mobile-swipe-hint,.timeline-free>small{display:none}@media (max-width:760px){.user-directory-table{display:none}.user-card-list{gap:12px;display:grid}.credentials-table{display:none}.credential-card-list{gap:12px;display:grid}.credential-card{border:1px solid var(--brand-line);background:#fff;border-radius:9px;min-width:0;padding:16px}.credential-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.credential-card-heading>div{gap:4px;min-width:0;display:grid}.credential-card-heading code{overflow-wrap:anywhere}.credential-card-details{gap:12px;margin:18px 0;display:grid}.credential-card-details div{gap:4px;min-width:0;display:grid}.credential-card-details dt{color:var(--brand-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.credential-card-details dd{overflow-wrap:anywhere;margin:0}.credential-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.credential-actions .secondary-button{width:100%}.user-directory-card{border:1px solid var(--brand-line);background:#fff;border-radius:9px;min-width:0;padding:16px}.user-card-heading{justify-content:space-between;align-items:start;gap:12px;min-width:0;display:flex}.user-card-heading>div{gap:4px;min-width:0;display:grid}.user-card-heading strong,.user-card-heading code{overflow-wrap:anywhere}.user-card-heading>span{flex:none;font-size:12px}.user-directory-card dl{gap:12px;margin:18px 0;display:grid}.user-directory-card dl>div{min-width:0}.user-directory-card dt{color:var(--brand-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.user-directory-card dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:14px}.user-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.user-card-actions button{min-width:0;min-height:44px;padding-inline:8px}.access-manager-heading{align-items:stretch;display:grid}.room-picker-actions,.access-room-picker{width:100%;min-width:0}.access-manager-grid{grid-template-columns:1fr}.room-create-panel,.room-settings-panel{grid-template-columns:1fr 1fr;align-items:end}.room-create-panel>div:first-child,.room-settings-panel>div:first-child{grid-column:1/-1}.timetable-scroll{overflow:visible}.timeline-board{background:var(--brand-mist);gap:12px;width:100%;min-width:0;padding:12px;display:grid}.timeline-header{display:none}.timeline-row{border:1px solid var(--brand-line);background:#fff;border-radius:9px;min-width:0;display:block;overflow:hidden}.timeline-room{border-right:0;min-height:64px;padding:12px 14px;position:static}.timeline-track-scroll{overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;width:100%;min-width:0;overflow-x:auto}.mobile-timeline-times{width:calc(var(--timeline-columns) * 78px);min-width:calc(var(--timeline-columns) * 78px);background:var(--brand-ink);color:#ffffffd1;min-height:36px;display:grid}.mobile-timeline-times span{text-align:center;border-left:1px solid #ffffff1f;padding:10px 8px 8px;font-size:10px;font-weight:700}.timeline-track{width:calc(var(--timeline-columns) * 78px);min-width:calc(var(--timeline-columns) * 78px)}.timeline-free{align-content:center;justify-items:center;gap:3px;display:grid}.timeline-free>small{color:var(--brand-muted);font-size:10px;display:block}.timeline-free>span{opacity:1;color:var(--brand-blue);font-size:10px;display:block;position:static}.timeline-free:disabled>span{color:#85888f}.mobile-swipe-hint{color:var(--brand-blue);margin-top:7px;font-size:12px;font-weight:700;display:block}.timeline-loading{border-radius:9px;inset:0}}@media (max-width:560px){.user-directory,.access-list-section,.access-add-section{padding:18px}.access-person,.room-permission-person{grid-template-columns:40px minmax(0,1fr)}.permission-select{grid-column:1/-1}.access-remove{grid-column:1/-1;width:100%}.access-add-button{width:100%}.room-picker-actions{display:grid}.room-create-panel,.room-settings-panel{grid-template-columns:1fr;padding:18px}.room-create-panel>div:first-child,.room-settings-panel>div:first-child{grid-column:auto}.room-create-panel button,.room-settings-panel button{width:100%}.install-help{padding:20px}.install-device-list{grid-template-columns:1fr}.install-help-actions{flex-direction:column}.install-help-actions button{width:100%}}:root{--brand-lime-bright:#dcf7a0;--brand-lime-deep:#a9dc4b;--brand-blue-bright:#3d78ff;--brand-blue-deep:#1f4fd1;--brand-ink-deep:#141c30;--gradient-brand:linear-gradient(135deg, var(--brand-lime-bright) 0%, var(--brand-lime) 48%, var(--brand-lime-deep) 100%);--gradient-ink:linear-gradient(145deg, #2b3a5e 0%, var(--brand-ink) 42%, var(--brand-ink-deep) 100%);--gradient-teal:linear-gradient(135deg, var(--brand-blue-bright), var(--brand-blue-deep));--shadow-card:0 12px 32px #1f2a4412, 0 2px 7px #1f2a440a;--shadow-lifted:0 20px 45px #1f2a441f, 0 4px 12px #1f2a440f;--ease-out-back:cubic-bezier(.2, .8, .2, 1.08)}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% 2%, #2f6bff14, transparent 28rem), radial-gradient(circle at 4% 94%, #183b8b12, transparent 30rem), var(--brand-mist)}.login-aside{background:radial-gradient(circle at 18% 12%, #ffffff3d, transparent 19rem), radial-gradient(circle at 94% 92%, #2f6bff38, transparent 24rem), var(--gradient-brand)}.topbar,.mobile-shell-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(100deg,#fdfefafa,#fffffff5)}.time-header,.room-header,.timeline-room-spacer,.timeline-times,.mobile-timeline-times{background:var(--gradient-ink)}::selection{color:var(--brand-ink-deep);background:#b6fa2f61}.content>*{animation:content-rise .48s both var(--ease-out-back)}.content>:nth-child(2){animation-delay:60ms}.content>:nth-child(3){animation-delay:.12s}.page-heading h1{background:linear-gradient(100deg, var(--brand-ink-deep), #59575b 62%, var(--brand-blue-deep));color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{color:var(--brand-blue-deep)}.side-nav,.mobile-drawer{background:var(--gradient-ink)}.side-nav:before,.mobile-drawer:before{content:"";pointer-events:none;background:radial-gradient(circle at 10% 8%,#2f6bff47,#0000 18rem);position:absolute;inset:0}.side-nav>*,.mobile-drawer>*{z-index:1;position:relative}.nav-link{transform-origin:0;position:relative;overflow:hidden}.nav-link:before{content:"";background:var(--gradient-brand);border-radius:4px;width:3px;transition:transform .22s;position:absolute;inset:7px auto 7px 0;transform:scaleY(0)}.nav-link:hover{transform:translate(3px)}.nav-link:hover:before,.nav-link.active:before{transform:scaleY(1)}.nav-link.active{background:linear-gradient(90deg,#b6fa2f2e,#b6fa2f12)}.user-avatar{background:var(--gradient-brand);box-shadow:0 5px 18px #b6fa2f38}button,.file-button{-webkit-tap-highlight-color:transparent}button:not(:disabled):active,.file-button:active{transition-duration:60ms;transform:translateY(1px)scale(.985)}.login-button{background:var(--gradient-ink);justify-content:center;align-items:center;gap:9px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 19px #29282b29}.login-button:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 25%,#ffffff2e 48%,#0000 72%);transition:transform .58s;position:absolute;inset:0;transform:translate(-130%)}.login-button:hover{background:var(--gradient-ink);transform:translateY(-2px);box-shadow:0 12px 24px #29282b38}.login-button:hover:after{transform:translate(130%)}.secondary-button,.language-toggle,.collapse-toggle,.refresh-button{background:linear-gradient(145deg,#fffffffa,#ebeef4d1);box-shadow:0 2px 5px #1f2a4409}.secondary-button:hover,.language-toggle:hover,.refresh-button:hover{color:var(--brand-blue-deep);border-color:#183b8b73;transform:translateY(-1px);box-shadow:0 7px 16px #1f2a4414}.danger-button{background:linear-gradient(145deg,#fff,#fff3f0)}.danger-button:hover{border-color:var(--brand-red);transform:translateY(-1px);box-shadow:0 7px 16px #b54b391c}button:disabled{cursor:not-allowed;filter:saturate(.72)}button[aria-busy=true]{justify-content:center;align-items:center;gap:8px;display:inline-flex}button[aria-busy=true]:before{content:"";opacity:.75;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite spin}.date-tab{border-radius:9px;position:relative;overflow:hidden;box-shadow:0 3px 10px #1f2a4409}.date-tab:after{content:"";background:var(--gradient-teal);transform-origin:0;height:3px;transition:transform .24s;position:absolute;inset:auto 0 0;transform:scaleX(0)}.date-tab:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.date-tab:hover:after{transform:scaleX(1)}.date-tab.selected{background:var(--gradient-brand);transform:translateY(-2px);box-shadow:0 10px 26px #b6fa2f33}.date-tab.selected:after{background:var(--brand-ink);transform:scaleX(1)}.timetable-card,.simple-page,.meeting-card,.meeting-panel,.dashboard-panel,.metric-card,.upcoming-panel,.audit-panel,.access-list-section,.access-add-section{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffffa,#fdfefaf0)}.simple-page,.meeting-card,.dashboard-panel,.metric-card,.access-person,.install-device{transition:transform .24s var(--ease-out-back), box-shadow .24s ease, border-color .24s ease, background .24s ease}@media (hover:hover){.simple-page:hover,.dashboard-panel:hover,.metric-card:hover{box-shadow:var(--shadow-lifted);border-color:#b6fa2f80;transform:translateY(-3px)}.access-person:hover,.install-device:hover{border-color:#183b8b4d;transform:translateY(-2px);box-shadow:0 9px 22px #1f2a4412}}.field input,.field select,.field textarea,.report-filters select,.audit-filters select,.audit-filters input,.upcoming-filters select,.upcoming-filters input,.trend-metric-control select,.user-search,.permission-select select,.access-room-picker select,.access-add-section select{background-color:#fffffff0;box-shadow:inset 0 1px 2px #1f2a4409}.field input:hover,.field select:hover,.field textarea:hover,.report-filters select:hover,.audit-filters select:hover,.audit-filters input:hover,.upcoming-filters select:hover,.upcoming-filters input:hover,.trend-metric-control select:hover,.user-search:hover,.permission-select select:hover,.access-room-picker select:hover,.access-add-section select:hover{border-color:#9ca0aa}.field input:focus,.field select:focus,.field textarea:focus,.report-filters select:focus,.audit-filters select:focus,.audit-filters input:focus,.upcoming-filters select:focus,.upcoming-filters input:focus,.trend-metric-control select:focus,.user-search:focus,.permission-select select:focus,.access-room-picker select:focus,.access-add-section select:focus{border-color:var(--brand-blue);outline:0;transform:translateY(-1px);box-shadow:0 0 0 3px #183b8b24,0 8px 20px #1f2a440f}.toggle-row input{transition:transform .18s var(--ease-out-back), filter .18s ease}.toggle-row input:checked{filter:drop-shadow(0 2px 4px #b6fa2f52);transform:scale(1.08)}.toast,.success-note,.form-error,.credential-notice{animation:notice-in .4s both var(--ease-out-back)}.toast{background:var(--gradient-ink);border-radius:8px;box-shadow:0 18px 45px #29282b3b}.success-note{background:linear-gradient(135deg,#ecf8f3,#e2f4ee);border-radius:7px;width:fit-content;padding:9px 12px;display:block}.form-error{background:linear-gradient(110deg,#fbe8e3,#fff4f1);border-radius:0 7px 7px 0}.modal-backdrop,.install-help-layer{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:.2s ease-out both backdrop-in}.booking-dialog,.booking-detail-dialog,.confirm-dialog,.install-help{animation:dialog-in .28s both var(--ease-out-back);transform-origin:50% 72%}.modal-backdrop.is-closing,.install-help-layer.is-closing{animation:.18s ease-in both backdrop-out}.modal-backdrop.is-closing .booking-dialog,.modal-backdrop.is-closing .booking-detail-dialog,.modal-backdrop.is-closing .confirm-dialog,.install-help-layer.is-closing .install-help{animation:.18s ease-in both dialog-out}.mobile-drawer-layer{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.2s ease-out both backdrop-in}.mobile-drawer{animation:drawer-in .28s both var(--ease-out-back)}.mobile-drawer-layer.is-closing{animation:.18s ease-in both backdrop-out}.mobile-drawer-layer.is-closing .mobile-drawer{animation:.18s ease-in both drawer-out}.icon-button{border-radius:50%;transition:transform .18s,color .18s,background .18s}.icon-button:hover{background:#b6fa2f24;transform:rotate(5deg)scale(1.08)}.collapsible-region{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1),opacity .22s,visibility;display:grid}.collapsible-region>*{min-height:0;overflow:hidden}.collapsible-region[data-open=false]{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .26s,opacity .16s,visibility 0s .26s}.collapse-toggle{position:relative}.collapse-toggle:hover{background:linear-gradient(110deg,#fafdf2,#fff);transform:translateY(-1px);box-shadow:0 6px 15px #1f2a440f}.collapse-chevron{transition:transform .28s var(--ease-out-back), color .18s ease;transform:rotate(0)}.collapse-toggle[aria-expanded=true] .collapse-chevron{color:var(--brand-lime-deep);transform:rotate(90deg)}details summary{cursor:pointer;transition:color .18s,transform .18s}details summary:hover{color:var(--brand-blue-deep);transform:translate(2px)}details[open]>:not(summary){animation:.25s ease-out both details-in}.dashboard-surface{position:relative}.dashboard-surface:before{content:"";z-index:80;opacity:0;background:var(--gradient-brand);width:0;height:3px;position:fixed;inset:0 auto auto 270px;box-shadow:0 2px 9px #b6fa2f59}.dashboard-surface.is-refreshing:before{opacity:1;animation:1.15s ease-in-out infinite dashboard-progress}.metric-card{animation:card-arrive .45s both var(--ease-out-back);position:relative;overflow:hidden}.metric-card:after{content:"";background:var(--gradient-brand);width:3px;position:absolute;inset:0 auto 0 0}.metric-card:nth-child(2){animation-delay:35ms}.metric-card:nth-child(3){animation-delay:70ms}.metric-card:nth-child(4){animation-delay:.105s}.metric-card:nth-child(5){animation-delay:.14s}.metric-card:nth-child(6){animation-delay:.175s}.metric-card:nth-child(7){animation-delay:.21s}.metric-card:nth-child(8){animation-delay:.245s}.metric-card:nth-child(9){animation-delay:.28s}.metric-card:nth-child(10){animation-delay:.315s}.dashboard-panel{animation:card-arrive .5s both var(--ease-out-back)}.dashboard-panel:nth-child(2){animation-delay:60ms}.dashboard-panel:nth-child(3){animation-delay:.12s}.dashboard-panel:nth-child(4){animation-delay:.18s}.dashboard-panel:nth-child(5){animation-delay:.24s}.vertical-chart-track i{background:var(--gradient-teal);transform-origin:bottom;animation:.65s cubic-bezier(.2,.8,.2,1) both bar-grow;box-shadow:0 4px 12px #183b8b29}.vertical-chart-item:nth-child(2) i{animation-delay:50ms}.vertical-chart-item:nth-child(3) i{animation-delay:.1s}.vertical-chart-item:nth-child(4) i{animation-delay:.15s}.trend-chart polyline{stroke-dasharray:320;stroke-dashoffset:320px;animation:.9s ease-out .18s both line-draw}.trend-point{animation:point-pop .32s .65s both var(--ease-out-back);transition:r .18s,fill .18s,filter .18s}.trend-point:hover,.trend-point.selected{filter:drop-shadow(0 2px 3px #183b8b47)}.status-donut{animation:donut-arrive .7s both var(--ease-out-back);filter:drop-shadow(0 9px 14px #1f2a441a)}.trend-tooltip{animation:.18s ease-out both tooltip-in}.route-loader{background:radial-gradient(circle at 82% 8%, #b6fa2f21, transparent 28rem), var(--brand-mist);min-height:100svh;padding:clamp(28px,6vw,72px)}.route-loader-mark{color:var(--brand-ink);align-items:center;gap:12px;margin-bottom:46px;display:flex}.route-loader-spinner{border:3px solid #1f2a4429;border-top-color:var(--brand-lime-deep);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}.route-loader-heading{border-radius:9px;width:min(420px,72vw);height:52px;margin-bottom:28px}.route-loader-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.route-loader-card{border-radius:12px;height:180px}.skeleton-block{background:#dee2eb;position:relative;overflow:hidden}.skeleton-block:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffffad 48%,#0000 76%);animation:1.25s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes content-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes card-arrive{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes notice-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px)scale(.965)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(9px)scale(.975)}}@keyframes drawer-in{0%{transform:translate(-102%)}to{transform:translate(0)}}@keyframes drawer-out{0%{transform:translate(0)}to{transform:translate(-102%)}}@keyframes details-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-progress{0%{width:0;left:270px}45%{width:62vw}to{width:0;left:100%}}@keyframes bar-grow{0%{opacity:.3;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes line-draw{to{stroke-dashoffset:0}}@keyframes point-pop{0%{opacity:0;transform-origin:50%;transform:scale(.4)}to{opacity:1;transform-origin:50%;transform:scale(1)}}@keyframes donut-arrive{0%{opacity:0;transform:rotate(-24deg)scale(.82)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes tooltip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (max-width:880px){.dashboard-surface:before{left:0}}@media (max-width:680px){.route-loader-grid{grid-template-columns:1fr}.route-loader-card{height:120px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.content>*,.metric-card,.dashboard-panel{transform:none!important}}.trend-plot>.trend-point{z-index:2;border:2px solid var(--brand-paper);background:var(--brand-blue);cursor:pointer;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;padding:0;transition:width .18s,height .18s,margin .18s,background-color .18s,border-color .18s,box-shadow .18s;position:absolute;box-shadow:0 1px 4px #183b8b3d}.trend-plot>.trend-point.selected,.trend-plot>.trend-point:focus-visible{border-color:var(--brand-ink);background:var(--brand-lime);outline:none;width:14px;height:14px;margin:-7px 0 0 -7px;box-shadow:0 3px 9px #183b8b4d}.trend-plot>.trend-tooltip{width:150px;min-width:0;right:auto}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{flex:none;display:block}.brand-text{gap:1px;line-height:1.1;display:grid}.brand-text strong{letter-spacing:-.02em;font-size:19px}.brand-text span{opacity:.72;font-size:12px}.brand-dark{color:var(--brand-ink)}.brand-light{color:#fff}.brand-light .brand-mark rect:first-child{fill:#2f6bff}.side-brand{color:inherit;margin-bottom:30px;text-decoration:none}.side-nav .nav-links{align-content:start}.demo-badge{letter-spacing:.04em;text-transform:uppercase;color:#c8f169;background:#c8f16929;border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.demo-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.shell-actions{gap:10px}.reset-demo-button{color:#ffffffdb;background:0 0;border:1px solid #ffffff42;border-radius:999px;padding:6px 12px;font-size:12px}.reset-demo-button:hover{background:#ffffff1a}.text-button{color:var(--brand-muted);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.text-button:hover{color:var(--brand-ink)}.mobile-drawer-brand{align-items:center;gap:10px;display:inline-flex}.mobile-drawer .demo-badge{color:#c8f169}.login-card.role-picker{width:min(100%,620px)}.role-picker h2{margin-top:6px}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.role-card{text-align:left;border:1px solid var(--brand-line);color:var(--brand-ink);background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:0 1px #1f2a440a}.role-card:hover:not(:disabled){border-color:var(--brand-blue);transform:translateY(-2px);box-shadow:0 10px 30px #2f6bff24}.role-card:disabled{opacity:.6;cursor:progress}.role-card-top{align-items:center;gap:10px;display:flex}.role-card-top>span:last-child{gap:2px;display:grid}.role-card-top strong{font-size:15px;line-height:1.25}.role-card-top small{color:var(--brand-muted);font-size:12px}.role-card .user-avatar{flex:none}.role-card-summary{color:var(--brand-muted);flex:1;font-size:13px;line-height:1.45}.role-card-action{color:var(--brand-blue);font-size:13px;font-weight:700}.role-picker-footer{color:var(--brand-muted);justify-content:space-between;align-items:center;gap:12px;margin-top:22px;font-size:13px;display:flex}.role-picker-footer a{color:var(--brand-ink);font-weight:700}.forbidden-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.forbidden-actions a{align-items:center;width:auto;text-decoration:none;display:inline-flex}.demo-error{padding:48px}@media (max-width:720px){.role-grid{grid-template-columns:1fr}}
