:root{--color-bg:#202124;--color-surface:#26272b;--color-border:#3c4043;--color-text:#e8eaed;--color-text-secondary:#9aa0a6;--color-accent:#8ab4f8;--color-accent-strong:#1a73e8;--color-danger:#f28b82;--color-event:#f2c94c;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:Google Sans,Roboto,Arial,Segoe UI,sans-serif;font-size:14px}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:13px}@media (width<=700px){input,select,textarea{font-size:16px}.btn{min-height:38px}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.btn{color:var(--color-text);border:1px solid var(--color-border);background:0 0;border-radius:20px;padding:8px 16px;font-size:13px}.btn:hover{background:#ffffff14}.btn-primary{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:#fff}.btn-primary:hover{background:#1765cc}.btn-primary:disabled{opacity:.6;cursor:default}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#202124}.btn-outline{border:1px solid var(--color-border)}.btn-text{background:0 0;border:none;padding:4px 8px;text-decoration:underline}.btn-small{padding:4px 10px;font-size:12px}.icon-btn{color:var(--color-text);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex}.icon-btn:hover{background:#ffffff14}.hint-text{color:var(--color-text-secondary);font-size:12px}.top-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.top-bar-left,.top-bar-right{align-items:center;gap:8px;display:flex}.top-bar-logo{flex-shrink:0;width:176px;height:62px;margin-right:8px}.top-bar-title{white-space:nowrap;margin-left:8px;font-size:20px}.top-bar-search{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:20px;width:220px;padding:8px 14px}.view-select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:20px;padding:8px 12px}.user-menu{flex-shrink:0;position:relative}.user-pill{border:1px solid var(--color-border);max-width:164px;color:var(--color-text);background:var(--color-surface);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 10px 6px 6px;font-size:13px;display:inline-flex;overflow:hidden}.user-pill>span:nth-child(2){text-overflow:ellipsis;overflow:hidden}.user-pill:hover{background:#ffffff14}.user-pill-avatar,.profile-avatar-editor{background:var(--color-accent-strong);color:#fff;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-grid;overflow:hidden}.user-pill-avatar img,.profile-avatar-editor img{object-fit:cover;width:100%;height:100%}.user-pill-chevron{color:var(--color-text-secondary);font-size:14px}.is-admin-name{color:#f87171!important}.user-menu-popover{z-index:200;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:230px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 28px #00000059}.user-menu-identity{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.user-menu-identity>div{flex-direction:column;gap:2px;min-width:0;display:flex}.user-menu-identity span{color:var(--color-text-secondary);text-transform:capitalize;font-size:12px}.profile-avatar-editor{cursor:pointer;border:0;flex-basis:42px;width:42px;height:42px;padding:0;position:relative}.profile-avatar-editor span{color:#fff;opacity:0;background:#0000008f;place-items:center;font-size:19px;transition:opacity .15s;display:grid;position:absolute;inset:0}.profile-avatar-editor:hover span,.profile-avatar-editor:focus-visible span{opacity:1}.profile-avatar-input{display:none}.profile-avatar-error{color:var(--color-danger);margin:6px 8px;font-size:11px}.user-menu-popover>button{border-radius:var(--radius-sm);width:100%;color:var(--color-text);text-align:left;font:inherit;background:0 0;border:0;padding:9px 10px;font-size:13px}.user-menu-popover>button:hover{background:#ffffff14}.tab-switcher{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;margin-right:4px;padding:2px;display:flex}.tab-button{color:var(--color-text-secondary);background:0 0;border:none;border-radius:18px;padding:6px 14px;font-size:13px}.tab-button.is-active{background:var(--color-accent-strong);color:#fff}.create-btn-mobile,.mobile-filter-button{display:none}@media (width<=900px){.top-bar-logo{width:136px;height:48px}.create-btn-mobile{display:inline-flex}.top-bar-search{width:140px}}@media (width<=700px){.top-bar{padding:max(8px, env(safe-area-inset-top)) 12px 8px;display:block}.top-bar-left{flex-wrap:wrap;gap:6px}.top-bar-logo{width:104px;height:38px;margin-right:2px}.tab-switcher{scrollbar-width:none;border-radius:18px;flex:calc(100% - 112px);order:1;min-width:0;overflow-x:auto}.tab-switcher::-webkit-scrollbar{display:none}.tab-button{flex:none;padding:7px 12px;font-size:12px}.top-bar-title{display:none}.top-bar-left>.btn-outline{padding:7px 10px;font-size:12px}.top-bar-left>.icon-btn{width:32px;height:32px;font-size:20px}.create-btn-mobile,.mobile-filter-button{display:inline-flex}.top-bar-right{gap:6px;width:100%;min-width:0;margin-top:8px}.top-bar-search{flex:1;width:auto;min-width:0;padding:8px 12px}.view-select{flex:0 0 78px;width:78px;padding:8px 6px}.top-bar-right .icon-btn{width:34px;height:34px}.user-pill{max-width:116px}}.mini-calendar{font-size:12px}.mini-calendar-header{text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:500;display:flex}.mini-calendar-title{color:var(--color-text);font:inherit;text-transform:capitalize;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;margin-left:-4px;padding:2px 4px}.mini-calendar-title:hover{background:#ffffff14}.mini-calendar-picker{padding:2px 0 4px}.mini-calendar-year-nav{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mini-calendar-year-nav button{width:28px;height:28px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:18px}.mini-calendar-year-nav button:hover{background:#ffffff14}.mini-calendar-month-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.mini-calendar-month-grid button{border-radius:var(--radius-sm);color:var(--color-text);text-transform:capitalize;cursor:pointer;background:0 0;border:0;padding:8px 2px;font-size:12px}.mini-calendar-month-grid button:hover{background:#ffffff14}.mini-calendar-month-grid button.is-active{background:var(--color-accent-strong);color:#fff}.mini-calendar-nav button{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px 6px;font-size:14px}.mini-calendar-nav button:hover{background:#ffffff14}.mini-calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.mini-calendar-weekdays span{color:var(--color-text-secondary);padding:4px 0}.mini-calendar-day{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:6px 0;font-size:12px}.mini-calendar-day:hover{background:#ffffff14}.mini-calendar-day.is-outside{color:var(--color-text-secondary);opacity:.5}.mini-calendar-day.is-today{color:var(--color-accent);font-weight:700}.mini-calendar-day.is-selected{background:var(--color-accent-strong);color:#fff}.sidebar{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:20px;width:260px;padding:8px 16px 16px;display:flex;overflow-y:auto}.create-btn{border-radius:24px;justify-content:center;align-self:center;width:min(100%,218px);padding:10px 20px;font-weight:500;box-shadow:0 1px 3px #0006}.sidebar-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:0 0 8px;font-size:12px}.sidebar-checkbox{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.sidebar-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.app-version{margin-top:auto;padding-top:12px;position:relative}.sidebar-mobile-header{display:none}.app-version-button{color:var(--color-text-secondary);letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.app-version-button:hover,.app-version-button.is-open{color:var(--color-text);border-color:var(--color-border);background:#ffffff14}.app-version-chevron{color:var(--color-text-secondary);font-size:13px;line-height:1;transition:transform .18s}.app-version-button.is-open .app-version-chevron{transform:rotate(180deg)}.live-status-dot{background:#3b82f6;border-radius:50%;width:7px;height:7px;animation:1.8s ease-out infinite live-status-pulse;box-shadow:0 0 #3b82f6a6}@keyframes live-status-pulse{70%{box-shadow:0 0 0 6px #3b82f600}to{box-shadow:0 0 #3b82f600}}.changelog-card{border:1px solid var(--color-border);z-index:20;transform-origin:0 100%;background:#2b2d32;border-radius:10px;width:244px;padding:14px;font-size:12px;animation:.18s ease-out both changelog-reveal;position:absolute;bottom:34px;left:0;box-shadow:0 8px 24px #00000029}@keyframes changelog-reveal{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.changelog-heading{justify-content:space-between;align-items:center;display:flex}.changelog-heading .icon-btn{width:24px;height:24px}.changelog-version{color:var(--color-primary);margin:8px 0 4px;font-weight:600}.changelog-card ul{color:var(--color-text-secondary);margin:0;padding-left:17px}.changelog-card li+li{margin-top:4px}.changelog-hint{color:var(--color-text-secondary);margin:10px 0 0;font-size:11px}.changelog-hint code{font-family:inherit}.service-status{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.service-status>strong{margin-bottom:6px;font-size:12px;display:block}.service-status-row{grid-template-columns:9px 1fr auto;align-items:center;gap:7px;padding:4px 0;font-size:11px;display:grid}.service-status-row small,.service-status-loading,.service-status p{color:var(--color-text-secondary);font-size:10px}.service-status-row small{text-align:right}.service-status p{margin:8px 0 0;line-height:1.35}.service-status-dot{border-radius:50%;width:7px;height:7px;animation:1.8s ease-out infinite service-status-pulse}.service-status-dot.is-healthy{--status-pulse:#34a8538c;background:#34a853}.service-status-dot.is-maintenance{--status-pulse:#fb8c008c;background:#fb8c00}.service-status-dot.is-warning{--status-pulse:#fbbc048c;background:#fbbc04}.service-status-dot.is-offline{--status-pulse:#e539358c;background:#e53935}@keyframes service-status-pulse{0%{box-shadow:0 0 0 0 var(--status-pulse)}70%{box-shadow:0 0 0 5px #0000}to{box-shadow:0 0 #0000}}@media (width<=900px){.sidebar{background:var(--color-bg);z-index:50;position:absolute;top:57px;bottom:0;left:0}}@media (width<=700px){.sidebar{z-index:500;width:min(320px,100vw - 42px);padding:max(10px, env(safe-area-inset-top)) 16px 20px;background:var(--color-surface);border-right:1px solid var(--color-border);display:none;position:fixed;inset:0 auto 0 0;box-shadow:12px 0 32px #00000061}.sidebar.is-mobile-open{display:flex}.sidebar-mobile-header{justify-content:space-between;align-items:center;margin-bottom:-8px;display:flex}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{text-transform:none;appearance:button;cursor:pointer;overflow:visible}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px;display:flex}.rbc-toolbar .rbc-toolbar-label{text-align:center;flex-grow:1;padding:0 10px}.rbc-toolbar button{color:#373a3c;text-align:center;vertical-align:middle;white-space:nowrap;background:0 0;border:1px solid #ccc;border-radius:4px;margin:0;padding:.375rem 1rem;line-height:normal;display:inline-block}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px #00000020}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{white-space:nowrap;display:inline-block}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (width<=767px){.rbc-toolbar{flex-direction:column}}.rbc-event{box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;text-align:left;background-color:#3174ad;border:none;border-radius:5px;width:100%;margin:0;padding:2px 5px}.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected{background-color:#265985}.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{text-overflow:ellipsis;white-space:nowrap;font-size:80%;display:block;overflow:hidden}.rbc-event-overlaps{box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-right-radius:0;border-bottom-left-radius:0}.rbc-row{flex-direction:row;display:flex}.rbc-row-segment{padding:0 1px 1px}.rbc-row-segment .rbc-event-content{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{text-overflow:ellipsis;white-space:nowrap;z-index:4;color:#3174ad;background-color:#ffffff4d;height:auto;font-size:85%;font-weight:700;line-height:normal;display:block;overflow:hidden}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{-webkit-user-select:none;user-select:none;border:1px solid #ddd;flex-direction:column;flex:1 0 0;width:100%;height:100%;display:flex;position:relative}.rbc-month-header{flex-direction:row;display:flex}.rbc-month-row{flex-direction:column;flex:1 0 0;height:100%;display:flex;position:relative;overflow:hidden}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{text-align:right;flex:1 1 0;min-width:0;padding-right:5px}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{flex-direction:row;flex:1 0 0;display:flex;position:absolute;inset:0 1px 0 0;overflow:hidden}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{z-index:5;background-color:#fff;border:1px solid #e5e5e5;padding:10px;position:absolute;box-shadow:0 5px 15px #00000040}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{flex-direction:column;flex:1 0 0;display:flex;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border-spacing:0;border-collapse:collapse;border:1px solid #ddd;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{vertical-align:top;padding:5px 10px}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{text-transform:lowercase;padding-left:15px;padding-right:15px}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:left;border-bottom:1px solid #ddd;padding:3px 5px}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-time-column{flex-direction:column;min-height:100%;display:flex}.rbc-time-column .rbc-timeslot-group{flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;flex-flow:column;min-height:40px;display:flex}.rbc-time-gutter,.rbc-header-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{margin-right:10px;position:absolute;inset:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;flex-flow:column wrap;align-items:flex-start;min-height:20px;max-height:100%;display:flex;position:absolute;overflow:hidden}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;width:auto;padding-right:5px}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1 0;width:100%;height:100%;min-height:1em;line-height:1}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{z-index:10;background-color:#fff;border-right:1px solid #ddd;margin-right:-1px;position:sticky;left:0}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0 0;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{flex:1 1 0;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;color:#fff;background-color:#00000080;width:100%;padding:3px;font-size:75%;position:absolute}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{z-index:4;position:relative}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{flex-direction:row;flex:none;display:flex}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row:first-child,.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;flex-direction:column;flex:1;min-width:0;display:flex}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{border-top:2px solid #ddd;flex:1 0;align-items:flex-start;width:100%;display:flex;position:relative;overflow-y:auto}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{-webkit-user-select:none;user-select:none;width:100%}.rbc-current-time-indicator{z-index:3;pointer-events:none;background-color:#74ad31;height:1px;position:absolute;left:0;right:0}.rbc-resource-grouping.rbc-time-header-content{flex-direction:column;display:flex}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-calendar{box-sizing:border-box;flex-direction:column;align-items:stretch;height:100%;display:flex}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :before,.rbc-calendar :after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full{position:absolute;inset:0;overflow:hidden}.rbc-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-rtl{direction:rtl}.rbc-header{text-overflow:ellipsis;white-space:nowrap;text-align:center;vertical-align:middle;border-bottom:1px solid #ddd;flex:1 0;min-height:0;padding:0 3px;font-size:90%;font-weight:700;overflow:hidden}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;cursor:pointer;-webkit-user-select:text;user-select:text;background:0 0;border:none;margin:0;padding:0}.rbc-row-content{-webkit-user-select:none;user-select:none;z-index:4;position:relative}.rbc-row-content-scrollable{flex-direction:column;height:100%;display:flex}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;scrollbar-width:none;height:100%;overflow-y:scroll}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.event-card{background:var(--color-event);color:#202124;border:1px solid #00000029;border-radius:8px;flex-direction:column;gap:3px;min-width:0;padding:6px 8px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000029}.event-card.is-colored,.event-card.is-colored .event-card-customer,.event-card.is-colored .event-card-meta,.event-card.is-colored .event-card-time,.event-card.is-colored .event-card-driver,.event-card.is-colored .event-card-trip{color:#fff}.event-card.is-colored .event-card-trip{background:#0003}.event-card.is-colored .event-card-time:after{background:#ffffff9e}.event-card.is-canceled:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#e5393557 0 8px,#e539351f 8px 16px);position:absolute;inset:0}.event-card.is-canceled{border-color:#e53935e6;background-color:#e5393557!important;border-left-color:#e53935!important}.event-card.is-canceled .event-card-time,.event-card.is-canceled .event-card-driver,.event-card.is-canceled .event-card-trip,.event-card.is-canceled .event-card-customer,.event-card.is-canceled .event-card-address,.event-card.is-canceled .event-card-description{-webkit-text-decoration:line-through #e53935;text-decoration:line-through #e53935;text-decoration-thickness:2px}.event-card-main{align-items:center;gap:8px;min-width:0;display:flex}.event-card-content{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;display:flex}.event-card-title-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.event-card-customer{color:inherit;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.event-card-subline{align-items:center;min-width:0;display:flex}.event-card-title{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-secondary);font-weight:600;overflow:hidden}.event-card-meta{color:inherit;flex-direction:column;gap:2px;padding-left:0;font-size:12px;line-height:1.25;display:flex}.event-card-address{white-space:nowrap;text-overflow:ellipsis;opacity:.9;font-size:12px;font-weight:500;overflow:hidden}.event-card-route{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:4px;width:100%;display:flex}.event-card-route>span{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:calc(50% - 17px);overflow:hidden}.event-card-route-arrow{color:#fff;background:#00000024;border:1px solid #ffffff85;border-radius:999px;flex:0 0 26px;justify-content:center;place-items:center;width:26px;height:18px;font-size:16px;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff1f}.event-card-description{white-space:nowrap;text-overflow:ellipsis;opacity:.9;font-size:11px;line-height:1.25;overflow:hidden}.event-card-time{color:inherit;letter-spacing:.02em;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;min-width:44px;margin-right:2px;padding-right:10px;font-size:13px;font-weight:700;display:flex;position:relative}.event-card-time:after{content:"";background:#ffffff80;width:1px;position:absolute;top:3px;bottom:3px;right:0}.event-card-driver,.event-card-trip{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.event-card-trip{color:inherit;background:#0000001a;border-radius:999px;padding:2px 7px}.event-card-tags{flex-wrap:wrap;gap:4px;margin-top:2px;margin-bottom:4px;display:flex}.event-tag-chip{color:#202124;border-radius:999px;padding:0 6px;font-size:10px;font-weight:600}.calendar-view-wrapper{flex:1;min-width:0;min-height:0;display:flex}.rbc-calendar{color:var(--color-text);flex:1;width:100%;min-height:0}.rbc-off-range-bg{background:#ffffff05}.rbc-today{background:#8ab4f814}.rbc-header{border-color:var(--color-border);color:var(--color-text-secondary);padding:8px 4px;font-weight:500}.rbc-month-view,.rbc-time-view,.rbc-agenda-view,.rbc-header,.rbc-day-bg+.rbc-day-bg,.rbc-month-row+.rbc-month-row,.rbc-header+.rbc-header,.rbc-time-content,.rbc-time-content>*+*>*,.rbc-time-header-content,.rbc-timeslot-group,.rbc-time-header.rbc-overflowing,.rbc-agenda-table tbody>tr>td,.rbc-agenda-table thead>tr>th,.rbc-month-row{border-color:var(--color-border)}.rbc-off-range{color:var(--color-text-secondary)}.rbc-event{color:#202124;box-shadow:none;background:0 0;border:none;border-radius:6px;width:auto;max-width:100%;padding:0;display:inline-block}.rbc-event-content{width:100%;display:block}.rbc-event-content .event-card{border-radius:8px;max-width:100%;padding:8px 10px;display:block;box-shadow:0 2px 8px #0003}.rbc-agenda-view .rbc-agenda-content{padding:4px 0}.rbc-agenda-table .rbc-agenda-event-cell{vertical-align:top;padding:6px 0}.rbc-agenda-table .rbc-agenda-event-cell>div{width:100%}.rbc-agenda-table tr{border-bottom:1px solid #ffffff0f}.rbc-event.rbc-selected{filter:brightness(.9)}.rbc-slot-selection{background:#8ab4f84d}.rbc-current-time-indicator{background-color:#ea4335;height:2px}.rbc-time-gutter,.rbc-time-header-gutter,.rbc-label{color:var(--color-text-secondary)}.rbc-agenda-table{color:var(--color-text);border-collapse:separate;border-spacing:0;width:100%}.rbc-agenda-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:#ffffff0a;padding:10px 12px;font-size:12px}.rbc-agenda-table tbody td{vertical-align:top;border-bottom:1px solid #ffffff0f;padding:10px 12px}.rbc-agenda-date-cell,.rbc-agenda-time-cell{color:var(--color-text-secondary);white-space:nowrap;width:1%}.rbc-agenda-event-cell{width:100%}.rbc-show-more{color:var(--color-accent);background:0 0}.calendar-view-shell{position:relative}.agenda-list-view{flex-direction:column;gap:10px;padding:8px 4px 4px;display:flex}.agenda-list-header{color:var(--color-text-secondary);padding:4px 0 2px;font-size:14px;font-weight:600}.agenda-list-item{display:block}.agenda-empty{border:1px dashed var(--color-border);color:var(--color-text-secondary);border-radius:8px;padding:12px}.event-context-menu{z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:4px;min-width:180px;padding:8px;display:flex;position:fixed;box-shadow:0 8px 24px #00000047}.event-context-menu-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:2px 4px 6px;font-size:12px;font-weight:600}.event-context-menu-item{color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.event-context-menu-item:hover,.event-context-menu-item.is-active{background:#ffffff14}.event-context-menu-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.rbc-toolbar button{color:var(--color-text)}.rbc-off-range-bg,.rbc-month-row{background-clip:padding-box}.address-autocomplete{width:100%;margin-bottom:4px;position:relative}.address-autocomplete .form-input{width:100%;min-width:0;padding:10px 12px;font-size:14px}.address-suggestions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:20;max-height:220px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0006}.address-suggestions li{cursor:pointer;padding:8px 12px;font-size:13px}.address-suggestion-main,.address-suggestion-detail{display:block}.address-suggestion-detail{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.address-suggestions li:hover{background:#ffffff14}.address-suggestion-loading{color:var(--color-text-secondary);cursor:default}.tag-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-chip{border:1px solid var(--tag-color,var(--color-border));color:var(--color-text);background:0 0;border-radius:14px;padding:4px 12px;font-size:12px}.tag-chip.is-selected{background:var(--tag-color);color:#202124;font-weight:600}.tag-chip-add{border-style:dashed}.tag-create-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-create-form input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:4px 8px}.tag-color-options{gap:4px;display:flex}.tag-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0}.tag-color-dot.is-selected{border-color:#fff}.dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog-box{background:var(--color-surface);border-radius:var(--radius-lg);width:90%;max-width:480px;padding:20px 24px;box-shadow:0 8px 28px #0006}.dialog-box h3{margin-top:0}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.event-modal{background:var(--color-surface);border-radius:var(--radius-lg);scrollbar-width:thin;scrollbar-color:#ffffff3d transparent;width:1120px;max-width:95vw;max-height:90vh;padding:24px 28px;overflow-y:auto;box-shadow:0 8px 28px #00000080}.event-dialog-dock{z-index:1000;pointer-events:none;width:min(860px,100vw - 284px);position:fixed;top:68px;bottom:12px;right:12px}.event-dialog-dock .event-modal{pointer-events:auto;border:1px solid var(--color-border);width:100%;max-width:none;height:100%;max-height:none}.event-modal-layout{display:block}.event-modal-form{min-width:0}.event-modal::-webkit-scrollbar{width:8px}.event-modal::-webkit-scrollbar-track{background:0 0}.event-modal::-webkit-scrollbar-thumb{background:#ffffff3d;border-radius:999px}.event-modal::-webkit-scrollbar-thumb:hover{background:#ffffff5c}.event-modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.event-modal-title{color:var(--color-text);margin:0;font-size:20px}.series-hint{margin:0 0 8px}.form-section{margin-top:18px}.form-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;display:block}.form-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.address-swap-wrapper{justify-content:flex-start;margin:6px 0;display:flex}.address-swap-btn{padding:6px 10px}.customer-picker{position:relative}.customer-search-row{margin-top:0}.customer-search-input{flex:240px;min-width:240px}.customer-search-results{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:220px;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000040}.customer-search-results li{cursor:pointer;border-bottom:1px solid var(--color-border);padding:10px 12px}.customer-search-results li:last-child{border-bottom:none}.customer-search-results li:hover{background:#ffffff0f}.customer-search-empty{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-secondary);margin-top:6px;padding:8px 10px;font-size:13px}.form-input,.form-textarea{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);padding:8px 10px}.form-textarea{resize:vertical;width:100%;min-height:70px}.interval-input{width:64px}.recurrence-box{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.recurrence-end{flex-direction:column;align-items:flex-start;gap:8px}.recurrence-end-option{align-items:center;gap:8px;font-size:13px;display:flex}.weekday-toggle{gap:4px;display:flex}.weekday-toggle button{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text);background:0 0;border-radius:50%;font-size:12px}.weekday-toggle button.is-selected{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:#fff}.trip-type-options{flex-direction:column;gap:6px;display:flex}.trip-type-option{align-items:center;gap:8px;font-size:13px;display:flex}.trip-type-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.route-info{color:var(--color-text-secondary);margin-top:8px;font-size:13px}.zuzahlungsbefreiung-toggle{color:var(--color-text);cursor:pointer;align-self:flex-start;align-items:center;gap:8px;margin-top:4px;font-size:14px;display:inline-flex}.zuzahlungsbefreiung-toggle input{margin:0}.route-info strong{color:var(--color-text)}.attachment-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.attachment-list li{align-items:center;gap:8px;font-size:13px;display:flex}.attachment-list a{color:var(--color-accent)}.attachment-size{color:var(--color-text-secondary);font-size:11px}.event-modal-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.event-modal-actions-right{gap:8px;display:flex}.error-text{color:var(--color-danger);margin-top:8px;font-size:13px}.form-label-row{align-items:center;gap:8px;display:flex}.form-label-row .form-label{margin-bottom:6px}.missing-customer-warning{color:var(--color-danger);text-transform:none;letter-spacing:0;align-items:center;gap:5px;margin-bottom:6px;font-size:12px;font-weight:600;display:inline-flex}.missing-customer-warning b{background:var(--color-danger);color:#202124;border-radius:50%;place-items:center;width:15px;height:15px;font-size:11px;display:inline-grid}@media (width<=900px){.event-dialog-dock{pointer-events:auto;background:#00000080;justify-content:center;align-items:center;width:auto;padding:16px;display:flex;inset:0}.event-modal{width:680px;height:auto;max-height:90vh}}.editable-color-list{flex-direction:column;gap:10px;display:flex}.color-list-form{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.color-list-form .form-input{flex:1;min-width:120px}.settings-box{width:480px;max-width:95vw;max-height:85vh;overflow-y:auto}.settings-box section+section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:16px}.settings-box h4{margin:0 0 10px}.settings-tag-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.settings-tag-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-tag-name{flex:1}.buffer-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px;display:grid}.buffer-settings-grid .form-field{flex-direction:column;gap:6px;display:flex}.new-user-form{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.new-user-form select,.new-user-form .btn{min-width:0}.user-right-checkbox{align-items:center;gap:7px;font-size:13px;display:flex}.user-list{border-top:1px solid var(--color-border);margin-top:14px}.user-list-item{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 132px;align-items:center;gap:8px 12px;padding:10px 0;display:grid}.user-list-item select{padding:6px 8px}.user-list-item .user-right-checkbox{grid-column:1/-1}.admin-badge{background:var(--color-accent-strong);color:#fff;border-radius:999px;margin-left:7px;padding:2px 6px;font-size:10px;font-weight:700}@media (width<=640px){.buffer-settings-grid,.new-user-form,.user-list-item{grid-template-columns:1fr}.user-list-item .user-right-checkbox{grid-column:auto}}.vehicle-assignment-bar{border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:none;flex-shrink:0;overflow:hidden}.vehicle-assignment-row{border-bottom:1px solid var(--color-border);display:flex}.vehicle-assignment-header{color:var(--color-text-secondary);text-transform:capitalize;background:#ffffff08;font-size:11px}.vehicle-assignment-label{border-right:1px solid var(--color-border);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;width:96px;padding:6px 8px;font-size:12px;display:flex;overflow:hidden}.vehicle-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.vehicle-assignment-cell{border-right:1px solid var(--color-border);flex:1;justify-content:center;align-items:center;min-width:0;padding:4px 6px;display:flex}.vehicle-assignment-cell:last-child{border-right:none}.vehicle-assignment-day-label{justify-content:center;padding:6px 4px}.assignment-select{background:var(--color-bg);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 6px;font-size:12px}.customer-db{border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;gap:0;min-width:0;min-height:0;display:flex;overflow:hidden}.customer-list-panel{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.customer-list-header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px;display:flex}.customer-list{flex:1;margin:0;padding:4px;list-style:none;overflow-y:auto}.customer-list-empty{padding:12px}.customer-list-item{width:100%;color:var(--color-text);border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.customer-list-item:hover{background:#ffffff0f}.customer-list-item.is-active{background:#8ab4f826}.customer-list-name{font-weight:500}.customer-detail-panel{flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.customer-form{flex-direction:column;gap:12px;max-width:560px;display:flex}.customer-form h3{margin:0}.form-field{flex:1;min-width:160px}.customer-form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.customer-form-actions .btn-danger{margin-right:auto}.customer-trips{max-width:720px;margin-top:28px}.customer-trips-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.customer-trips-header h4{margin:0}.customer-trip-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.customer-trip-item{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:var(--radius-sm);text-align:left;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.customer-trip-item:hover{background:#ffffff0f}.customer-trip-date{color:var(--color-text-secondary);flex-shrink:0}.customer-trip-title{font-weight:500}.customer-trip-type{font-size:12px}.customer-trip-route{width:100%}@media (width<=720px){.customer-db{flex-direction:column;overflow-y:auto}.customer-list-panel{border-right:0;border-bottom:1px solid var(--color-border);width:auto;max-height:210px}.customer-detail-panel{padding:18px 14px;overflow:visible}.customer-form-actions{flex-wrap:wrap}}.vehicle-db{border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.vehicle-list-panel{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.vehicle-list-header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px;display:flex}.vehicle-list{flex:1;margin:0;padding:4px;list-style:none;overflow-y:auto}.vehicle-list-empty{padding:12px}.vehicle-list-item{width:100%;color:var(--color-text);text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.vehicle-list-item:hover{background:#ffffff0f}.vehicle-list-item.is-active{background:#8ab4f826}.vehicle-list-item small,.maintenance-list span,.maintenance-list small{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.vehicle-color{border-radius:50%;flex-shrink:0;width:10px;height:10px}.vehicle-detail-panel{flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.vehicle-form{flex-direction:column;gap:12px;max-width:560px;display:flex}.vehicle-form h3{margin:0}.vehicle-information-section{background:0 0;border:0;margin:0;padding:0}.vehicle-information-section+.vehicle-information-section{margin-top:4px}.vehicle-information-section h3,.maintenance-section h3{margin:0 0 10px;font-size:16px}.vehicle-form-grid{flex-wrap:wrap;gap:12px;display:flex}.vehicle-form-grid .form-field{flex:1;min-width:160px}.vehicle-notes{margin-top:0;display:block}.vehicle-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.vehicle-actions .btn-danger{margin-right:auto}.maintenance-section{border-top:1px solid var(--color-border);max-width:720px;margin-top:28px;padding-top:20px}.maintenance-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.maintenance-form .form-field{flex:140px}.maintenance-description{flex:100%}.maintenance-list{margin:12px 0 0;padding:0;list-style:none}.maintenance-list li{border-top:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.maintenance-list li>div{min-width:0}@media (width<=720px){.vehicle-db{flex-direction:column;overflow-y:auto}.vehicle-list-panel{border-right:0;border-bottom:1px solid var(--color-border);width:auto;max-height:210px}.vehicle-detail-panel{padding:20px 16px;overflow:visible}.maintenance-form .form-field{flex-basis:100%}}.employee-db{border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.employee-list-panel{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.employee-list-header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px;display:flex}.employee-list{flex:1;margin:0;padding:4px;list-style:none;overflow-y:auto}.employee-list-empty{padding:12px}.employee-list-item{width:100%;color:var(--color-text);text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.employee-list-item:hover{background:#ffffff0f}.employee-list-item.is-active{background:#8ab4f826}.employee-list-item small{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.employee-color{border-radius:50%;flex-shrink:0;width:10px;height:10px}.employee-detail-panel{flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.employee-form{flex-direction:column;gap:12px;max-width:560px;display:flex}.employee-form h3{margin:0}.employee-color-options{flex-wrap:wrap;gap:8px;display:flex}.employee-form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.employee-form-actions .btn-danger{margin-right:auto}@media (width<=720px){.employee-db{flex-direction:column;overflow-y:auto}.employee-list-panel{border-right:0;border-bottom:1px solid var(--color-border);width:auto;max-height:210px}.employee-detail-panel{overflow:visible}}.ai-assistant{z-index:100;position:fixed;bottom:24px;right:24px}.ai-assistant-fab{color:#202124;background:#f2c94c;border:0;border-radius:50%;width:54px;height:54px;font-size:24px;box-shadow:0 6px 18px #00000059}.ai-assistant-fab:hover{background:#f7d65d}.ai-assistant-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(390px,100vw - 32px);position:absolute;bottom:66px;right:0;overflow:hidden;box-shadow:0 12px 32px #00000073}.ai-chat-header{color:#202124;background:#f2c94c;align-items:center;gap:10px;padding:14px;display:flex}.ai-chat-header>div:nth-child(2){flex:1}.ai-chat-header strong,.ai-chat-header span{display:block}.ai-chat-header span{opacity:.72;margin-top:2px;font-size:11px}.ai-chat-header .icon-btn{color:#202124}.ai-chat-header .icon-btn:hover{background:#00000014}.ai-chat-avatar{color:#f2c94c;background:#202124;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.ai-chat-messages{background:var(--color-bg);flex-direction:column;gap:10px;height:330px;padding:14px;display:flex;overflow-y:auto}.ai-chat-message{display:flex}.ai-chat-message.is-user{justify-content:flex-end}.ai-chat-bubble{background:var(--color-surface);max-width:85%;color:var(--color-text);border-radius:12px 12px 12px 3px;padding:10px 12px;font-size:13px}.ai-chat-message.is-user .ai-chat-bubble{background:var(--color-accent-strong);color:#fff;border-radius:12px 12px 3px}.ai-chat-bubble p{margin:0;line-height:1.4}.ai-chat-bubble .btn{margin-top:10px}.ai-chat-input{border-top:1px solid var(--color-border);align-items:flex-end;gap:8px;padding:12px;display:flex}.ai-chat-input textarea{resize:vertical;background:var(--color-bg);min-height:38px;max-height:100px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;flex:1;padding:9px 10px;font-size:13px}.ai-chat-input .btn{border-radius:50%;width:38px;height:38px;padding:0;font-size:20px}.ai-chat-error{margin:0;padding:0 12px 8px}.ai-chat-typing{align-items:center;gap:4px;min-height:36px;display:flex}.ai-chat-typing span{background:var(--color-text-secondary);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ai-typing}.ai-chat-typing span:nth-child(2){animation-delay:.15s}.ai-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes ai-typing{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (width<=640px){.ai-assistant{bottom:16px;right:16px}}.login-page{background:radial-gradient(circle at top, #303238, var(--color-bg) 58%);grid-template-columns:minmax(0,1fr);place-items:center;min-height:100dvh;padding:24px;display:grid;overflow:hidden}.login-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;justify-self:center;gap:14px;width:100%;min-width:0;max-width:min(390px,100vw - 32px);padding:30px;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000059}.login-card .top-bar-logo{align-self:center;width:190px;height:auto}.login-card h1{margin:4px 0 0;font-size:24px}.login-card p{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0 0 6px;line-height:1.45}.login-card label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:12px;display:flex}.login-card input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:100%;color:var(--color-text);background:var(--color-bg);text-transform:none;letter-spacing:normal;padding:11px 12px;font-size:16px}.login-card .remember-device{color:var(--color-text-secondary);text-transform:none;letter-spacing:normal;cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:13px}.login-card .remember-device input{flex:none;width:16px;height:16px;padding:0}.login-card .btn{min-height:44px;margin-top:4px}.login-error{color:var(--color-danger);font-size:13px}@media (width<=420px){.login-page{padding:16px}.login-card{padding:24px}.login-card .top-bar-logo{width:160px}}.app-update-notice{z-index:1500;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;gap:8px;width:min(300px,100vw - 32px);padding:14px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 32px #00000047}.app-update-notice span{color:var(--color-text-secondary);font-size:12px}.app-update-notice .btn{justify-self:start}.driver-portal{background:radial-gradient(circle at top right, #ffc60029, transparent 38%), var(--color-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.driver-portal-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;width:min(460px,100%);padding:32px;box-shadow:0 18px 50px #0000003d}.driver-portal-mark{background:var(--color-primary);color:#161616;border-radius:14px;place-items:center;width:42px;height:42px;font-size:20px;display:inline-grid}.driver-portal-eyebrow{color:var(--color-text-secondary);letter-spacing:.09em;text-transform:uppercase;margin:20px 0 4px;font-size:12px;font-weight:700}.driver-portal-card h1{margin:0;font-size:26px}.driver-portal-card>p{color:var(--color-text-secondary);margin:12px 0 22px;line-height:1.55}.driver-portal-status{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:24px;font-size:13px;display:flex}.driver-portal-status span{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #22c55e1f}.app-shell{flex-direction:column;height:100vh;display:flex}@media (width<=700px){.app-shell{height:100dvh}.app-main{padding:8px 10px 14px}.vehicle-assignment-bar{display:none}}.app-body{flex:1;min-height:0;display:flex;position:relative}.app-main{flex:1;min-width:0;padding:8px 16px 16px;display:flex;overflow:hidden}.calendar-stack{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.session-loading,.access-denied{min-height:100dvh;color:var(--color-text-secondary);text-align:center;place-content:center;gap:8px;padding:24px;display:grid}.access-denied{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:100%}.access-denied h2{color:var(--color-text);margin:0}.access-denied p{max-width:340px;margin:0;line-height:1.5}
