html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--color-parchment: #ffffff;--color-ivory: #ffffff;--color-warm-sand: #ffffff;--color-border-cream: #dbe7f5;--color-near-black: #111827;--color-charcoal-warm: #1f2937;--color-olive-gray: #4b5563;--color-stone-gray: #6b7280;--color-terracotta: #144AA6;--color-focus-blue: #144AA6;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:var(--color-near-black);background:var(--color-parchment);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{min-height:100vh;background:var(--color-parchment);color:var(--color-near-black)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6,.ant-typography.ant-typography-h1,.ant-typography.ant-typography-h2,.ant-typography.ant-typography-h3,.ant-typography.ant-typography-h4,.ant-typography.ant-typography-h5{font-family:Georgia,Times New Roman,serif;font-weight:500;color:var(--color-near-black);letter-spacing:normal}.ant-typography{color:var(--color-near-black)}.ant-typography-secondary,.ant-typography.ant-typography-secondary{color:var(--color-olive-gray)!important}.app-gradient-layout{min-height:100vh;background:#fff}.eyebrow{display:none}.university-shift-usage-groups{width:100%}.university-shift-usage-group{overflow:hidden;border:1px solid #e4edf8;border-radius:16px;background:#fff;box-shadow:0 2px 10px #144aa609}.university-shift-usage-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e4edf8;background:#f7faff}.university-shift-usage-group .ant-table-wrapper{border-radius:0}.university-shift-usage-group .ant-table-container{border-start-start-radius:0!important;border-start-end-radius:0!important}.schedule-board-page{width:100%}.schedule-board-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.schedule-board-header .ant-typography{margin-bottom:0}.schedule-board-filter-card,.schedule-board-card{border:1px solid #e4edf8;box-shadow:0 2px 10px #0f3d9109}.schedule-board-filter-card .ant-card-body,.schedule-board-card .ant-card-body{padding:12px}.schedule-board-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.schedule-board-toolbar-compact{padding:10px;border:0;border-radius:16px;background:#fff;box-shadow:none}.schedule-board-toolbar-row{display:flex;min-width:0;align-items:center;gap:10px}.schedule-board-filter-row{align-items:flex-start}.schedule-board-helper-row{justify-content:space-between;padding-top:8px;border-top:1px solid #e4edf8}.schedule-board-toolbar-title{flex:0 0 auto}.schedule-board-filter-controls{flex:1 1 auto;min-width:0;row-gap:8px!important}.schedule-board-window-controls,.schedule-board-quick-controls{min-width:0;align-items:center}.schedule-board-window-controls{display:inline-flex;flex-wrap:wrap;gap:6px 10px}.schedule-board-toolbar-compact .ant-picker,.schedule-board-toolbar-compact .ant-select-selector,.schedule-board-toolbar-compact .ant-input-affix-wrapper,.schedule-board-toolbar-compact .ant-input-search-btn{border-color:#d8e5f5!important;border-radius:10px!important}.schedule-board-toolbar-compact .ant-input-search .ant-input-affix-wrapper{border-start-start-radius:10px!important;border-end-start-radius:10px!important;border-start-end-radius:0!important;border-end-end-radius:0!important}.schedule-board-toolbar-compact .ant-input-search .ant-input-search-btn{border-start-start-radius:0!important;border-end-start-radius:0!important;border-start-end-radius:10px!important;border-end-end-radius:10px!important}.schedule-board-toolbar-compact .ant-btn:not(.ant-btn-primary){border-color:#b7cbe8;border-radius:10px;color:#0f3d91;font-weight:650}.schedule-board-toolbar-compact .ant-btn:disabled,.schedule-board-toolbar-compact .ant-btn.ant-btn-disabled,.schedule-board-toolbar-compact .ant-upload-disabled .ant-btn{border-color:#dbe7f5!important;background:#f7faff!important;color:#9aa9bd!important;opacity:.58;box-shadow:none!important;cursor:not-allowed}.schedule-board-toolbar-compact .ant-btn:disabled svg,.schedule-board-toolbar-compact .ant-btn.ant-btn-disabled svg,.schedule-board-toolbar-compact .ant-upload-disabled .ant-btn svg{opacity:.62}.schedule-board-window-label{display:inline-flex;align-items:center;min-height:34px;color:#4b5563;font-size:12px;font-weight:700}.schedule-board-window-segment{display:inline-grid;grid-template-columns:36px max-content 36px;align-items:center;overflow:hidden;border:1px solid #b7cbe8;border-radius:999px;background:#fff;box-shadow:0 2px 8px #0f3d910b}.schedule-board-window-segment .schedule-board-window-nav-button.ant-btn{width:36px;height:34px;border:0;border-radius:0;background:transparent;color:#0f3d91;box-shadow:none}.schedule-board-window-segment .schedule-board-window-nav-button.ant-btn:hover:not(:disabled),.schedule-board-window-segment .schedule-board-window-nav-button.ant-btn:focus-visible:not(:disabled){background:#f7faff;color:#0b2f73}.schedule-board-window-segment .schedule-board-window-nav-button.ant-btn:disabled{background:#f9fbff;color:#9ca3af}.schedule-board-visible-window-tag.ant-tag{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-inline-end:0;padding:0 14px;border:0;border-inline:1px solid #d8e5f5;border-radius:0;background:#f7faff;color:#0f3d91;font-weight:750;letter-spacing:-.01em}.schedule-board-toolbar-actions{justify-content:space-between;padding-top:8px;border-top:1px solid #e4edf8}.schedule-board-toolbar-label{display:inline-flex;align-items:center;min-height:32px;min-width:max-content;color:#4b5563;font-size:12px;font-weight:700}.schedule-board-quick-controls .ant-checkbox-wrapper{min-height:30px;padding:5px 10px;border:1px solid #d8e5f5;border-radius:999px;background:#f7faff;color:#374151;font-weight:600}.schedule-board-repeat-pattern{display:none;justify-content:flex-end;min-width:0}.schedule-board-repeat-pattern.is-open{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;padding:10px;border:1px solid #d8e5f5;border-radius:14px;background:#fff}.schedule-board-repeat-toggle-group{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.schedule-board-repeat-toggle.ant-btn{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid #d8e5f5;border-radius:999px;background:#fff;color:#0f3d91;font-size:12px;font-weight:700}.schedule-board-repeat-action-buttons{display:inline-flex;align-items:center;gap:6px;flex:none}.schedule-board-repeat-icon-button.ant-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:10px}.schedule-board-repeat-icon-button.ant-btn-primary{box-shadow:0 2px 10px #0f3d911f}.schedule-board-repeat-toggle.ant-btn:hover,.schedule-board-repeat-toggle.ant-btn:focus-visible{border-color:#b7cbe8;background:#eef5ff;color:#0b2f73}.schedule-board-repeat-pattern.is-open .schedule-board-repeat-toggle.ant-btn{justify-self:flex-start}.schedule-board-repeat-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(138px,.8fr) minmax(160px,1fr) minmax(200px,1fr);gap:8px;align-items:end}.schedule-board-repeat-form .ant-form-item{margin-bottom:0}.schedule-board-repeat-form .ant-form-item-label{padding-bottom:3px}.schedule-board-repeat-form .ant-form-item-label>label{height:auto;color:#6b7280;font-size:11px;font-weight:650}.schedule-board-repeat-form .ant-picker,.schedule-board-repeat-form .ant-select{width:100%}.schedule-board-repeat-form .ant-picker,.schedule-board-repeat-form .ant-select-selector{border-color:#d8e5f5!important;border-radius:10px!important}.schedule-board-repeat-form .ant-select-multiple{display:flex;align-items:center}.schedule-board-repeat-form .ant-select-multiple .ant-select-selector{display:flex!important;align-items:center!important;min-height:34px!important;height:34px!important;padding-top:0!important;padding-bottom:0!important}.schedule-board-repeat-form .ant-select-multiple .ant-select-selection-wrap{align-self:center;width:100%;min-height:24px}.schedule-board-repeat-form .ant-select-multiple .ant-select-selection-overflow{align-items:center!important;min-height:24px}.schedule-board-repeat-form .ant-select-multiple .ant-select-selection-item{display:inline-flex;align-items:center;height:22px;line-height:20px;margin-top:0;margin-bottom:0}.schedule-board-repeat-form .ant-select-multiple .ant-select-selection-search{display:inline-flex;align-items:center;height:24px;margin:0}.schedule-board-repeat-form .ant-select-multiple .ant-select-selection-search-input{height:24px!important}.schedule-board-repeat-form .ant-select-multiple .ant-select-selection-placeholder{display:flex;align-items:center;height:24px;line-height:24px;inset-inline-start:0}.schedule-board-repeat-form .ant-btn{height:34px;border-radius:10px;font-weight:700}.schedule-board-import-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.schedule-board-import-summary>div{padding:12px;border:1px solid #e4edf8;border-radius:14px;background:#f7faff}.schedule-board-import-summary .ant-typography{margin:0}.schedule-board-import-errors{display:grid;gap:6px;margin-bottom:12px;padding:10px 12px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7}.schedule-board-import-preview{display:grid;gap:8px;max-height:320px;overflow:auto}.schedule-board-import-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e4edf8;border-radius:12px;background:#fff}.schedule-board-import-row>div{display:grid;gap:3px}.schedule-board-import-row.is-valid{border-color:#bbf7d0;background:#f0fdf4}.schedule-board-import-row.has-error{border-color:#fecaca;background:#fff7f7}.schedule-board-timetable-map{display:grid;gap:10px;padding:12px;border:1px solid #eadfd2;border-radius:16px;background:#fffaf3}.schedule-board-timetable-map-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:center}.schedule-board-timetable-map-row .ant-select{width:100%}.schedule-board-excel-guide-modal{display:grid;gap:14px}.schedule-board-excel-guide-hero{display:flex;gap:14px;padding:16px;border:1px solid #e4edf8;border-radius:18px;background:#f7faff}.schedule-board-excel-guide-hero .ant-typography{margin:0}.schedule-board-excel-guide-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:#dbeafe;color:#0f3d91}.schedule-board-excel-guide-range{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e4edf8;border-radius:14px;background:#fff}.schedule-board-excel-guide-range .ant-typography{flex:0 0 auto}.schedule-board-excel-guide-range .ant-picker{border-color:#d8e5f5!important;border-radius:10px!important}.schedule-board-excel-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-board-excel-guide-steps>div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px;border:1px solid #e4edf8;border-radius:14px;background:#fff}.schedule-board-excel-guide-steps>div>span:first-child{display:inline-flex;align-items:center;justify-content:center;grid-row:span 2;width:26px;height:26px;border-radius:999px;background:#0f3d91;color:#fff;font-weight:700;font-size:12px}.schedule-board-excel-guide-steps>div>.ant-typography{min-width:0;margin:0}.schedule-board-excel-guide-note{padding:12px 14px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb;color:#92400e}@media(max-width:1100px){.schedule-board-toolbar-row,.schedule-board-toolbar-actions{align-items:flex-start;flex-direction:column}.schedule-board-helper-row{gap:8px}.schedule-board-excel-guide-range{align-items:flex-start;flex-direction:column}.schedule-board-excel-guide-steps,.schedule-board-repeat-pattern.is-open{grid-template-columns:1fr}.schedule-board-repeat-pattern{justify-content:flex-start}.schedule-board-repeat-form{grid-template-columns:1fr 1fr}}@media(max-width:760px){.schedule-board-repeat-form{grid-template-columns:1fr}}.schedule-board-table .ant-table,.schedule-board-table .ant-table-container,.schedule-board-table .ant-table-cell{border-color:#e4edf8!important}.schedule-board-custom-scrollbar{position:sticky;top:8px;z-index:8;height:20px;margin-bottom:10px;border:1px solid #b7cbe8;border-radius:999px;background:#f7faff;box-shadow:0 2px 10px #0f3d910e;cursor:grab;-webkit-user-select:none;user-select:none}.schedule-board-custom-scrollbar-thumb{position:absolute;top:3px;bottom:3px;left:0;width:100%;min-width:72px;border-radius:999px;background:#0f3d91;box-shadow:0 2px 6px #0f3d912e;will-change:transform,width}.schedule-board-custom-scrollbar:hover,.schedule-board-custom-scrollbar:focus-visible{border-color:#0f3d91;outline:none}.schedule-board-custom-scrollbar:active{cursor:grabbing}.schedule-board-custom-scrollbar:hover .schedule-board-custom-scrollbar-thumb,.schedule-board-custom-scrollbar:focus-visible .schedule-board-custom-scrollbar-thumb{background:#0b2f73}.schedule-board-table-scroll{position:relative;width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;overscroll-behavior-x:contain;scrollbar-width:none}.schedule-board-table-scroll::-webkit-scrollbar{display:none}.schedule-board-table{min-width:max-content}.schedule-board-table .ant-table-thead>tr>th{padding:5px 6px;background:#f7faff!important;color:#111827;font-weight:650}.schedule-board-table .ant-table-cell-fix-left,.schedule-board-table .ant-table-cell-fix-left-first,.schedule-board-table .ant-table-cell-fix-left-last{position:sticky!important;left:0!important;z-index:3;background:#fff!important}.schedule-board-table .ant-table-thead .ant-table-cell-fix-left,.schedule-board-table .ant-table-thead .ant-table-cell-fix-left-first,.schedule-board-table .ant-table-thead .ant-table-cell-fix-left-last{z-index:5;background:#f7faff!important}.schedule-board-table .ant-table-cell-fix-left-last:after{position:absolute;top:0;right:-1px;bottom:0;width:16px;pointer-events:none;content:"";box-shadow:8px 0 14px #0f3d9114}.schedule-board-table .ant-table-body{scrollbar-color:#b7cbe8 #f7faff;scrollbar-width:thin}.schedule-board-table .ant-table-body::-webkit-scrollbar{width:10px;height:10px}.schedule-board-table .ant-table-body::-webkit-scrollbar-track{background:#f7faff}.schedule-board-table .ant-table-body::-webkit-scrollbar-thumb{border:2px solid #f7faff;border-radius:999px;background:#b7cbe8}.schedule-board-table .ant-table-body::-webkit-scrollbar-thumb:hover{background:#0f3d91}.schedule-board-table .ant-table-tbody>tr>td{padding:5px 4px!important;vertical-align:middle}.schedule-board-table .ant-table-tbody>tr>td:not(.ant-table-cell-fix-left){position:relative;padding:0!important}.schedule-board-table .ant-table-tbody>tr>td.ant-table-cell-fix-start,.schedule-board-table .ant-table-tbody>tr>td.ant-table-cell-fix-left{padding:8px 10px!important}.schedule-board-table .ant-table-thead>tr:first-child>th:not(.ant-table-cell-fix-left){padding:6px 8px;background:#f8f4ee!important}.schedule-board-table .ant-table-thead>tr:nth-child(2)>th{padding:4px 3px;background:#fffaf3!important}.schedule-board-room-cell,.schedule-board-day-title,.schedule-board-shift-title,.schedule-board-shift-column-title{display:flex;flex-direction:column;gap:2px}.schedule-board-day-group-title{align-items:center;justify-content:center;min-height:100%;margin:-6px -8px;padding:6px 8px;text-align:center}.schedule-board-shift-column-title{align-items:center;justify-content:center;min-width:44px;min-height:100%;margin:-4px -3px;padding:4px 3px;color:#7c4a03}.schedule-board-slot-cell{position:absolute;inset:0;display:flex;align-items:stretch;justify-content:stretch;width:100%;min-height:100%;-webkit-user-select:none;user-select:none}.schedule-board-room-title-row{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:6px;align-items:center;width:100%}.schedule-board-room-info-button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid #b7cbe8;border-radius:999px;background:#f7faff;color:#0f3d91;font-size:11px;font-weight:800;line-height:1;cursor:help}.schedule-board-room-info-button:hover,.schedule-board-room-info-button:focus-visible{border-color:#0f3d91;background:#dbeafe;outline:none}.schedule-board-room-meta,.schedule-board-shift-title .ant-typography,.schedule-board-day-title .ant-typography:last-child,.schedule-board-shift-column-title .ant-typography{font-size:11px}.schedule-board-quick-select.ant-checkbox-wrapper{align-self:flex-start;margin-top:2px;color:#0f3d91;font-size:11px;font-weight:650;line-height:1.25}.schedule-board-quick-select.ant-checkbox-wrapper:hover,.schedule-board-quick-select.ant-checkbox-wrapper:focus-within{color:#0b2f73}.schedule-board-quick-select .ant-checkbox-inner{border-color:#b7cbe8}.schedule-board-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 14px;margin-bottom:10px;padding:8px 10px;border:1px solid #eadfd4;border-radius:12px;background:#fffaf3}.schedule-board-legend-section{display:flex;flex-direction:column;gap:6px;flex:1 1 420px;min-width:0}.schedule-board-shift-legend-list,.schedule-board-status-legend{display:flex;flex-wrap:wrap;gap:6px}.schedule-board-shift-legend-item,.schedule-board-status-legend-item{display:inline-flex;align-items:center;gap:8px;min-height:24px;padding:3px 8px;border-radius:999px;font-size:12px;line-height:1.2}.schedule-board-shift-legend-item{border:1px solid #eadfd4;background:#fff;color:#4b5563}.schedule-board-shift-legend-name{font-weight:700;white-space:nowrap}.schedule-board-shift-legend-time{font-size:11px;opacity:.85;white-space:nowrap}.schedule-board-status-legend{flex:0 0 auto}.schedule-board-status-legend-item{font-weight:650}.schedule-board-status-legend-item:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.6}.schedule-board-status-legend-item.is-empty{background:#fff;color:#6b7280;box-shadow:inset 0 0 0 1px #e5e7eb}.schedule-board-status-legend-item.is-approved{background:#dcfce7;color:#166534}.schedule-board-status-legend-item.is-pending{background:#ffedd5;color:#9a3412}.schedule-board-status-legend-item.is-selected{background:#e0edff;color:#0b2f73}.schedule-board-day-cell{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;padding:8px}.schedule-board-room-day-select{flex:1 0 100%;padding:4px 8px 6px;border:1px solid #e4edf8;border-radius:10px;background:#f7faff}.schedule-board-shift-slot{display:flex;flex:1 1 auto;justify-content:stretch;min-width:0;width:100%;min-height:100%}.schedule-board-shift-slot-content{min-width:0;display:flex;flex-direction:column;align-items:stretch;flex:1;min-height:100%}.schedule-board-shift-slot.is-empty{align-items:stretch}.schedule-board-shift-slot.is-empty.is-selected{background:#0f3d91;color:#fff;box-shadow:inset 0 0 0 1px #0b2f73}.schedule-board-shift-slot.is-empty:not(.is-selected):hover,.schedule-board-shift-slot.is-empty:not(.is-selected):focus-within{background:#f7faff}.schedule-board-cell{display:inline-flex;align-items:center;justify-content:center;min-height:24px;width:auto;min-width:32px;border:1px solid #e5e7eb;border-radius:999px;padding:3px 7px;background:#fff;color:#374151;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.schedule-board-shift-slot .schedule-board-cell{width:100%;min-width:0;min-height:100%;flex:1;border-radius:0;padding:0}.schedule-board-shift-slot.is-empty .schedule-board-cell-empty{border:0;background:transparent}.schedule-board-cell:hover,.schedule-board-cell:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 5px 12px #11182714}.schedule-board-shift-slot.is-empty .schedule-board-cell-empty:hover,.schedule-board-shift-slot.is-empty .schedule-board-cell-empty:focus-visible{transform:none;box-shadow:none}.schedule-board-cell-icon{width:12px;height:12px;stroke-width:2.4}.schedule-board-cell-logo{width:100%;height:100%;border-radius:0;object-fit:cover;background:#fff}.schedule-board-cell-logo-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:0;background:#fff;color:#0f3d91;font-size:10px;font-weight:750;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedule-board-cell-empty{color:#4b5563}.schedule-board-cell-empty:disabled{border-color:#e5e7eb;background:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.6}.schedule-board-cell-empty:disabled:hover,.schedule-board-cell-empty:disabled:focus-visible{border-color:#e5e7eb;background:#f3f4f6;transform:none;box-shadow:none}.schedule-board-shift-slot.is-empty .schedule-board-cell-empty:disabled:hover,.schedule-board-shift-slot.is-empty .schedule-board-cell-empty:disabled:focus-visible{border-color:transparent;background:transparent}.schedule-board-cell-empty:not(:disabled):hover,.schedule-board-cell-empty:not(:disabled):focus-visible{border-color:#d5c7bb;background:#fffaf3}.schedule-board-shift-slot.is-empty .schedule-board-cell-empty:not(:disabled):hover,.schedule-board-shift-slot.is-empty .schedule-board-cell-empty:not(:disabled):focus-visible{border-color:transparent;background:transparent}.schedule-board-cell-empty.is-selected{border-color:#0b2f73;background:#0f3d91;color:#fff;box-shadow:0 0 0 2px #0f3d9133,0 4px 10px #0f3d912e,inset 0 -2px #0b2f736b}.schedule-board-shift-slot.is-empty .schedule-board-cell-empty.is-selected{border-color:transparent;background:transparent;box-shadow:none}.schedule-board-cell-empty.is-selected:hover,.schedule-board-cell-empty.is-selected:focus-visible{border-color:#08245b;background:#0b2f73;color:#fff}.schedule-board-shift-slot.is-empty .schedule-board-cell-empty.is-selected:hover,.schedule-board-shift-slot.is-empty .schedule-board-cell-empty.is-selected:focus-visible{border-color:transparent;background:transparent;color:#fff}.schedule-board-cell-filled{color:#14532d}.schedule-board-cell-filled.is-pending{border-color:#f97316;background:#fb923c;color:#fff}.schedule-board-cell-filled.is-approved{border-color:#16a34a;background:#22c55e;color:#fff}.schedule-board-cell-filled.is-pending:hover,.schedule-board-cell-filled.is-pending:focus-visible{background:#ea580c}.schedule-board-cell-filled.is-approved:hover,.schedule-board-cell-filled.is-approved:focus-visible{background:#16a34a}.schedule-board-loading-placeholder{padding:32px 12px;color:#6b7280;text-align:center}.schedule-booking-detail-modal .ant-modal-content{border:1px solid #e4edf8;border-radius:18px;box-shadow:0 12px 32px #0f3d911f}.schedule-booking-detail-modal .ant-modal-header{margin-bottom:12px}.schedule-booking-detail{display:flex;flex-direction:column;gap:14px}.schedule-booking-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border:1px solid #e4edf8;border-radius:16px}.schedule-booking-detail-hero.is-approved{background:#ecfdf3}.schedule-booking-detail-hero.is-pending{background:#fff7ed}.schedule-booking-detail-hero .ant-typography{margin-bottom:0}.schedule-booking-detail-eyebrow.ant-typography{display:block;margin-bottom:4px;color:#0f3d91;font-size:12px;font-weight:650}.schedule-booking-detail-section .ant-descriptions-view{border-color:#e4edf8;border-radius:14px;overflow:hidden}.schedule-booking-detail-section .ant-descriptions-item-label{width:128px;background:#f7faff;color:#4b5563;font-weight:650}.schedule-booking-detail-section .ant-descriptions-item-content{color:#111827}.schedule-booking-session-section{border:1px solid #e4edf8;border-radius:16px;background:#fff;overflow:hidden}.schedule-booking-session-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e4edf8;background:#f7faff}.schedule-booking-session-section-header .ant-typography{margin:0}.schedule-booking-session-list{display:flex;flex-direction:column}.schedule-booking-session-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e4edf8}.schedule-booking-session-item:last-child{border-bottom:0}.schedule-booking-session-item>div:first-child{display:flex;flex-direction:column;gap:2px}.schedule-booking-detail-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}@media(max-width:768px){.schedule-board-header{flex-direction:column}}.scope-room-tree-select.ant-select-multiple .ant-select-selector{min-height:44px;align-items:center;padding-block:5px}.scope-room-tree-select.ant-select-multiple .ant-select-selection-overflow{align-items:center;row-gap:6px}.scope-room-tree-select.ant-select-multiple .ant-select-selection-item{min-height:30px;line-height:28px;font-size:14px;border-radius:8px;padding-inline:10px 6px}.scope-room-tree-select.ant-select-multiple .ant-select-selection-item-content,.scope-room-tree-select.ant-select-multiple .ant-select-selection-item-remove{line-height:28px}.scope-permissions-table .ant-table-cell{overflow:visible}.scope-permissions-row>td{height:auto;vertical-align:top;padding-block:16px!important}.console-app-frame{height:100vh;overflow:hidden;display:flex;flex-direction:column}.console-shell{background:transparent;flex:1;min-height:0;overflow:hidden}.console-sider{position:relative;padding:18px 14px;border-right:1px solid rgba(255,255,255,.1);height:100%;overflow:visible;background:linear-gradient(180deg,#144aa6,#0758c7 48%,#004bb6)}.console-sider .ant-layout-sider-children{height:100%}.console-sider-content{height:100%;display:flex;flex-direction:column;gap:8px}.console-sidebar-brand{display:flex;min-height:54px;align-items:center;padding:0 4px 14px}.console-sidebar-brand-logo{display:block;width:100%;max-height:58px;object-fit:contain;object-position:left center}.console-sider.is-collapsed .console-sidebar-brand{justify-content:center;padding-inline:0}.console-sider.is-collapsed .console-sidebar-brand-logo{width:44px;height:44px;object-fit:cover;object-position:left center}.console-menu-slot{flex:1;min-height:0;padding-top:2px}.console-nav-menu{height:100%;overflow-y:auto;overflow-x:hidden;min-width:0;border-inline-end:none!important;background:transparent!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.42) transparent}.console-nav-menu::-webkit-scrollbar{width:8px}.console-nav-menu::-webkit-scrollbar-track{background:transparent;border-radius:999px}.console-nav-menu::-webkit-scrollbar-thumb{background:#ffffff57;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.console-nav-menu:hover::-webkit-scrollbar-thumb{background:#ffffff8f;background-clip:padding-box}.console-nav-menu .ant-menu-item,.console-nav-menu .ant-menu-submenu-title{height:auto;line-height:1.35;padding-block:10px;color:#ffffffdb;font-weight:550}.console-nav-menu .ant-menu-item .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-title .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-title .ant-menu-submenu-arrow{color:#ffffffd1}.console-nav-menu .ant-menu-item:hover,.console-nav-menu .ant-menu-submenu-title:hover,.console-nav-menu .ant-menu-item:focus-visible,.console-nav-menu .ant-menu-submenu-title:focus-visible{color:#fff!important;font-weight:700;background:#ffffff1f!important}.console-nav-menu .ant-menu-item:hover .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-title:hover .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.console-nav-menu .ant-menu-item:focus-visible .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-title:focus-visible .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-title:focus-visible .ant-menu-submenu-arrow{color:#fff!important}.console-nav-menu .ant-menu-item-selected{color:#fff!important;font-weight:700;background:#ffffff2e!important;box-shadow:inset 0 0 0 1px #ffffff3d}.console-nav-menu .ant-menu-item-selected .ant-menu-item-icon,.console-nav-menu .ant-menu-item-selected .console-menu-label-text{color:#fff!important;font-weight:700}.console-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title,.console-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important;background:#ffffff1f!important;font-weight:700}.console-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-title-content,.console-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow,.console-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-item-icon,.console-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-title-content,.console-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:#fff!important}.console-menu-label-with-badge{padding-right:2px;display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px;width:100%}.console-menu-label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-nav-menu .ant-menu-item,.console-nav-menu .ant-menu-title-content,.console-menu-label-with-badge,.console-menu-count-badge{overflow:visible}.console-menu-count-badge{flex:0 0 auto}.console-sider.is-collapsed .console-menu-label-with-badge{min-width:0;padding-right:10px;justify-content:center}.console-content{position:relative;padding:24px 28px 30px;height:100%;overflow-y:auto;overflow-x:hidden;background:linear-gradient(180deg,#fff0,#ffffff29 58%,#fff) top center / 100% 220px no-repeat,linear-gradient(90deg,#fffffffa,#ffffffdb 45%,#ffffff2e) top center / 100% 220px no-repeat,url(/bg-header.png) top center / 100% 220px no-repeat,#fff}.console-top-brand-banner{display:none}.console-top-brand-banner-inner{min-height:104px;display:flex;align-items:center;padding:14px 34px}.console-top-brand-logo{display:block;width:min(430px,42vw);max-height:76px;object-fit:contain;object-position:left center}.console-menu-collapse-row,.console-mobile-menu-header{display:flex;align-items:center;justify-content:flex-end}.console-menu-collapse-row{position:absolute;top:72px;right:-14px;z-index:5;min-height:0}.console-mobile-menu-header{justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #e4edf8}.console-mobile-brand-logo{display:block;width:min(220px,72vw);max-height:54px;object-fit:contain;object-position:left center}.console-mobile-menu-header .console-collapse-button-right{position:static;top:auto;right:auto}@media(max-width:768px){.console-app-frame{height:auto;min-height:100vh;overflow:visible}.console-shell{height:auto;min-height:0;overflow:visible}.console-content{min-width:0;width:100%;height:auto;min-height:0;padding:16px;overflow:visible}.console-top-brand-banner{min-height:84px;background-size:cover}.console-top-brand-banner-inner{min-height:84px;padding:12px 58px 12px 16px}.console-top-brand-logo{width:min(320px,72vw);max-height:58px}.workspace-page{min-width:0;padding-top:48px}}@media(max-width:768px){.console-sider{display:none!important;width:0!important;min-width:0!important;max-width:0!important;flex:0 0 0!important;padding:0!important;overflow:hidden!important}.console-menu-collapse-row{display:none!important}}.console-mobile-menu-button{display:none}.console-mobile-menu-drawer .ant-drawer-content{background:#fff}.console-mobile-menu-drawer .ant-drawer-body{padding:24px 20px;background:linear-gradient(180deg,#fffffffa,#f7fafffa),url(/bg-header.png) top center / cover no-repeat,#fff}.console-mobile-menu-drawer .ant-drawer-close{color:#0f3d91}.console-mobile-sider-content{min-height:100%}.console-mobile-nav-menu{max-height:calc(100vh - 240px);scrollbar-color:rgba(15,61,145,.25) transparent}.console-mobile-nav-menu .ant-menu-item,.console-mobile-nav-menu .ant-menu-submenu-title{color:#4b5563}.console-mobile-nav-menu .ant-menu-item .ant-menu-item-icon,.console-mobile-nav-menu .ant-menu-submenu-title .ant-menu-item-icon,.console-mobile-nav-menu .ant-menu-submenu-title .ant-menu-submenu-arrow,.console-mobile-nav-menu .ant-menu-title-content,.console-mobile-nav-menu .console-menu-label-text{color:inherit!important}.console-mobile-nav-menu .ant-menu-item:hover,.console-mobile-nav-menu .ant-menu-submenu-title:hover,.console-mobile-nav-menu .ant-menu-item:focus-visible,.console-mobile-nav-menu .ant-menu-submenu-title:focus-visible,.console-mobile-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title,.console-mobile-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#0f3d91!important;background:#f7faff!important}.console-mobile-nav-menu .ant-menu-item-selected{color:#0f3d91!important;background:#dbeafe!important;box-shadow:inset 0 0 0 1px #b7cbe8}.console-mobile-nav-menu .ant-menu-item-selected .ant-menu-item-icon,.console-mobile-nav-menu .ant-menu-item-selected .console-menu-label-text,.console-mobile-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-item-icon,.console-mobile-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-title-content,.console-mobile-nav-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow,.console-mobile-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-item-icon,.console-mobile-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-title-content,.console-mobile-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:#0f3d91!important}.console-mobile-nav-menu::-webkit-scrollbar-thumb{background:#0f3d9138}.console-mobile-nav-menu:hover::-webkit-scrollbar-thumb{background:#0f3d9157}.console-mobile-user-card{display:block;margin-top:20px}@media(max-width:768px){.console-mobile-menu-button{position:fixed;top:14px;left:14px;z-index:1000;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #1414130d}}.console-brand{margin-bottom:6px}.console-brand-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-right:40px}.console-brand-header{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.console-brand-logo-wrap{position:relative;width:42px;height:42px;flex:0 0 auto}.console-brand-logo{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 0 0 1px #dbe7f5;transition:opacity .2s ease}.console-brand-title{margin:0!important;line-height:1.25;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-collapse-button{width:32px;height:44px;border:1px solid rgba(255,255,255,.38);border-radius:999px;color:#144aa6;background:#fff;box-shadow:0 8px 18px #0f3a8233}.console-collapse-button:hover,.console-collapse-button:focus-visible{color:#fff!important;background:#144aa6!important;border-color:#144aa6!important}.console-collapse-button-right{position:absolute;top:4px;right:0;margin-left:0;flex:0 0 auto}.console-collapse-button-overlay{position:absolute;inset:0;width:42px;height:42px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s ease}.console-sider.is-collapsed .console-brand-logo-wrap:hover .console-brand-logo,.console-sider.is-collapsed .console-brand-logo-wrap:focus-within .console-brand-logo{opacity:0}.console-sider.is-collapsed .console-brand-logo-wrap:hover .console-collapse-button-overlay,.console-sider.is-collapsed .console-brand-logo-wrap:focus-within .console-collapse-button-overlay{opacity:1;pointer-events:auto}.console-user-card{min-width:0;max-width:100%;overflow:hidden;transition:all .2s ease;border:1px solid rgba(255,255,255,.24);background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff14}.console-user-card .ant-card-body{min-width:0}.console-user-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.console-user-identity{min-width:0;max-width:100%;flex:1 1 auto}.console-user-card .ant-space-item:last-child{min-width:0;flex:1 1 auto;overflow:hidden}.console-profile-settings-button{flex:0 0 auto;color:#ffffffdb}.console-profile-settings-button:hover{color:#fff!important;background:#ffffff24!important}.console-user-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.console-user-meta .ant-typography{display:block;max-width:100%;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-user-card .ant-typography,.console-user-card .console-user-meta .ant-typography{color:#ffffffc2!important}.console-user-card .console-user-meta .ant-typography strong,.console-user-card .console-user-meta .ant-typography.ant-typography strong,.console-user-card .console-user-meta .ant-typography:first-child{color:#fff!important;font-weight:700}.console-user-card .ant-avatar{color:#ffffffe6;background:#ffffff2e}.console-user-card .console-logout-button.ant-btn{color:#fff;border-color:#ffffff57;background:#ffffff1f;box-shadow:none}.console-user-card .console-logout-button.ant-btn:hover,.console-user-card .console-logout-button.ant-btn:focus-visible{color:#fff!important;border-color:#ffffff8f!important;background:#fff3!important}.profile-info-modal .ant-modal-content,.requester-notifications-modal .ant-modal-content{border:1px solid #dbe7f5;border-radius:22px;background:#fff;box-shadow:0 4px 12px #14141309}.requester-notifications-loading{min-height:180px}.requester-notifications-mini-list{max-height:420px;overflow-y:auto}.requester-notifications-mini-list .ant-list-item{margin-bottom:10px;padding:12px;border:1px solid #dbe7f5;border-radius:14px;background:#fff}.requester-notifications-mini-list .ant-list-item.is-unread{border-color:#9bb8df;background:#fff}.profile-info-summary{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #dbe7f5;border-radius:18px;background:#ffffffad}.profile-info-summary .ant-typography{margin-bottom:0}.profile-info-grid{display:grid;gap:10px}.profile-info-field{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #dbe7f5;border-radius:16px;background:#ffffffc2}.profile-info-field .ant-typography{word-break:break-word}.auth-page{display:grid;place-items:center;min-height:100vh;padding:32px;background-image:linear-gradient(90deg,#ffffff5c,#ffffff2e),url(/bg-login.png);background-position:center;background-size:cover;background-repeat:no-repeat}.auth-card{width:min(430px,100%);border:1px solid rgba(183,203,232,.9);border-radius:18px;box-shadow:0 18px 48px #144aa629,0 0 0 1px #ffffffa3 inset;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card .ant-card-body{padding:32px 30px 28px}.auth-login-header{align-items:center;gap:10px;text-align:center}.auth-login-header .ant-typography.ant-typography-h2,.auth-login-header h2.ant-typography{margin-top:4px;margin-bottom:0;color:#111827;font-size:24px;line-height:1.22;font-weight:750}.auth-login-header .ant-typography-secondary{max-width:300px;margin-inline:auto;font-size:14px;line-height:1.55}.auth-login-brand{display:inline-flex;align-items:center;gap:10px;width:fit-content;border:1px solid #cbdcf0;background:#fff;border-radius:999px;padding:6px 12px 6px 8px}.auth-login-logo{display:block;width:164px;max-width:72%;height:auto;object-fit:contain}.auth-login-brand-text{color:#4b5563;font-size:13px;font-weight:500}.auth-login-form .ant-form-item{margin-bottom:14px}.auth-login-form .ant-form-item:last-child{margin-bottom:0}.auth-login-form .ant-form-item-label>label{color:#1f2937;font-weight:500}.auth-login-form .ant-input,.auth-login-form .ant-input-affix-wrapper{height:46px;min-height:46px;border-radius:10px!important;border-color:#dbe7f5!important;background:#eef5ff!important}.auth-login-form .ant-input{padding-block:0}.auth-login-form .ant-input-affix-wrapper{display:flex;align-items:center}.auth-login-form .ant-input-affix-wrapper .ant-input{height:100%;min-height:0;background:transparent!important}.auth-login-form .ant-input:focus,.auth-login-form .ant-input-focused,.auth-login-form .ant-input-affix-wrapper-focused{border-color:#144aa6!important;box-shadow:0 0 0 2px #144aa61f!important;background:#fff!important}.auth-login-submit{height:48px;border-radius:10px;font-weight:700;box-shadow:0 10px 20px #144aa629}.auth-login-divider{margin:4px 0 0!important;border-color:#cbdcf0}.auth-login-note{display:block;text-align:center;font-size:13px;line-height:1.45}.auth-card-wide{width:min(980px,100%);border:1px solid #dbe7f5;box-shadow:#14141306 0 3px 10px;background:#fff}.centered-state{min-height:calc(100vh - 120px);display:grid;place-items:center}.workspace-page{display:flex;flex-direction:column;gap:20px;width:100%}.workspace-header{display:flex;flex-direction:column;gap:10px}.workspace-header .ant-typography{margin:0!important}.workspace-card{border:1px solid #e4edf8;box-shadow:0 2px 10px #144aa609;background:#fff}.public-room-page.auth-page{display:block;place-items:initial;padding:24px}.public-room-page .auth-card-wide{margin-inline:auto}.public-room-page .auth-card-wide .ant-card-body{padding:28px}.public-room-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.public-room-timeline-item{padding:2px 0 16px}.public-room-session-card{width:100%;max-width:100%;background:#fff;border:1px solid #dbe7f5;border-radius:14px;padding:12px 14px;box-shadow:0 1px #14141306}.public-room-session-icon{width:28px;height:28px;border-radius:999px;background:#dbe7f5;color:#144aa6;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.public-room-session-divider{height:1px;background:#dbe7f5}.public-room-page .workspace-card .ant-table-container{overflow-x:auto}@media(max-width:640px){.public-room-page.auth-page{padding:14px}.public-room-page .auth-card-wide .ant-card-body{padding:16px}.public-room-page .workspace-header h2.ant-typography,.public-room-page .workspace-header .ant-typography-h2{font-size:22px;line-height:1.2}}.requester-request-detail-hero-card,.requester-request-detail-card{border-width:1px;box-shadow:none}.workspace-card-dark{background:#30302e;border:1px solid #30302e}.workspace-card .ant-table{background:transparent;color:#111827}.workspace-card .ant-table-container{border:1px solid #e4edf8;border-radius:14px;overflow:hidden}.workspace-card .ant-table-thead>tr>th{background:#f7faff!important;color:#4b5563!important;border-bottom:1px solid #e4edf8!important;font-size:13px;font-weight:650}.workspace-card .ant-table-tbody>tr>td{background:#fff;border-bottom:1px solid #edf3fb;color:#374151}.workspace-card .ant-table-tbody>tr:hover>td{background:#f7faff!important}.workspace-card .ant-table-tbody>tr:last-child>td{border-bottom-color:transparent}.workspace-card .ant-table-summary>tr>td{background:#f7faff;border-top:1px solid #e4edf8;color:#111827;font-weight:650}.workspace-card .ant-table-pagination.ant-pagination{margin:14px 0 0}.workspace-card .ant-table .ant-tag,.workspace-card .ant-list .ant-tag,.workspace-card .ant-descriptions .ant-tag,.workspace-card .ant-timeline .ant-tag,.ant-modal .ant-tag{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin-inline-end:0;padding:3px 10px;border-radius:999px;border-width:1px;font-size:13px;font-weight:650;line-height:1.25;box-shadow:none}.workspace-card .ant-tag.ant-tag-success,.workspace-card .ant-tag.ant-tag-green,.ant-modal .ant-tag.ant-tag-success,.ant-modal .ant-tag.ant-tag-green{color:#047857!important;background:#dffcf0!important;border-color:#8ee6bd!important}.workspace-card .ant-tag.ant-tag-processing,.workspace-card .ant-tag.ant-tag-blue,.ant-modal .ant-tag.ant-tag-processing,.ant-modal .ant-tag.ant-tag-blue{color:#144aa6!important;background:#eaf3ff!important;border-color:#b7d5ff!important}.workspace-card .ant-tag.ant-tag-warning,.workspace-card .ant-tag.ant-tag-gold,.workspace-card .ant-tag.ant-tag-orange,.ant-modal .ant-tag.ant-tag-warning,.ant-modal .ant-tag.ant-tag-gold,.ant-modal .ant-tag.ant-tag-orange{color:#b45309!important;background:#fff4cf!important;border-color:#f8d56b!important}.workspace-card .ant-tag.ant-tag-error,.workspace-card .ant-tag.ant-tag-red,.workspace-card .ant-tag.ant-tag-volcano,.ant-modal .ant-tag.ant-tag-error,.ant-modal .ant-tag.ant-tag-red,.ant-modal .ant-tag.ant-tag-volcano{color:#b91c1c!important;background:#ffe8e8!important;border-color:#ffb8b8!important}.workspace-card .ant-tag.ant-tag-purple,.ant-modal .ant-tag.ant-tag-purple{color:#6d28d9!important;background:#f1edff!important;border-color:#cfc4ff!important}.workspace-card .ant-tag.ant-tag-default,.ant-modal .ant-tag.ant-tag-default{color:#4b5563!important;background:#f8fafc!important;border-color:#e4edf8!important}.requester-dashboard-page{--requester-card: #ffffff;--requester-border: #dbe7f5;--requester-border-strong: #9bb8df;--requester-text: #111827;--requester-muted: #4b5563;--requester-accent: #144aa6;--requester-accent-soft: rgba(20, 74, 166, .13);--requester-success: #4f7a65;--requester-success-soft: rgba(79, 122, 101, .12);--requester-warning: #b6782f;--requester-warning-soft: rgba(182, 120, 47, .14);--requester-danger: #b53333;--requester-danger-soft: rgba(181, 51, 51, .11)}.requester-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:stretch;padding:28px;border:1px solid var(--requester-border);border-radius:28px;background:#fff;box-shadow:0 4px 14px #14141306;overflow:hidden}.requester-dashboard-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:12px}.requester-dashboard-eyebrow{width:fit-content;padding:5px 10px;border-radius:999px;color:var(--requester-accent);background:var(--requester-accent-soft);font-size:12px;font-weight:700;letter-spacing:.16px}.requester-dashboard-hero h1.ant-typography{margin:0!important;color:var(--requester-text);font-size:clamp(30px,4vw,48px);line-height:1.08}.requester-dashboard-hero .ant-typography{max-width:720px;margin:0}.requester-dashboard-hero-actions{margin-top:6px}.requester-dashboard-hero-panel{display:flex;min-height:178px;flex-direction:column;justify-content:center;gap:12px;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:radial-gradient(circle at 24px 24px,rgba(255,255,255,.16),transparent 32px),linear-gradient(145deg,#1857b8,#0f3d91 62%,#0b2f73);color:#fff;box-shadow:0 8px 22px #0f3d912e}.requester-dashboard-hero-panel .ant-typography,.requester-dashboard-hero-panel .ant-typography-secondary{color:#ffffffb8!important}.requester-dashboard-hero-panel strong{color:#fff;font-size:48px;line-height:.95;font-weight:750;letter-spacing:-1.4px}.requester-dashboard-hero-panel-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:16px;background:#ffffff21;color:#fff}.requester-dashboard-hero-panel-label{color:#fff!important;font-size:12px;font-weight:700;letter-spacing:.08px}.requester-dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.requester-dashboard-kpi-card{border:1px solid var(--requester-border);border-radius:20px;background:var(--requester-card);box-shadow:0 0 0 1px #dbe7f5}.requester-dashboard-kpi-card .ant-card-body{min-height:148px;display:flex;flex-direction:column;gap:10px}.requester-dashboard-kpi-topline{display:flex;align-items:center;gap:8px;color:var(--requester-muted);font-size:13px;font-weight:600}.requester-dashboard-kpi-topline span:first-child{display:grid;width:32px;height:32px;place-items:center;border-radius:12px;background:#dbe7f5;color:var(--requester-muted)}.requester-dashboard-kpi-card strong{color:var(--requester-text);font-size:34px;font-weight:500;line-height:1}.requester-dashboard-kpi-card .ant-typography-secondary{font-size:12px;line-height:1.4}.requester-dashboard-kpi-card.is-primary .requester-dashboard-kpi-topline span:first-child{color:var(--requester-accent);background:var(--requester-accent-soft)}.requester-dashboard-kpi-card.is-success .requester-dashboard-kpi-topline span:first-child{color:var(--requester-success);background:var(--requester-success-soft)}.requester-dashboard-kpi-card.is-warning .requester-dashboard-kpi-topline span:first-child{color:var(--requester-warning);background:var(--requester-warning-soft)}.requester-dashboard-kpi-card.is-danger .requester-dashboard-kpi-topline span:first-child{color:var(--requester-danger);background:var(--requester-danger-soft)}.requester-dashboard-insights{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.requester-dashboard-insight-card{min-width:0;border:1px solid var(--requester-border);border-radius:22px;background:var(--requester-card);box-shadow:0 0 0 1px #dbe7f5;overflow:hidden}.requester-dashboard-insight-card .ant-card-head{border-color:var(--requester-border)}.requester-dashboard-insight-card .ant-card-head-title{color:var(--requester-text);font-size:20px;font-weight:500}.requester-dashboard-recent-item{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dbe7f5;border-radius:16px;background:#fff;color:var(--requester-text);text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.requester-dashboard-recent-item:hover{transform:translateY(-1px);border-color:var(--requester-border-strong);box-shadow:0 4px 12px #14141308}.requester-dashboard-calendar-card .ant-card-head{align-items:flex-start}.requester-dashboard-calendar-scroll{overflow-x:auto;padding-bottom:4px}.requester-dashboard-calendar-grid{display:grid;min-width:1080px;overflow:hidden;border:1px solid var(--requester-border);border-radius:18px;background:var(--requester-border);gap:1px}.requester-dashboard-calendar-corner,.requester-dashboard-calendar-day,.requester-dashboard-calendar-shift,.requester-dashboard-calendar-slot{background:#fff}.requester-dashboard-calendar-corner,.requester-dashboard-calendar-day,.requester-dashboard-calendar-shift{padding:12px}.requester-dashboard-calendar-corner{display:flex;align-items:center;color:var(--requester-muted);font-size:12px;font-weight:700}.requester-dashboard-calendar-day,.requester-dashboard-calendar-shift{display:flex;flex-direction:column;gap:3px}.requester-dashboard-calendar-day{background:#f7faff}.requester-dashboard-calendar-slot{display:flex;min-height:128px;flex-direction:column;gap:8px;padding:0;border:0;cursor:pointer;text-align:left}.requester-dashboard-calendar-empty{padding:10px;color:#9ca3af;font-size:12px}.requester-dashboard-calendar-booking{display:flex;width:100%;flex:1 1 auto;flex-direction:column;gap:5px;padding:9px;border:1px solid transparent;border-radius:0;background:#fff;color:var(--requester-text);text-align:left;transition:background .2s ease,transform .2s ease}.requester-dashboard-calendar-booking:hover{background:#f7faff;transform:translateY(-1px)}.requester-dashboard-calendar-booking.is-pending{background:#d9770614}.requester-dashboard-calendar-booking.is-approved{background:#16a34a14}.requester-dashboard-calendar-booking.is-default,.requester-dashboard-calendar-booking.is-mine{background:#144aa60f}.requester-dashboard-calendar-booking.is-mine.is-pending{background:#d977061a}.requester-dashboard-calendar-booking.is-mine.is-approved{background:#16a34a1a}.requester-dashboard-calendar-booking-title{display:flex;min-width:0;align-items:center;gap:6px}.requester-dashboard-calendar-mine-dot{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--requester-accent);box-shadow:0 0 0 3px #144aa624}.requester-dashboard-calendar-booking.is-pending .requester-dashboard-calendar-mine-dot{background:#d97706;box-shadow:0 0 0 3px #d9770624}.requester-dashboard-calendar-booking.is-approved .requester-dashboard-calendar-mine-dot{background:#16a34a;box-shadow:0 0 0 3px #16a34a24}.requester-dashboard-recent-main{min-width:0;display:flex;flex:1 1 auto;flex-direction:column;gap:4px}.requester-dashboard-recent-main .ant-typography{max-width:100%;margin:0}.requester-dashboard-recent-item .ant-tag{max-width:104px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis}@media(max-width:1200px){.requester-dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.requester-dashboard-insights{grid-template-columns:1fr}}@media(max-width:900px){.requester-dashboard-hero{grid-template-columns:1fr}.requester-dashboard-hero-panel{min-height:170px}}@media(max-width:640px){.requester-dashboard-hero{padding:20px;border-radius:22px}.requester-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.requester-dashboard-kpi-card .ant-card-body{min-height:132px;padding:14px}.requester-dashboard-kpi-topline{align-items:flex-start;font-size:12px}.requester-dashboard-kpi-card strong{font-size:30px}.requester-dashboard-kpi-card .ant-typography-secondary{display:none}.requester-dashboard-insight-card .ant-card-head{padding-inline:16px}.requester-dashboard-insight-card .ant-card-body{padding:16px}.requester-dashboard-insight-card .ant-card-extra{margin-inline-start:8px}.requester-dashboard-recent-item{align-items:flex-start;gap:8px;padding:12px}.requester-dashboard-recent-item .ant-tag{max-width:82px;margin-inline-end:0;white-space:nowrap}}.admin-dashboard-page{--admin-bg: #ffffff;--admin-card: #ffffff;--admin-card-strong: #ffffff;--admin-border: #e4edf8;--admin-border-strong: #b7cbe8;--admin-surface: #f7faff;--admin-text: #111827;--admin-muted: #4b5563;--admin-soft: #6b7280;--admin-accent: #144aa6;--admin-accent-strong: #0f3a82;--admin-accent-soft: rgba(20, 74, 166, .1);--admin-success: #16a34a;--admin-success-soft: rgba(22, 163, 74, .11);--admin-warning: #d97706}.admin-dashboard-card{background:var(--admin-card);border:1px solid rgba(228,237,248,.42);border-radius:18px;box-shadow:0 4px 16px #0f3d910e}.admin-dashboard-toolbar-card{overflow:visible;border-color:transparent;background:transparent!important;box-shadow:none}.admin-dashboard-toolbar-card .ant-card-body{padding:4px 0 2px;background:transparent}.admin-dashboard-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-dashboard-hero-compact{display:block}.admin-dashboard-hero-main{display:flex;flex-direction:column;gap:14px;flex:1 1 auto}.admin-dashboard-header-copy{gap:4px}.admin-dashboard-header-copy .ant-typography{margin-bottom:0!important}.admin-dashboard-header-copy .ant-typography h2,.admin-dashboard-header-copy .ant-typography.ant-typography-h2,.admin-dashboard-header-copy h2.ant-typography{color:var(--admin-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:26px;font-weight:750;letter-spacing:-.02em}.admin-dashboard-header-copy .ant-typography-secondary,.admin-dashboard-header-copy .ant-typography.ant-typography-secondary{color:var(--admin-muted)!important;font-size:13px;line-height:1.45}.admin-dashboard-hero-actions{min-width:240px;display:flex;flex-direction:column;gap:14px;align-items:stretch}.admin-dashboard-hero-meta{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:18px;border:1px solid var(--admin-border);background:#fff;color:var(--admin-muted)}.admin-dashboard-hero-meta strong{color:var(--admin-text);font-size:16px}.admin-dashboard-hero-meta-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--admin-soft)}.admin-dashboard-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.admin-dashboard-toolbar-group{display:flex;flex-wrap:wrap;gap:10px}.admin-dashboard-toolbar-group-hero{gap:12px}.admin-dashboard-filter-chip{border:1px solid var(--admin-border-strong);border-radius:999px;background:#ffffffe6;color:var(--admin-muted);padding:10px 15px;font-size:13px;line-height:1;box-shadow:0 0 0 1px #fff9 inset}.admin-dashboard-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px}.admin-dashboard-filter-control{min-width:210px}.admin-dashboard-filter-control .ant-select-selector,.admin-dashboard-date-filter{border-color:var(--admin-border)!important;background:#fff!important;box-shadow:0 1px 4px #144aa606}.admin-dashboard-date-filter{min-width:250px}.admin-dashboard-filter-actions{margin-left:auto}.admin-dashboard-primary-button.ant-btn,.admin-dashboard-secondary-button.ant-btn{min-width:108px;border-radius:999px;height:40px}.admin-dashboard-primary-button.ant-btn{background:var(--admin-accent);border-color:var(--admin-accent);color:#fff;font-weight:700}.admin-dashboard-primary-button.ant-btn:hover,.admin-dashboard-primary-button.ant-btn:focus-visible{background:#0f3a82!important;border-color:#0f3a82!important;color:#fff!important}.admin-dashboard-secondary-button.ant-btn{border-color:#7aa1d2;background:#fff;color:var(--admin-accent);font-weight:650}.admin-dashboard-secondary-button.ant-btn:hover,.admin-dashboard-secondary-button.ant-btn:focus-visible{border-color:var(--admin-accent)!important;background:#fff!important;color:var(--admin-accent)!important}.admin-dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;width:100%}.admin-dashboard-kpi-card{position:relative;height:100%;overflow:hidden;border-radius:18px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.admin-dashboard-kpi-card:after{content:"";position:absolute;right:-18px;bottom:-20px;width:82px;height:82px;border-radius:999px;background:currentColor;opacity:.045;pointer-events:none}button.admin-dashboard-kpi-card{border:1px solid rgba(228,237,248,.32);border-radius:18px;color:inherit;cursor:pointer;font:inherit;padding:15px 16px 14px;text-align:left}.admin-dashboard-kpi-card:hover{border-color:#b7cbe861;box-shadow:0 10px 26px #0f3d9116;transform:translateY(-2px)}.admin-dashboard-kpi-card.is-clickable:focus-visible{outline:2px solid rgba(20,74,166,.42);outline-offset:3px}.admin-dashboard-kpi-card .ant-card-body{position:relative;z-index:1;padding:15px 16px 14px;height:100%;display:flex;flex-direction:column}button.admin-dashboard-kpi-card{display:flex;flex-direction:column}.admin-dashboard-kpi-card .ant-statistic{min-height:unset;flex:1 1 auto}.admin-dashboard-kpi-card .ant-statistic-content{color:var(--admin-text);font-size:clamp(26px,2.05vw,32px);font-weight:780;letter-spacing:-.035em;line-height:1}.admin-dashboard-kpi-card.is-primary{color:#15803d;background:linear-gradient(135deg,#fff,#f1fbf5);border-color:#16a34a14;box-shadow:0 6px 18px #16a34a14}.admin-dashboard-kpi-card.is-secondary{color:#6d28d9;background:linear-gradient(135deg,#fff,#f6f4ff);border-color:#6d28d914;box-shadow:0 6px 18px #6d28d913}.admin-dashboard-kpi-card.is-warning{color:#b45309;background:linear-gradient(135deg,#fff,#fff8e7);border-color:#d9770614;box-shadow:0 6px 18px #d9770614}.admin-dashboard-kpi-card.is-danger{color:#b91c1c;background:linear-gradient(135deg,#fff,#fff3f3);border-color:#dc262614;box-shadow:0 6px 18px #dc262614}.admin-dashboard-kpi-header{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:12px}.admin-dashboard-kpi-icon{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:12px;color:var(--admin-accent);background:#144aa61a;box-shadow:inset 0 0 0 1px #ffffffa6;flex:0 0 auto}.admin-dashboard-kpi-icon svg{width:18px;height:18px;stroke-width:2.15}.admin-dashboard-kpi-label{color:var(--admin-muted);font-size:12px;font-weight:720;letter-spacing:0}.admin-dashboard-kpi-card.is-primary .admin-dashboard-kpi-label,.admin-dashboard-kpi-card.is-primary .admin-dashboard-kpi-icon{color:#15803d}.admin-dashboard-kpi-card.is-primary .admin-dashboard-kpi-icon{background:#16a34a1f}.admin-dashboard-kpi-card.is-warning .admin-dashboard-kpi-label,.admin-dashboard-kpi-card.is-warning .admin-dashboard-kpi-icon{color:#b45309}.admin-dashboard-kpi-card.is-warning .admin-dashboard-kpi-icon{background:#d977061f}.admin-dashboard-kpi-card.is-danger .admin-dashboard-kpi-label,.admin-dashboard-kpi-card.is-danger .admin-dashboard-kpi-icon{color:#b91c1c}.admin-dashboard-kpi-card.is-danger .admin-dashboard-kpi-icon{background:#dc26261f}.admin-dashboard-kpi-card.is-secondary .admin-dashboard-kpi-icon{color:#6d28d9;background:#6d28d91f}.admin-dashboard-kpi-card.is-primary .ant-statistic-content{color:#166534}.admin-dashboard-kpi-card.is-warning .ant-statistic-content{color:#92400e}.admin-dashboard-kpi-card.is-danger .ant-statistic-content{color:#991b1b}.admin-dashboard-kpi-hint{position:relative;z-index:1;display:block;margin-top:8px;color:var(--admin-soft)!important;font-size:11.5px;line-height:1.35;min-height:32px}.admin-dashboard-panel-card .ant-card-head{min-height:52px;border-bottom:0}.admin-dashboard-panel-card .ant-card-head-title{color:var(--admin-text);font-size:16px;font-weight:700}.admin-dashboard-panel-card .ant-card-body{padding-top:16px}.admin-dashboard-panel-subtitle{margin-bottom:14px!important;color:var(--admin-soft)!important}.admin-dashboard-inline-link.ant-btn{color:var(--admin-accent);padding-inline:0}.admin-dashboard-inline-alert{border-radius:14px;margin-bottom:16px}.admin-dashboard-schedule-shell{padding-bottom:18px}.admin-dashboard-schedule-grid,.admin-dashboard-schedule-group{display:flex;flex-direction:column;gap:14px}.admin-dashboard-schedule-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:start}.admin-dashboard-schedule-time{padding-top:22px;font-size:15px;font-weight:700;line-height:1.2;color:var(--admin-text)}.admin-dashboard-schedule-track{position:relative}.admin-dashboard-schedule-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;min-height:100px;padding:18px 18px 16px;border-radius:12px;border:1px solid rgba(232,230,220,.95);box-shadow:0 0 0 1px #f0eee68c}.admin-dashboard-schedule-event.is-normal{background:#e1f1e3eb;border-left:3px solid #6cbf7b}.admin-dashboard-schedule-event.is-warning{background:#fff4e0f2;border-left:3px solid #d5a441}.admin-dashboard-schedule-event.is-critical{background:#ffefeaf5;border-left:3px solid var(--admin-accent)}.admin-dashboard-schedule-event-content{display:flex;flex-direction:column;gap:8px}.admin-dashboard-schedule-event-status{display:flex;align-items:flex-start}.admin-dashboard-schedule-now-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:center;min-height:34px}.admin-dashboard-schedule-now-time{font-size:14px;font-weight:700;line-height:1.2;color:var(--admin-accent)}.admin-dashboard-schedule-now-track{display:flex;align-items:center}.admin-dashboard-schedule-now-label{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#fff8f3fa;border:1px solid rgba(20,74,166,.18);color:var(--admin-accent);font-size:12px;font-weight:600;white-space:nowrap}.admin-dashboard-lollipop-chart{padding:18px 16px 16px;border:1px solid rgba(228,237,248,.9);border-radius:18px;background:linear-gradient(90deg,rgba(15,61,145,.055) 1px,transparent 1px) 168px 0 / calc((100% - 246px)/4) 100% no-repeat,linear-gradient(180deg,#fff,#f7faff);box-shadow:0 2px 10px #0f3d9109}.admin-dashboard-lollipop-scale{display:grid;grid-template-columns:repeat(5,1fr);margin-left:128px;margin-right:78px;color:var(--admin-soft);font-size:12px}.admin-dashboard-lollipop-scale span{transform:translate(-50%)}.admin-dashboard-lollipop-scale span:first-child{transform:none}.admin-dashboard-lollipop-scale span:last-child{justify-self:end;transform:none}.admin-dashboard-lollipop-plot{display:flex;flex-direction:column;gap:18px;margin-top:16px}.admin-dashboard-lollipop-row{display:grid;grid-template-columns:112px minmax(0,1fr) 64px;gap:16px;align-items:center}.admin-dashboard-lollipop-label{display:flex;flex-direction:column;gap:5px}.admin-dashboard-lollipop-axis{position:relative;height:42px}.admin-dashboard-lollipop-gridline{position:absolute;top:50%;right:0;left:0;height:2px;border-radius:999px;background:#dbeafe;transform:translateY(-50%)}.admin-dashboard-lollipop-bar{position:absolute;top:50%;left:0;height:8px;min-width:7px;border-radius:999px;background:var(--admin-accent);transform:translateY(-50%);box-shadow:0 6px 14px #0f3d9129}.admin-dashboard-lollipop-dot{position:absolute;top:50%;width:26px;height:26px;border:4px solid #ffffff;border-radius:999px;background:var(--admin-accent);box-shadow:0 8px 18px #0f3d9133;transform:translate(-50%,-50%)}.admin-dashboard-lollipop-dot span{position:absolute;top:-28px;left:50%;padding:2px 7px;border-radius:999px;background:#fff;color:var(--admin-text);font-size:12px;font-weight:750;white-space:nowrap;box-shadow:0 2px 8px #0f3d9117;transform:translate(-50%)}.admin-dashboard-lollipop-row.is-medium .admin-dashboard-lollipop-bar,.admin-dashboard-lollipop-row.is-medium .admin-dashboard-lollipop-dot{background:var(--admin-accent);box-shadow:0 8px 18px #0f3d9133}.admin-dashboard-lollipop-row.is-high .admin-dashboard-lollipop-bar,.admin-dashboard-lollipop-row.is-high .admin-dashboard-lollipop-dot{background:#d97706;box-shadow:0 8px 18px #d9770633}.admin-dashboard-lollipop-summary{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--admin-soft);font-size:12px}.admin-dashboard-lollipop-summary strong{color:var(--admin-text);font-size:16px;line-height:1}.admin-dashboard-room-type-chart-layout{display:flex;flex-direction:column;gap:14px}.admin-dashboard-room-type-donut{position:relative;display:grid;place-items:center;border-radius:999px;background:conic-gradient(var(--room-type-color) 0deg var(--room-type-rate),#dbeafe var(--room-type-rate) 360deg)}.admin-dashboard-room-type-donut:before{position:absolute;content:"";border-radius:inherit;background:#fff}.admin-dashboard-room-type-donut span{position:relative;z-index:1}.admin-dashboard-room-type-donut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-dashboard-room-type-donut-card{min-width:0;padding:14px 10px 12px;border:1px solid rgba(228,237,248,.95);border-radius:18px;background:#fff;text-align:center;box-shadow:0 2px 10px #0f3d9109}.admin-dashboard-room-type-donut{width:108px;height:108px;margin:0 auto 12px;box-shadow:0 8px 20px #0f3d9114}.admin-dashboard-room-type-donut:before{inset:17px}.admin-dashboard-room-type-donut span{color:var(--admin-text);font-size:24px;font-weight:850;line-height:1}.admin-dashboard-room-type-donut-info{display:flex;min-width:0;flex-direction:column;align-items:center;gap:4px}.admin-dashboard-room-type-donut-info .ant-typography{max-width:100%;overflow:hidden;color:var(--admin-text);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard-room-type-donut-info small{padding:2px 8px;border-radius:999px;background:#16a34a1a;color:#15803d;font-size:11px;font-weight:750}.admin-dashboard-room-type-donut-card.is-medium .admin-dashboard-room-type-donut-info small{background:#0f3d911a;color:var(--admin-accent)}.admin-dashboard-room-type-donut-card.is-high .admin-dashboard-room-type-donut-info small{background:#d977061f;color:#b45309}.admin-dashboard-room-type-donut-info span{color:var(--admin-soft);font-size:11px;font-weight:650}.admin-dashboard-approval-row{display:flex;justify-content:space-between;gap:16px;width:100%;align-items:flex-start}.admin-dashboard-approval-main{flex:1 1 auto}.admin-dashboard-approval-title{font-size:16px}.admin-dashboard-approval-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;color:var(--admin-muted);font-size:13px}.admin-dashboard-status-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center}.admin-dashboard-status-chart-wrap{display:flex;justify-content:center}.admin-dashboard-status-ring{position:relative;width:138px;height:138px;display:grid;place-items:center;border-radius:999px;background:conic-gradient(from 210deg,var(--status-ring-gradient, #dbe7f5 0deg 300deg),transparent 300deg 360deg);filter:saturate(.92)}.admin-dashboard-status-ring:before{content:"";position:absolute;inset:16px;border-radius:inherit;background:#fff;box-shadow:none}.admin-dashboard-status-ring:after{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:0 4px 12px #14141306;pointer-events:none}.admin-dashboard-status-ring-inner{position:relative;z-index:1;width:104px;height:104px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:6px;border-radius:999px;background:#fff;color:var(--admin-text)}.admin-dashboard-status-ring-inner span{font-size:32px;font-weight:500;line-height:1}.admin-dashboard-status-ring-inner small{font-size:18px;color:var(--admin-muted)}.admin-dashboard-status-legend{display:flex;flex-direction:column;gap:12px}.admin-dashboard-status-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;color:var(--admin-text);padding:8px 10px;border-radius:12px;background:#ffffffb3}.admin-dashboard-status-label{color:var(--admin-muted)}.admin-dashboard-status-dot{width:10px;height:10px;border-radius:999px}.admin-dashboard-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-dashboard-action-button{display:flex;align-items:center;gap:12px;border:1px solid rgba(228,237,248,.35);background:#fff;border-radius:16px;padding:13px 14px;color:var(--admin-text);cursor:pointer;box-shadow:0 3px 12px #0f3d910a;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,background .2s ease;text-align:left}.admin-dashboard-action-button:hover{border-color:#b7cbe873;box-shadow:0 7px 18px #0f3d9112;transform:translateY(-1px);background:var(--admin-surface)}.admin-dashboard-action-icon{color:var(--admin-accent);display:inline-flex;width:34px;height:34px;border-radius:12px;align-items:center;justify-content:center;background:var(--admin-accent-soft);flex-shrink:0}.admin-dashboard-action-content{display:flex;flex-direction:column;gap:3px}.admin-dashboard-action-content small{color:var(--admin-soft)}.admin-dashboard-approval-item{padding-inline:0!important;padding-block:10px!important;border-radius:16px;padding-left:12px!important;padding-right:12px!important;margin-bottom:8px;background:#ffffffb8}.admin-dashboard-approval-item.is-conflict{background:#144aa614;border:1px solid rgba(20,74,166,.14)}.admin-dashboard-table-card .ant-table-wrapper{margin-top:6px}.admin-dashboard-table-card .ant-table{background:transparent}.admin-dashboard-table-card .ant-table-thead>tr>th{background:var(--admin-surface);color:var(--admin-muted);font-size:13px;font-weight:650}.admin-dashboard-table-card .ant-table-tbody>tr>td{background:transparent}.approval-workspace{--approval-card: #ffffff;--approval-border: #dbe7f5;--approval-text: #111827;--approval-muted: #4b5563;--approval-accent: #144aa6}.incident-workspace-header{flex-direction:row;align-items:flex-start;justify-content:space-between}.incident-create-button.ant-btn-primary{width:auto;min-width:116px;height:40px;padding:0 18px;border-radius:12px;border-color:#0f3d91;background:#0f3d91;font-weight:650;box-shadow:0 2px 10px #0f3d9114}.incident-create-button.ant-btn-primary:hover,.incident-create-button.ant-btn-primary:focus{border-color:#0b2f73;background:#0b2f73}.incident-create-room-modal .ant-modal-content{overflow:hidden;border:1px solid #dbe7f5;border-radius:18px;background:#fff;box-shadow:0 4px 12px #14141309}.incident-create-room-modal .ant-modal-header,.incident-create-room-modal .ant-modal-body{background:transparent}.incident-create-room-modal .ant-modal-header{padding:18px 22px 8px;border-bottom:0}.incident-create-room-modal .ant-modal-body{padding:0 22px 22px}.incident-create-room-modal .ant-modal-title{color:#111827;font-size:16px;font-weight:700}.incident-create-room-modal .ant-modal-close{top:14px;inset-inline-end:14px}.incident-create-room-fields{width:100%;display:grid;gap:10px}.incident-create-room-fields .ant-select{width:100%;height:40px;min-height:40px}.incident-create-room-fields .ant-select-selector{height:40px!important;min-height:40px!important;padding:0 11px!important;display:flex;align-items:center;border-radius:12px!important;border-color:#cbdcf0!important;background:#fff!important;box-shadow:none!important}.incident-create-room-fields .ant-select-single .ant-select-selection-wrap,.incident-create-room-fields .ant-select-single .ant-select-selection-item,.incident-create-room-fields .ant-select-single .ant-select-selection-placeholder{height:100%;display:flex;align-items:center;line-height:1.2!important}.incident-create-room-fields .ant-select-focused .ant-select-selector,.incident-create-room-fields .ant-select-selector:focus,.incident-create-room-fields .ant-select-selector:active{border-color:#144aa6!important;box-shadow:0 0 0 2px #144aa61f!important;background:#fff!important}.incident-create-room-fields .ant-select-selection-placeholder{color:#8d8a80}.incident-create-room-fields .ant-select-arrow{top:50%;transform:translateY(-50%);inset-inline-end:12px;color:#94a3b8}.incident-report-modal .ant-modal-content{overflow:hidden;border:1px solid #dbe7f5;border-radius:18px;background:#fff;box-shadow:0 4px 12px #14141309}.incident-report-modal .ant-modal-header,.incident-report-modal .ant-modal-body,.incident-report-modal .ant-modal-footer{background:transparent}.incident-report-modal .ant-modal-header{padding:14px 18px 6px;border-bottom:0}.incident-report-modal .ant-modal-body{padding:0 18px 8px}.incident-report-modal .ant-modal-footer{padding:10px 18px 14px;border-top:0}.incident-report-modal .ant-modal-title{color:#111827;font-size:16px;font-weight:700}.incident-report-modal .ant-modal-close{top:10px;inset-inline-end:10px}.incident-report-modal .ant-form-item{margin-bottom:10px}.incident-report-modal .ant-form-item-label>label{color:#4b5563;font-weight:650}.incident-report-modal .ant-input:not(textarea),.incident-report-modal .ant-select{height:40px;min-height:40px}.incident-report-modal .ant-input,.incident-report-modal .ant-select-selector{border-color:#cbdcf0!important;border-radius:12px!important;box-shadow:none!important;background:#fff!important}.incident-report-modal .ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:40px!important;min-height:40px!important;padding:0 11px!important;display:flex;align-items:center}.incident-report-modal .ant-select-single .ant-select-selection-wrap,.incident-report-modal .ant-select-single .ant-select-selection-item,.incident-report-modal .ant-select-single .ant-select-selection-placeholder{height:100%;display:flex;align-items:center;line-height:1.2!important}.incident-report-modal .ant-input::placeholder,.incident-report-modal .ant-select-selection-placeholder{color:#8d8a80}.incident-report-modal .ant-input:focus,.incident-report-modal .ant-input-focused,.incident-report-modal .ant-select-focused .ant-select-selector{border-color:#144aa6!important;box-shadow:0 0 0 2px #144aa61f!important;background:#fff!important}.incident-report-modal .ant-input-textarea .ant-input{min-height:96px;resize:vertical;padding-top:10px}.incident-report-modal .ant-upload.ant-upload-select{width:auto}.incident-report-modal .ant-upload-list{margin-top:10px}.incident-report-modal .ant-upload-list-item{border-color:#dbe7f5;border-radius:12px}.incident-filter-panel{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.incident-filter-row{display:flex;align-items:center;gap:10px}.incident-filter-row-main{display:grid;grid-template-columns:minmax(280px,1fr) minmax(170px,220px) minmax(170px,240px) auto}.incident-filter-row-chips{flex-wrap:wrap}.incident-filter-panel .ant-input-affix-wrapper,.incident-filter-panel .ant-select-selector,.incident-filter-panel .ant-btn{border-radius:14px}.incident-filter-panel .ant-input-affix-wrapper,.incident-filter-panel .ant-select-selector,.incident-filter-panel .ant-btn{height:40px}.incident-filter-group{display:inline-flex;align-items:center;gap:8px;min-height:40px;max-width:100%;padding:4px;border:1px solid #dbe7f5;border-radius:16px;background:#fff;box-shadow:0 1px #14141308}.incident-filter-label{flex:0 0 auto;padding-left:8px;color:#4b5563;font-size:12px;font-weight:600;white-space:nowrap}.incident-filter-group .ant-segmented{max-width:100%;border-radius:12px;background:transparent;color:#4b5563}.incident-filter-group .ant-segmented-group{flex-wrap:wrap;row-gap:4px}.incident-filter-group .ant-segmented-item{border-radius:10px}.incident-filter-group .ant-segmented-item-label{min-height:28px;padding-inline:10px;line-height:28px;white-space:nowrap}.incident-filter-group .ant-segmented-item-selected{color:#111827;background:#dbe7f5;box-shadow:0 0 0 1px #9bb8df}.incident-filter-status .ant-segmented-item-selected{color:#144aa6;background:#fff;box-shadow:0 0 0 1px #2563eb}.incident-filter-lock .ant-segmented-item-selected{color:#3d3d3a;background:#ebe8d8;box-shadow:0 0 0 1px #c2c0b6}@media(max-width:900px){.incident-workspace-header{flex-direction:column}.incident-create-button.ant-btn-primary{width:100%}.incident-filter-row-main{grid-template-columns:1fr 1fr}.incident-filter-row-main .ant-input-affix-wrapper,.incident-filter-row-main .ant-btn{grid-column:1 / -1}}@media(max-width:640px){.incident-filter-row-main{grid-template-columns:1fr}.incident-filter-row-main .ant-input-affix-wrapper,.incident-filter-row-main .ant-btn{grid-column:auto}.incident-filter-group{align-items:flex-start;flex-direction:column;gap:6px;width:100%}}.incident-detail-modal .ant-modal-content{border:1px solid #dbe7f5;border-radius:24px;background:#fff;box-shadow:0 4px 12px #14141309}.incident-detail-modal .ant-modal-header,.incident-detail-modal .ant-modal-body,.incident-detail-modal .ant-modal-footer{background:transparent}.incident-detail-modal .ant-modal-footer .ant-btn-primary{border-color:#144aa6;background:#144aa6;box-shadow:0 0 0 1px #144aa6}.incident-detail-footer-actions{display:flex;justify-content:flex-end;gap:10px}.incident-footer-resolve-button.ant-btn-primary{border-color:#6f9b6e;background:#6f9b6e;box-shadow:0 0 0 1px #6f9b6e}.incident-detail-title{display:flex;align-items:center;gap:10px}.incident-detail-body{display:flex;flex-direction:column;gap:14px}.incident-detail-hero,.incident-detail-section{border:1px solid #dbe7f5;border-radius:18px;background:#ffffffb8}.incident-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px}.incident-detail-hero .ant-typography{margin-bottom:0}.incident-detail-hero h4.ant-typography{margin-bottom:8px;color:#111827}.incident-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.incident-detail-section{padding:16px}.incident-detail-section-title{display:block;margin-bottom:12px;color:#3d3d3a;font-weight:700}.incident-detail-fields{display:grid;gap:12px}.incident-detail-fields div,.incident-status-field{display:grid;gap:5px}.incident-detail-fields span,.incident-status-field>span{color:#6b7280;font-size:13px}.incident-detail-fields strong{color:#111827;font-weight:600}.incident-resolution-note{display:grid;gap:8px}.incident-resolution-note>span{color:#3d3d3a;font-weight:700}.incident-attachment-grid{display:flex;flex-wrap:wrap;gap:10px}.incident-attachment-image{border-radius:14px;object-fit:cover}@media(max-width:720px){.incident-detail-grid{grid-template-columns:1fr}.incident-detail-hero{flex-direction:column}}.approval-stat-card{border-radius:20px;background:#fff}.approval-stat-card .ant-statistic-title{color:var(--approval-muted);font-size:13px}.approval-stat-card .ant-statistic-content{color:var(--approval-text);font-size:30px;line-height:1.1}.approval-table-card{border-radius:22px;overflow:hidden}.approval-filter-row{margin-bottom:16px}.approval-inbox-table .ant-table{background:transparent}.approval-inbox-table .ant-table-container{border-radius:14px}.approval-inbox-table .ant-table-tbody>tr>td{background:#fff}.approval-table-title-cell{max-width:360px}.approval-detail-modal .ant-modal-content{border:1px solid #dbe7f5;border-radius:22px;background:#fff;box-shadow:0 4px 12px #14141309}.approval-detail-section{padding:16px;border:1px solid #dbe7f5;border-radius:18px;background:#ffffffad}.approval-detail-section .ant-typography{margin-bottom:0}.approval-detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.approval-session-group-list{display:flex;flex-direction:column;gap:12px}.approval-session-group{border:1px solid #e4edf8;border-radius:14px;background:#fff;padding:14px 16px}.approval-session-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.approval-session-group-room-code{display:block;color:#0f3d91}.approval-session-group-room-name{display:block;font-size:12px}.approval-session-group-count.ant-tag{margin:0;border-color:#b7cbe8;border-radius:999px;background:#f7faff;color:#0f3d91;font-weight:650}.approval-session-list{display:flex;flex-direction:column;gap:8px}.approval-session-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px;background:transparent}.approval-session-row+.approval-session-row{border-top:1px solid #eef3f9;margin-top:2px;padding-top:10px}.approval-session-row-date{min-width:92px}.approval-session-row-shift.ant-tag{margin:0}.approval-session-picker{display:grid;gap:10px;margin-top:14px}.approval-session-picker-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e4edf8;border-radius:12px;background:#f7faff;cursor:pointer}.approval-session-picker-meta{display:flex;flex-direction:column;gap:2px}.approval-session-selection-dot{width:12px;height:12px;border-radius:999px;flex:0 0 auto}.approval-session-selection-dot.is-approved{background:#16a34a}.approval-session-selection-dot.is-rejected{background:#dc2626}.approval-session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.approval-session-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid #e7e2d6;border-radius:14px;background:#fbfaf7}.approval-session-chip .ant-tag{margin-inline-end:0}.approval-session-chip-room{display:block;margin-top:2px;color:#0f3d91!important;font-size:12px;font-weight:650}.shift-session-tag.ant-tag{display:inline-flex;align-items:center;margin-inline-end:0}.shift-session-tag-inner{display:inline-flex;align-items:center;gap:6px}.shift-session-tag-inner svg{flex-shrink:0}.approval-session-chip.is-shift-morning{border-color:#cbdcf0;background:#fffdf6}.approval-session-chip.is-shift-afternoon{border-color:#c5d8ef;background:#f7fbff}.approval-session-chip.is-shift-evening{border-color:#cfc0e5;background:#faf7ff}.approval-attachment-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e7e2d6;border-radius:14px;background:#fbfaf7}.approval-attachment-card>div{display:flex;min-width:0;flex-direction:column;gap:4px}.approval-attachment-card .ant-btn{flex:0 0 auto}.approval-detail-label{display:inline-flex;margin-bottom:8px;color:#6b7280;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.approval-detail-field{display:flex;flex-direction:column;gap:6px;min-height:82px;padding:14px 16px;border:1px solid #dbe7f5;border-radius:16px;background:#ffffffc2}.catalog-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.catalog-toolbar-search{display:flex;flex-direction:column;gap:8px;min-width:280px;flex:1 1 420px}.catalog-toolbar-actions{display:flex;gap:8px}.catalog-toolbar-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.catalog-toolbar-filter{display:flex;flex-direction:column;gap:8px;min-width:220px}.catalog-toolbar-filter-compact{min-width:150px}.catalog-row-draggable{cursor:grab}.catalog-row-actions-compact .ant-btn{min-width:42px;padding-inline:8px}.catalog-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;color:#8d8a80;font-size:16px;letter-spacing:-2px;line-height:1;background:#f1efe7;border:1px solid #e5e2d8}.catalog-row-draggable:hover .catalog-drag-handle{color:#144aa6;border-color:#7aa1d2;background:#fff}.catalog-row-dragging td{background:#f0ece3!important;opacity:.75}.catalog-row-drag-over td{border-top:2px solid #144aa6}.catalog-toolbar-label,.workspace-control-label,.workspace-card .ant-form-item .ant-form-item-label>label{color:#1f2937!important;font-size:13px;font-weight:500}.workspace-card .ant-input:not(textarea),.workspace-card .ant-input-affix-wrapper,.workspace-card .ant-input-number,.workspace-card .ant-select-selector,.workspace-card .ant-picker,.catalog-form-modal .ant-input:not(textarea),.catalog-form-modal .ant-input-affix-wrapper,.catalog-form-modal .ant-input-number,.catalog-form-modal .ant-select-selector,.catalog-form-modal .ant-picker{height:40px;min-height:40px;box-sizing:border-box;border-radius:12px!important;border-color:#cbdcf0!important;background:#fff!important;box-shadow:none!important}.workspace-card .ant-input-affix-wrapper .ant-input,.catalog-form-modal .ant-input-affix-wrapper .ant-input{height:100%;min-height:0}.workspace-card .ant-select,.catalog-form-modal .ant-select{height:40px;min-height:40px}.workspace-card .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,.catalog-form-modal .ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:40px!important;min-height:40px!important;padding:0 11px!important;display:flex;align-items:center}.workspace-card .ant-select-single .ant-select-selection-wrap,.catalog-form-modal .ant-select-single .ant-select-selection-wrap{height:100%;display:flex;align-items:center}.workspace-card .ant-select-single .ant-select-selection-search,.workspace-card .ant-select-single .ant-select-selection-search-input,.catalog-form-modal .ant-select-single .ant-select-selection-search,.catalog-form-modal .ant-select-single .ant-select-selection-search-input{height:100%!important}.workspace-card .ant-select-single .ant-select-selection-item,.workspace-card .ant-select-single .ant-select-selection-placeholder,.catalog-form-modal .ant-select-single .ant-select-selection-item,.catalog-form-modal .ant-select-single .ant-select-selection-placeholder{height:100%;display:flex;align-items:center;line-height:1.2!important;margin:0}.workspace-card .ant-select .ant-select-arrow,.catalog-form-modal .ant-select .ant-select-arrow{top:50%;transform:translateY(-50%);inset-inline-end:12px}.workspace-card .ant-select-single .ant-select-selection-item,.catalog-form-modal .ant-select-single .ant-select-selection-item{padding-inline-end:18px}.workspace-card .ant-input-number,.catalog-form-modal .ant-input-number{width:100%}.workspace-card .ant-input-number-input,.catalog-form-modal .ant-input-number-input{height:38px}.workspace-card .ant-input::placeholder,.workspace-card .ant-input-number-input::placeholder,.workspace-card .ant-select-selection-placeholder,.workspace-card .ant-picker-input>input::placeholder,.catalog-form-modal .ant-input::placeholder,.catalog-form-modal .ant-input-number-input::placeholder,.catalog-form-modal .ant-select-selection-placeholder,.catalog-form-modal .ant-picker-input>input::placeholder{color:#8d8a80}.workspace-search-input{width:100%}.workspace-card .ant-input:focus,.workspace-card .ant-input-focused,.workspace-card .ant-input-number:focus-within,.workspace-card .ant-input-number-focused,.workspace-card .ant-select-focused .ant-select-selector,.workspace-card .ant-picker-focused,.workspace-card .ant-input-affix-wrapper-focused,.catalog-form-modal .ant-input:focus,.catalog-form-modal .ant-input-focused,.catalog-form-modal .ant-input-number:focus-within,.catalog-form-modal .ant-input-number-focused,.catalog-form-modal .ant-select-focused .ant-select-selector,.catalog-form-modal .ant-picker-focused,.catalog-form-modal .ant-input-affix-wrapper-focused{border-color:#144aa6!important;box-shadow:0 0 0 2px #144aa61f!important;background:#fff!important}.workspace-card .ant-input-textarea .ant-input,.catalog-form-modal .ant-input-textarea .ant-input{min-height:96px;resize:vertical;padding-top:10px}.catalog-form-modal .ant-modal-content{border:1px solid #dbe7f5;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #dbe7f5,#14141306 0 3px 10px}.catalog-form-modal .ant-modal-header,.catalog-form-modal .ant-modal-body,.catalog-form-modal .ant-modal-footer{background:transparent}.catalog-form-modal .ant-modal-header{padding-bottom:8px}.catalog-form-modal .ant-modal-title{color:#111827;font-size:32px;line-height:1.2}.catalog-form-modal .ant-modal-close:hover{background:#dbe7f5}.catalog-form-field{display:flex;flex-direction:column;gap:8px}.catalog-form-label{color:#1f2937;font-size:13px;font-weight:500}.catalog-form-required{color:#b53333;margin-left:4px}.catalog-form-field .ant-switch{width:fit-content}.catalog-logo-empty{color:#6b7280}.catalog-logo-table-preview.ant-image{display:inline-flex;overflow:hidden;border:1px solid #d8e5f5;border-radius:8px;background:#fff;vertical-align:middle}.catalog-logo-table-preview img{object-fit:contain;padding:3px}.catalog-logo-upload-card{position:relative;display:inline-flex;align-items:center;padding:12px;border:1px solid #e4edf8;border-radius:14px;background:#f7faff}.catalog-logo-preview{position:relative;display:flex;align-items:center;justify-content:center;width:84px;height:84px;overflow:hidden;border:1px dashed #b7cbe8;border-radius:14px;background:#fff;color:#6b7280;font-size:12px;text-align:center}.catalog-logo-upload-trigger{padding:0;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.catalog-logo-upload-trigger:hover,.catalog-logo-upload-trigger:focus-visible{border-color:#0f3d91;background:#f7faff;box-shadow:0 0 0 3px #0f3d9124;outline:none}.catalog-logo-upload-trigger:disabled{cursor:wait;opacity:.72}.catalog-logo-upload-placeholder,.catalog-logo-upload-overlay{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;color:#0f3d91;font-weight:650;line-height:1.25}.catalog-logo-upload-overlay{position:absolute;inset:0;background:#0f3d91b8;color:#fff;opacity:0;transition:opacity .18s ease}.catalog-logo-upload-trigger:hover .catalog-logo-upload-overlay,.catalog-logo-upload-trigger:focus-visible .catalog-logo-upload-overlay,.catalog-logo-upload-trigger:disabled .catalog-logo-upload-overlay{opacity:1}.catalog-logo-preview .ant-image,.catalog-logo-preview img{width:100%;height:100%}.catalog-logo-preview img{object-fit:contain;padding:6px}.catalog-logo-remove-action{position:absolute;right:5px;bottom:5px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid #d8e5f5;border-radius:999px;background:#fff;color:#dc2626;cursor:pointer;box-shadow:0 2px 8px #0f3d911f;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.catalog-logo-remove-action:hover,.catalog-logo-remove-action:focus-visible{border-color:#fecaca;background:#fff1f2;color:#b91c1c;outline:none;box-shadow:0 0 0 3px #dc26261f}.room-form-layout{gap:14px!important}.room-form-section{border:1px solid #cbdcf0;border-radius:14px;padding:14px;background:#fff;box-shadow:inset 0 0 0 1px #ffffff73}.room-form-section-header{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.room-form-section-header .ant-typography:first-child{color:#2f2f2c}.room-form-section-header .ant-typography:last-child{font-size:12px;line-height:1.45}.room-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:12px}.room-form-grid>.catalog-form-field,.room-form-span-2{min-width:0}.room-form-span-2{grid-column:1 / -1}.room-capacity-input-wrapper{position:relative;width:100%}.room-capacity-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8d8a80;font-size:15px;z-index:1;pointer-events:none}.workspace-card .room-capacity-input-number .ant-input-number-input,.catalog-form-modal .room-capacity-input-number .ant-input-number-input{padding-left:36px}@media(max-width:767px){.room-form-section{padding:12px}.room-form-grid{grid-template-columns:1fr}.room-form-span-2{grid-column:auto}}.console-sider.is-collapsed{padding:16px 10px}.console-sider.is-collapsed .console-brand-top{justify-content:center;padding-right:0}.console-sider.is-collapsed .console-brand-header{justify-content:center}.console-user-compact{border:1px solid rgba(255,255,255,.24);background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff14;border-radius:20px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:14px}.console-user-icon-button{width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#ffffffe6}.console-user-icon-button:hover,.console-user-icon-button:focus-visible{color:#fff!important;background:#ffffff24!important}.console-sider.is-collapsed .console-user-card{display:none}.console-sider.is-collapsed .console-user-compact{display:flex}.room-selection-modal .ant-modal-content{border:1px solid #dbe7f5;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #dbe7f5,#14141306 0 3px 10px}.room-selection-modal .ant-modal-header,.room-selection-modal .ant-modal-body,.room-selection-modal .ant-modal-footer{background:transparent}.room-selection-modal .ant-modal-header{padding-bottom:8px}.room-selection-modal .ant-modal-body{padding-top:8px}.room-selection-modal .ant-modal-footer{margin-top:20px;padding-top:16px;border-top:1px solid #dbe7f5}.room-selection-modal .ant-modal-title{color:#111827;font-size:28px;line-height:1.2}.room-selection-room-list{max-height:420px;overflow:auto}.room-selection-room-card{cursor:pointer;border:1px solid #e6e2d8;border-radius:12px;box-shadow:0 0 0 1px #dbe7f5;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.room-selection-room-card .ant-card-body{padding:12px}.room-selection-room-card:hover{border-color:#7aa1d2;box-shadow:0 0 0 1px #7aa1d2;transform:translateY(-1px)}.room-selection-room-card.is-selected{border-color:#144aa6;box-shadow:0 0 0 1px #144aa647;background:#fff}.room-selection-timeline-layout{display:grid;grid-template-columns:minmax(0,2.1fr) 340px;gap:16px;align-items:start}.room-selection-timeline-main,.room-selection-sidebar{display:flex;flex-direction:column;gap:16px}.room-selection-context-card .ant-card-body,.room-selection-board-card .ant-card-body,.room-selection-sidebar-card .ant-card-body{padding:16px}.room-selection-context-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.room-selection-context-room{display:flex;flex-direction:column;gap:4px}.room-selection-timeline-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.room-selection-timeline-board{display:flex;flex-direction:column;gap:14px}.room-selection-timeline-legend{display:flex;flex-wrap:wrap;gap:6px}.room-selection-timeline-legend-tag{margin-inline-end:0!important;border-radius:999px;font-size:12px;border:1px solid #dbe7f5;background:#fff;color:#1f2937}.room-selection-timeline-legend-tag.is-available{border-color:#d8d3c6;background:#f6f3eb}.room-selection-timeline-legend-tag.is-soft-conflict{border-color:#e5c27e;background:#fff3dc;color:#8f6414}.room-selection-timeline-legend-tag.is-hard-conflict{border-color:#d8b1ab;background:#f7e4e1;color:#9f3b34}.room-selection-timeline-legend-tag.is-selected{border-color:#0d5a99;background:#156fb8;color:#fff!important}.room-selection-timeline-grid-wrap{width:100%;overflow-x:hidden;border-radius:16px;border:1px solid #e6e2d8;background:#f8f6f0;padding:8px}.room-selection-timeline-grid{display:grid;grid-template-columns:118px repeat(7,minmax(0,1fr));gap:6px;min-width:0}.room-selection-timeline-cell{border:1px solid #e3dfd4;border-radius:10px;background:#fff;min-height:74px}.room-selection-timeline-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;color:#1f2937;min-height:56px;padding:6px 4px}.room-selection-timeline-header.is-past-column{background:#ebe8e0;color:#9a968c}.room-selection-timeline-shift-header{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 9px;font-weight:600;color:#1f2937;gap:6px}.room-selection-timeline-shift-title{display:flex;align-items:center;gap:8px}.room-selection-timeline-shift-icon{display:inline-flex;align-items:center;justify-content:center;color:#6f6b62}.room-selection-timeline-shift-header small{font-size:11px;color:#6b7280}.room-selection-timeline-slot{width:100%;min-height:74px;border-radius:10px;border:1px solid #dbe7f5;background:#fff;color:#1f2937;cursor:pointer;padding:6px;display:flex;justify-content:center;align-items:center;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.room-selection-timeline-slot:hover:not(:disabled){border-color:#9bb8df;background:#fff;box-shadow:0 0 0 1px #144aa629}.room-selection-timeline-slot-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:18px;line-height:1;color:currentColor}.room-selection-timeline-slot.is-selected{border-color:#0d5a99;background:#156fb8;color:#fff}.room-selection-timeline-slot.is-selected .room-selection-timeline-slot-icon{color:#fff}.room-selection-timeline-slot.is-selected:hover:not(:disabled){border-color:#0a4d82;background:#1a7dca;color:#fff;box-shadow:0 0 0 1px #156fb847}.room-selection-timeline-slot.is-selected:hover:not(:disabled) .room-selection-timeline-slot-icon{color:#fff}.room-selection-timeline-slot.is-soft-conflict{border-color:#e1ba70;background:#fff2da;color:#efb11d}.room-selection-timeline-slot.is-selected.is-soft-conflict{border-color:#0d5a99;background:#156fb8;color:#fff}.room-selection-timeline-slot.is-selected.is-soft-conflict .room-selection-timeline-slot-icon{color:#fff}.room-selection-timeline-slot.is-selected.is-soft-conflict:hover:not(:disabled){border-color:#0a4d82;background:#1a7dca;color:#fff;box-shadow:0 0 0 1px #156fb847}.room-selection-timeline-slot.is-hard-conflict{border-color:#dfb3ab;background:#fae8e5;color:#d36b62;cursor:not-allowed}.room-selection-timeline-slot:disabled{opacity:.95}.room-selection-timeline-slot.is-past{cursor:not-allowed;background:#ebe8e0;border-color:#dcd8cf;color:#a8a49a}.room-selection-timeline-slot.is-past .room-selection-timeline-slot-icon{color:#a8a49a}.room-selection-timeline-tip{border:1px solid #cbdcf0;border-radius:12px;background:#fff;color:#4b5563;padding:12px 14px;font-size:14px}.room-selection-sidebar-card .ant-card-head{min-height:52px}.room-selection-sidebar-card .ant-form-item{margin-bottom:16px}.room-selection-sidebar-card .ant-form-item:last-child{margin-bottom:0}.room-selection-sidebar-card .ant-select-multiple .ant-select-selector,.room-selection-sidebar-card .ant-input-number{min-height:52px!important;height:52px!important;border-radius:16px!important;padding-inline:14px!important;display:flex;align-items:center}.room-selection-sidebar-card .ant-select-multiple .ant-select-selection-wrap{min-height:100%;align-items:center}.room-selection-sidebar-card .ant-select-multiple .ant-select-selection-overflow{align-items:center;flex-wrap:nowrap;gap:8px}.room-selection-sidebar-card .ant-select-multiple .ant-select-selection-overflow-item{display:flex;align-items:center;margin-inline-end:0!important}.room-selection-sidebar-card .ant-select-multiple .ant-select-selection-item{height:32px;display:inline-flex;align-items:center;border-radius:10px;padding-inline:10px 8px;margin-inline-end:0}.room-selection-sidebar-card .ant-select-multiple .ant-select-selection-item-content,.room-selection-sidebar-card .ant-select-multiple .ant-select-selection-item-remove{display:inline-flex;align-items:center}.room-selection-sidebar-card .ant-select .ant-select-arrow{inset-inline-end:14px}.room-selection-sidebar-card .ant-input-number-input{height:50px;padding-inline:0}.room-selection-selected-session-list{max-height:280px;overflow-y:auto;padding-right:4px}.room-selection-selected-session-card{border-radius:12px;border-color:#cbdcf0;background:#fff}.room-selection-selected-session-card.is-shift-morning{border-color:#cbdcf0;background:#fffdf6}.room-selection-selected-session-card.is-shift-afternoon{border-color:#c5d8ef;background:#f7fbff}.room-selection-selected-session-card.is-shift-evening{border-color:#cfc0e5;background:#faf7ff}.room-selection-selected-session-card .ant-card-body{padding:10px 12px}.room-selection-selected-session-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.room-selection-selected-session-item>div{display:flex;flex-direction:column;gap:2px}.room-selection-selected-session-title{display:inline-flex;align-items:center;gap:8px}.room-selection-selected-session-title-icon{flex-shrink:0;color:#6b6560}.room-selection-selected-session-card.is-shift-morning .room-selection-selected-session-title-icon{color:#a67c00}.room-selection-selected-session-card.is-shift-afternoon .room-selection-selected-session-title-icon{color:#1d6bb8}.room-selection-selected-session-card.is-shift-evening .room-selection-selected-session-title-icon{color:#5c3d8c}@media(max-width:1100px){.room-selection-timeline-layout{grid-template-columns:1fr}}.booking-room-browser{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start;transition:grid-template-columns .2s ease}.booking-room-browser.is-location-collapsed{grid-template-columns:64px minmax(0,1fr)}.booking-location-panel{position:sticky;top:0;display:flex;flex-direction:column;gap:14px;min-height:520px;padding:18px;border:1px solid #e4edf8;border-radius:18px;background:#fff;box-shadow:0 2px 10px #144aa609}.booking-location-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-location-panel-body{display:contents}.booking-location-panel.is-collapsed{min-height:120px;padding:12px;align-items:center}.booking-location-panel.is-collapsed .booking-location-panel-head{writing-mode:vertical-rl}.booking-location-panel.is-collapsed .booking-location-panel-head .ant-space,.booking-location-panel.is-collapsed .booking-location-panel-body{display:none}.booking-location-expand-button.ant-btn{width:40px;height:40px;border-radius:12px}.booking-location-search .ant-input-affix-wrapper,.booking-location-search .ant-input-group-addon .ant-btn{border-color:#e4edf8}.booking-location-tree.ant-tree{flex:1;min-height:0;overflow-y:auto;padding:2px 4px 2px 0;background:transparent;color:#4b5563;font-size:13px;font-weight:600}.booking-location-tree.ant-tree .ant-tree-list-holder-inner{gap:3px}.booking-location-tree.ant-tree .ant-tree-treenode{width:100%;padding:1px 0}.booking-location-tree.ant-tree .ant-tree-indent-unit{width:14px}.booking-location-tree.ant-tree .ant-tree-switcher{display:inline-flex;width:24px;align-items:center;justify-content:center;color:#6b7280}.booking-location-tree.ant-tree .ant-tree-switcher:hover{color:#144aa6}.booking-location-tree.ant-tree .ant-tree-node-content-wrapper{display:inline-flex;flex:1;min-height:34px;align-items:center;padding:6px 10px;border-radius:12px;color:#4b5563;line-height:20px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.booking-location-tree.ant-tree .ant-tree-node-content-wrapper:hover{background:#f7faff;color:#144aa6}.booking-location-tree.ant-tree .ant-tree-treenode-level-0>.ant-tree-node-content-wrapper{color:#144aa6;font-weight:750}.booking-location-tree.ant-tree .ant-tree-treenode-level-1>.ant-tree-node-content-wrapper{color:#1f2937;font-weight:700}.booking-location-tree.ant-tree .ant-tree-node-selected,.booking-location-tree.ant-tree .ant-tree-node-selected:hover{background:#dbeafe!important;color:#144aa6!important;box-shadow:inset 0 0 0 1px #b7cbe8;font-weight:750}.booking-location-tree.ant-tree .ant-tree-treenode-selected .ant-tree-switcher{color:#144aa6}.booking-room-main-card{min-width:0}.booking-room-filter-panel{margin-bottom:18px;padding:16px;border:1px solid #dbe7f5;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #dbe7f5b3}.booking-room-filter-label.ant-typography{display:block;margin-bottom:7px;color:#1f2937;font-size:13px;font-weight:700}.booking-room-filter-control{width:100%}.booking-room-code-line{--room-status-color: #6b7280;display:inline-flex;align-items:center;gap:8px;width:fit-content}.booking-room-status-dot{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:var(--room-status-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--room-status-color) 24%,transparent);cursor:help}.booking-room-info-meta{color:#4b5563}.booking-room-info-meta-item{display:inline-flex;align-items:center;gap:6px;color:#4b5563;font-size:14px;font-weight:500}.booking-room-info-meta-item svg{color:#6b7280}.booking-room-card{border:1px solid #ece7dc;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #dbe7f5,0 4px 12px #14141306;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.booking-room-card:hover{border-color:#7aa1d2;box-shadow:0 0 0 1px #144aa638,0 4px 14px #14141309;transform:translateY(-2px)}.booking-room-card.is-selected{border-color:#144aa6;box-shadow:0 0 0 1px #144aa647;background:#fff}.booking-room-card .ant-card-body{padding:0}.booking-room-card-shell{position:relative;display:flex;min-height:100%;flex-direction:column}.booking-room-card-image-wrapper{position:relative;width:100%;height:220px;overflow:hidden;background:#fff}.booking-room-card-image-preview,.booking-room-card-image-preview .ant-image{display:block;width:100%;height:100%}.booking-room-card-image-preview .ant-image-img,.booking-room-card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#fff}.booking-room-card-image-indicator{position:absolute;right:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:#141413bd;color:#fff;font-size:14px;font-weight:700;line-height:1.1;box-shadow:0 3px 10px #1414131a}.booking-room-card-image-empty{display:flex;width:100%;height:220px;align-items:center;justify-content:center;border-bottom:1px dashed #cbdcf0;background:#fff;color:#6b7280;overflow:hidden}.booking-room-card-content{display:flex;flex:1;flex-direction:column;gap:16px;padding:20px}.booking-room-card-heading{display:flex;flex-direction:column;gap:6px}.booking-room-card-title.ant-typography{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:0;color:#111827;font-size:23px;line-height:1.25}.booking-room-card-title span:first-child{color:#144aa6;font-weight:800;letter-spacing:.2px}.booking-room-card-title strong{font-weight:750}.booking-room-card-meta{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding-bottom:16px;border-bottom:1px solid #dbe7f5;color:#4b5563;font-size:15px;font-weight:600}.booking-room-card-meta-item{display:inline-flex;min-width:0;align-items:center;gap:9px}.booking-room-card-meta-item svg{flex:0 0 auto;color:#1f2937}.booking-room-card-meta-separator{width:1px;height:24px;background:#dbe7f5}.booking-room-card-equipment-section{display:flex;flex-direction:column;gap:10px}.booking-room-card-equipment-title.ant-typography{color:#111827;font-size:16px}.booking-room-card-tags{display:flex;flex-wrap:wrap;gap:10px}.booking-room-card-equipment-chip{display:inline-flex;min-height:38px;align-items:center;gap:9px;padding:8px 14px;border:1px solid #dbe7f5;border-radius:10px;background:#fff;color:#1f2937;font-size:14px;font-weight:650;line-height:1.2;box-shadow:0 0 0 1px #f0eee6b8}.booking-room-card-equipment-chip svg{flex:0 0 auto;color:#4b5563}.booking-room-card-equipment-chip.condition-2{border-color:#ead6a2;background:#fff9e8}.booking-room-card-equipment-chip.condition-3,.booking-room-card-equipment-chip.condition-4{border-color:#e6b7ad;background:#fff0ec}.booking-room-card-equipment-chip.is-loading,.booking-room-card-equipment-chip.is-muted{color:#6b7280}.booking-room-card-action.ant-btn{margin-top:auto;height:42px;border-radius:12px;font-weight:700}.booking-room-card-note{line-height:1.5}.booking-room-floor-list{display:flex;flex-direction:column;gap:14px}.booking-room-floor-section{overflow:hidden;border:1px solid #e4edf8;border-radius:16px;background:#fff}.booking-room-floor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid #e4edf8;background:#f7faff}.booking-room-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px;padding:10px}.booking-room-card-compact{border-color:#e4edf8;border-radius:12px;box-shadow:none}.booking-room-card-compact:hover{transform:none}.booking-room-card-compact .ant-card-body{padding:0}.booking-room-card-image-empty-compact{display:none}.booking-room-card-content-compact{gap:6px;padding:9px;font-size:12px}.booking-room-heading{display:grid;min-width:0;gap:3px}.booking-room-card-title-line{display:flex;min-width:0;align-items:center;gap:7px}.booking-room-card-content-compact .booking-room-status-dot{width:8px;height:8px}.booking-room-card-content-compact .ant-typography{font-size:12px;line-height:1.35}.booking-room-card-meta-line{display:grid;min-width:0;gap:3px}.booking-room-stat-row{display:flex;min-width:0;align-items:center;gap:10px}.booking-room-card-content-compact .booking-room-capacity-text.ant-typography,.booking-room-card-content-compact .booking-room-area-text.ant-typography,.booking-room-card-content-compact .booking-room-type-text.ant-typography{font-size:11px;line-height:1.15}.booking-room-card-content-compact .booking-room-capacity-text.ant-typography,.booking-room-card-content-compact .booking-room-area-text.ant-typography{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.booking-room-card-content-compact .booking-room-type-text.ant-typography{width:fit-content;max-width:100%;padding:1px 6px;border-radius:999px;background:#f7faff;color:#144aa6;font-size:10px;font-weight:650;line-height:1.25}.booking-room-shift-chips{display:flex;align-items:center;gap:4px}.booking-room-shift-chip{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:4px;font-size:10px;font-weight:750;line-height:1}.booking-room-shift-chip.is-available{background:#dcfce7;color:#15803d}.booking-room-shift-chip.is-booked{background:#fee2e2;color:#dc2626}.booking-room-detail-modal .ant-modal-content{overflow:hidden;border:1px solid #e4edf8;border-radius:20px;background:#fff;box-shadow:0 8px 24px #0f3d9114}.booking-room-detail-modal .ant-modal-body,.booking-room-detail-modal .ant-modal-footer{background:transparent}.booking-room-detail-modal .ant-modal-body{max-height:min(72vh,760px);overflow-y:auto;padding:20px 20px 16px}.booking-room-detail-modal .ant-modal-footer{margin-top:0;padding:14px 20px 18px;border-top:1px solid #e4edf8}.booking-room-detail-shell{display:flex;flex-direction:column;gap:14px}.booking-room-detail-hero,.booking-room-detail-section{border:1px solid #e4edf8;background:#fff;box-shadow:0 2px 10px #0f3d9109}.booking-room-detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border-radius:18px}.booking-room-detail-code{display:block;margin-bottom:4px;color:#6b7280!important;font-size:12px;font-weight:650}.booking-room-detail-title.ant-typography{margin:0 0 8px!important;color:#111827;font-size:24px;font-weight:750;letter-spacing:-.02em}.booking-room-detail-stats{display:flex;gap:8px;flex:0 0 auto}.booking-room-detail-stat{min-width:88px;padding:12px 13px;border-radius:14px;background:#f7faff;color:#0f3d91;border:1px solid #e4edf8}.booking-room-detail-stat svg{display:block;margin-bottom:8px}.booking-room-detail-stat strong{display:inline-block;margin-right:4px;color:#111827;font-size:20px;line-height:1}.booking-room-detail-stat span{color:#6b7280;font-size:12px;font-weight:650}.booking-room-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-room-detail-section{padding:14px 16px 16px;border-radius:18px}.booking-room-detail-section-title{margin-bottom:10px;color:#111827;font-size:14px;font-weight:720}.booking-room-detail-info-list{display:grid;gap:8px}.booking-room-detail-info-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#f7faff}.booking-room-detail-info-list span{color:#6b7280;font-size:12px;font-weight:650}.booking-room-detail-info-list strong{color:#111827;font-size:13px;font-weight:700;text-align:right}.booking-room-detail-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.booking-room-detail-image{width:100%;aspect-ratio:4 / 3;border:1px solid #e4edf8;border-radius:14px;object-fit:cover;background:#f7faff}.booking-room-detail-equipment-list .ant-list-item{padding-inline:0;border-block-end-color:#e4edf8!important}.booking-room-detail-equipment-item{display:flex;flex-direction:column;gap:2px}.booking-room-detail-footer{display:flex;justify-content:flex-end;gap:10px}.booking-room-detail-icon-button.ant-btn{position:absolute;top:8px;right:8px;z-index:3;width:34px;height:34px;border:1px solid #b7cbe8;border-radius:999px;background:#fffffff5;color:#0f3d91;box-shadow:0 3px 10px #0f3d911f}.booking-room-detail-icon-button.ant-btn:hover{border-color:#0f3d91;background:#f7faff;color:#0f3d91}.booking-room-card-actions-compact{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%}.booking-room-card-actions-compact .ant-btn-sm{width:100%;min-width:0;padding-inline:8px}.booking-room-card-actions-compact .ant-btn-sm>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-room-card-content-compact .ant-btn-sm{height:26px;border-radius:8px;font-size:12px;font-weight:700}.booking-room-compact-meta{display:flex;justify-content:space-between;gap:6px;color:#4b5563;font-size:11px;font-weight:650}.booking-room-status-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:14px;padding:10px 4px 0;color:#4b5563;font-size:13px;font-weight:600}.booking-room-status-legend-item{--room-status-color: #6b7280;display:inline-flex;align-items:center;gap:8px}@media(max-width:1024px){.booking-room-browser{grid-template-columns:1fr}.booking-location-panel{position:static;min-height:auto}}@media(max-width:640px){.booking-room-card-image-wrapper,.booking-room-card-image-empty{height:190px}.booking-room-card-content{padding:16px}.booking-room-card-title.ant-typography{font-size:20px}.booking-room-card-meta-separator{display:none}}.booking-request-modal .ant-modal-content{border-radius:20px;padding:0;overflow:hidden;background:#fff}.booking-request-modal .ant-modal-close{top:18px;right:18px;border-radius:999px;color:#6f6b62}.booking-request-shell{padding:28px;background:#fff}.booking-request-header{padding-right:48px;margin-bottom:18px}.booking-request-eyebrow{display:inline-flex;margin-bottom:8px;padding:4px 10px;border-radius:999px;background:#fff;color:#144aa6;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.booking-request-header .ant-typography{margin:0}.booking-request-header h3.ant-typography{color:#2f2d29;font-size:28px;line-height:1.2}.booking-request-alert{margin-bottom:16px;border-radius:14px}.booking-request-room-strip{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:16px;border:1px solid #e6e0d3;border-radius:18px;background:#fff}.booking-request-room-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:14px;background:#efe4da;color:#b45f3d;flex:0 0 auto}.booking-request-room-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.booking-request-room-name{color:#2f2d29;font-size:16px;font-weight:700}.booking-request-room-meta{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f3efe7;color:#5c574e;font-weight:600;white-space:nowrap}.booking-request-content-grid{display:grid;grid-template-columns:1fr;gap:16px}.booking-request-form-card,.booking-request-summary-card{border:1px solid #cbdcf0;border-radius:20px;background:#fff;box-shadow:none}.booking-request-form-card .ant-card-head,.booking-request-summary-card .ant-card-head{border-bottom-color:#eee8dc;min-height:52px}.booking-request-form-card .ant-card-head-title,.booking-request-summary-card .ant-card-head-title{color:#111827;font-weight:700}.booking-request-form .ant-form-item-label>label{color:#1f2937!important;font-size:13px;font-weight:500}.booking-request-form .ant-input:not(textarea),.booking-request-form .ant-input-affix-wrapper,.booking-request-form .ant-input-number{height:40px;min-height:40px;box-sizing:border-box;border-radius:12px!important;border-color:#cbdcf0!important;background:#fff!important;box-shadow:none!important}.booking-request-form .ant-input-affix-wrapper{padding-inline:11px}.booking-request-form .ant-input-affix-wrapper .ant-input{height:100%;min-height:0}.booking-request-form .ant-input::placeholder,.booking-request-form .ant-input-number-input::placeholder{color:#8d8a80}.booking-request-form .ant-input:focus,.booking-request-form .ant-input-focused,.booking-request-form .ant-input-number:focus-within,.booking-request-form .ant-input-number-focused,.booking-request-form .ant-input-affix-wrapper-focused{border-color:#144aa6!important;box-shadow:0 0 0 2px #144aa61f!important;background:#fff!important}.booking-request-form textarea.ant-input{min-height:96px;padding:10px 11px;border-radius:12px!important;border-color:#cbdcf0!important;background:#fff!important;resize:vertical}.booking-request-counter{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:10px}.booking-request-counter .ant-btn{height:40px;border-radius:12px;background:#fff;border-color:#cbdcf0;box-shadow:none}.booking-request-counter .ant-input-number{width:100%;height:40px}.booking-request-counter .ant-input-number-input{height:38px;text-align:center;font-weight:700}.booking-request-upload-zone{display:flex;width:100%;align-items:center;gap:12px;padding:12px;border:1px dashed #cbdcf0;border-radius:12px;background:#fff;color:#144aa6;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.booking-request-upload-zone:hover{border-color:#144aa6;background:#fff;box-shadow:0 0 0 1px #144aa629}.booking-request-upload-zone>div{display:flex;min-width:0;flex-direction:column;gap:2px;text-align:left}.booking-request-upload-zone .ant-typography{margin:0}.booking-request-remove-file{margin-top:8px;color:#144aa6}.booking-request-timeline-panel{display:flex;max-width:100%;align-items:stretch;border:1px solid #cbdcf0;border-radius:14px;background:#fbfaf7;overflow:hidden;box-shadow:0 1px #ffffffa6 inset}.booking-request-timeline-panel-body{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center;padding:12px 14px}.booking-request-timeline-empty{display:flex;align-items:flex-start;gap:12px}.booking-request-timeline-empty-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid #cbdcf0;background:#fff;color:#144aa6}.booking-request-timeline-empty-text{min-width:0;flex:1}.booking-request-timeline-empty-title{display:block;margin-bottom:4px;color:#3a3834;font-size:15px}.booking-request-timeline-empty-desc{margin:0!important;font-size:13px;line-height:1.45;color:#8d8a80!important}.booking-request-timeline-filled{display:flex;flex-direction:column;gap:10px}.booking-request-timeline-filled-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.booking-request-timeline-count{font-size:15px;color:#3a3834}.booking-request-timeline-range{font-size:13px}.booking-request-timeline-room-list{display:flex;max-height:240px;flex-direction:column;gap:10px;overflow-y:auto;padding:2px 4px 4px 0}.booking-request-timeline-room-group{border:1px solid #e4edf8;border-radius:12px;background:#fff;padding:10px}.booking-request-timeline-room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.booking-request-timeline-room-code{display:block;color:#0f3d91;font-size:14px;line-height:1.25}.booking-request-timeline-room-name{display:block;font-size:12px;line-height:1.35}.booking-request-timeline-room-count.ant-tag{margin:0;border-color:#b7cbe8;border-radius:999px;background:#f7faff;color:#0f3d91;font-weight:650}.booking-request-timeline-chip-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px}.booking-request-timeline-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #e7e2d6;border-radius:11px;background:#fff}.booking-request-timeline-chip.is-shift-morning{border-color:#cbdcf0;background:#fff}.booking-request-timeline-chip.is-shift-afternoon{border-color:#c5d8ef;background:#f7fbff}.booking-request-timeline-chip.is-shift-evening{border-color:#cfc0e5;background:#faf7ff}.booking-request-timeline-chip-date{font-size:13px;color:#1f2937}.booking-request-timeline-chip-tag.ant-tag{margin:0;font-size:12px;line-height:1.35;padding:2px 8px;border-radius:999px}.booking-request-timeline-overflow{display:block;font-size:12px}.booking-request-timeline-cta.ant-btn{display:inline-flex!important;flex-shrink:0;flex-direction:column;align-items:center;align-self:stretch;justify-content:center;gap:6px;min-width:124px;max-width:140px;height:auto!important;padding:14px 10px!important;border-radius:0!important;border:none!important;border-left:1px solid #0f3a82!important;margin:0!important;background:#144aa6!important;box-shadow:none!important;white-space:normal;line-height:1.3;font-weight:600}.booking-request-timeline-cta.ant-btn .ant-btn-icon{margin-inline-end:0!important;line-height:0}.booking-request-timeline-cta.ant-btn:hover,.booking-request-timeline-cta.ant-btn:focus-visible{background:#0f3a82!important;border-left-color:#144aa6!important;color:#fff!important}.booking-request-conflict-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-request-conflict-item{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:#fff}.booking-request-conflict-item span{color:#4b5563;font-size:12px}.booking-request-conflict-item strong{color:#111827;font-size:18px}.booking-request-result-tag{width:fit-content;border-radius:999px;padding:4px 10px;background:#fff;border-color:#cbdcf0;color:#144aa6}.booking-request-session-list{display:flex;max-height:180px;overflow-y:auto;flex-direction:column;gap:8px;padding-right:4px}.booking-request-session-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border-radius:12px;background:#fff;color:#1f2937}.booking-request-session-item span{font-weight:650}.booking-request-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;margin-top:18px;border-top:1px solid #cbdcf0}.booking-request-footer .ant-btn{border-radius:12px;height:42px}.booking-request-footer .ant-btn-primary{background:#144aa6;box-shadow:0 3px 10px #144aa61a}.requester-notification-row-unread td,.requester-notification-row-unread:hover td{background:#fff!important}.zalo-zns-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.zalo-zns-summary-card .ant-card-body{display:flex;min-height:132px;flex-direction:column;justify-content:space-between;gap:14px}.zalo-zns-summary-card strong{color:#111827;font-size:38px;font-weight:500;line-height:1}.zalo-zns-summary-card.is-warning{background:#fff8ea;border-color:#ead6a2}.zalo-zns-summary-card.is-danger{background:#fff0ec;border-color:#e6b7ad}@media(max-width:1280px){.admin-dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:991px){.booking-request-shell{padding:22px}.booking-request-content-grid{grid-template-columns:1fr}.booking-request-room-strip{align-items:stretch;flex-direction:column}.booking-request-footer{align-items:center;flex-direction:row}.booking-request-timeline-panel{flex-direction:column}.booking-request-timeline-cta.ant-btn{max-width:none;min-height:48px;border-left:none!important;border-top:1px solid #0f3a82!important}.booking-request-room-meta{width:fit-content}.booking-request-footer .ant-btn{min-width:132px}.console-content{padding:16px}.admin-dashboard-hero{flex-direction:column}.admin-dashboard-hero-actions,.admin-dashboard-filter-actions{min-width:100%;margin-left:0}.admin-dashboard-filter-control,.admin-dashboard-date-filter{width:100%}.admin-dashboard-status-layout{grid-template-columns:1fr;justify-items:center}.admin-dashboard-lollipop-chart{padding:14px;background:linear-gradient(180deg,#fff,#f7faff)}.admin-dashboard-lollipop-scale{display:none}.admin-dashboard-lollipop-row{grid-template-columns:1fr;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(228,237,248,.75)}.admin-dashboard-lollipop-row:last-child{padding-bottom:0;border-bottom:0}.admin-dashboard-lollipop-summary{align-items:flex-start}.admin-dashboard-approval-row{flex-direction:column}.admin-dashboard-approval-meta-grid{grid-template-columns:1fr}.admin-dashboard-schedule-row{grid-template-columns:1fr;gap:10px}.admin-dashboard-schedule-time{padding-top:0}.admin-dashboard-schedule-event{grid-template-columns:1fr}.admin-dashboard-schedule-event-status{justify-content:flex-start}.admin-dashboard-schedule-now-row{grid-template-columns:1fr;gap:8px}.admin-dashboard-schedule-hours{display:none}.admin-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-actions-grid,.zalo-zns-summary-grid{grid-template-columns:1fr}.console-sider,.auth-page{padding:16px}}
