html,body{background:var(--page-bg);height:100%;color:var(--ink);margin:0;padding:0}#root{min-height:100vh}*,:before,:after{box-sizing:border-box}:root{--page-bg:#f6f8fc;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#f1f4fa;--line:#e7ebf3;--line-strong:#d3dae8;--line-soft:#f0f3f9;--hover:#f5f8ff;--ink:#0f1115;--ink-soft:#3d4557;--muted:#5b6478;--focus:#2f6fe8;--shadow-soft:0 24px 50px -24px #0f111538;--tint-green-bg:#ecf9e3;--tint-green-fg:#237804;--tint-red-bg:#fff0f0;--tint-red-fg:#c4262e;--tint-blue-bg:#eaf1ff;--tint-blue-fg:#2559c4;--tint-amber-bg:#fff4d9;--tint-amber-fg:#9a5b00;--tint-purple-bg:#f2eafd;--tint-purple-fg:#6a28c4;--tint-teal-bg:#e2f6f6;--tint-teal-fg:#0a7373;--tint-grey-bg:#f1f3f7;--tint-grey-fg:#586074}:root[data-theme=dark]{--page-bg:#0e1320;--surface:#171e2e;--surface-2:#1b2336;--surface-3:#222c42;--line:#2a3550;--line-strong:#38456a;--line-soft:#222c44;--hover:#1e2840;--ink:#e8ecf5;--ink-soft:#c3cbdb;--muted:#9aa5bb;--focus:#7aa7ff;--shadow-soft:0 24px 50px -24px #000000a6;--tint-green-bg:#52c41a29;--tint-green-fg:#86e05a;--tint-red-bg:#ff4d4f29;--tint-red-fg:#ff8c8e;--tint-blue-bg:#4f8cff2e;--tint-blue-fg:#8db4ff;--tint-amber-bg:#faad1429;--tint-amber-fg:#f7c765;--tint-purple-bg:#9061e033;--tint-purple-fg:#c3a0f5;--tint-teal-bg:#13a8a833;--tint-teal-fg:#55d3d3;--tint-grey-bg:#9aa5bb29;--tint-grey-fg:#b4bdd0}.portal-tabs .ant-tabs-nav{margin-bottom:20px}.portal-tabs .ant-tabs-nav:before{border-bottom:none}.portal-tabs .ant-tabs-ink-bar{display:none}.portal-tabs .ant-tabs-tab{color:var(--muted);background:var(--surface-3);border-radius:999px;margin:0 6px 0 0;padding:8px 18px;font-weight:600;transition:background .15s,color .15s}.portal-tabs .ant-tabs-tab:hover{color:var(--tint-blue-fg)}.portal-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:0}.portal-tabs .ant-tabs-tab.ant-tabs-tab-active{background:var(--tint-blue-bg)}.portal-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--tint-blue-fg);font-weight:700}.portal-menu.ant-menu-dark.ant-menu-inline{background:0 0}.portal-menu .ant-menu-item,.portal-menu .ant-menu-submenu-title{border-radius:10px;width:calc(100% - 16px);height:40px;margin:2px 8px;font-weight:600;line-height:40px}.portal-menu .ant-menu-sub.ant-menu-inline{background:0 0!important}.portal-menu .ant-menu-sub .ant-menu-item,.portal-menu .ant-menu-sub .ant-menu-submenu-title{height:36px;font-size:13px;font-weight:500;line-height:36px}.portal-menu .ant-menu-sub .ant-menu-sub .ant-menu-item{opacity:.92;font-size:12.5px}.portal-menu .ant-menu-item:not(.ant-menu-item-selected):hover,.portal-menu .ant-menu-submenu-title:hover{background:#ffffff14!important}.portal-menu .ant-menu-item-selected{font-weight:700}.ant-descriptions-bordered .ant-descriptions-view{border-color:var(--line);border-radius:12px}.ant-descriptions-bordered .ant-descriptions-item-label{background:var(--surface-2);color:var(--muted);border-color:var(--line);font-weight:600}.ant-descriptions-bordered .ant-descriptions-item-content{color:var(--ink);border-color:var(--line);font-weight:600}.ant-descriptions-bordered .ant-descriptions-row{border-color:var(--line)}.ant-descriptions-header .ant-descriptions-title{color:var(--ink);font-weight:800}.ant-modal-root,.ant-drawer,.ant-popover,.ant-tooltip,.ant-message,.ant-notification,.ant-select-dropdown,.ant-picker-dropdown,.ant-dropdown{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ant-modal-mask,.ant-drawer-mask{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f111573!important}.ant-modal .ant-modal-content{border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden;box-shadow:0 32px 70px -28px #0f111573}.ant-modal .ant-modal-header{background:var(--surface);border-bottom:1px solid var(--line);margin:0;padding:20px 24px 14px}.ant-modal .ant-modal-title{color:var(--ink);font-size:17px;font-weight:800}.ant-modal .ant-modal-body{max-height:calc(100vh - 220px);padding:20px 24px 8px;overflow-y:auto}.ant-modal .ant-modal-footer{border-top:1px solid var(--line);background:var(--surface-2);justify-content:flex-end;gap:8px;margin:0;padding:14px 24px 18px;display:flex}.ant-modal .ant-modal-footer>.ant-btn+.ant-btn{margin-inline-start:0}.ant-modal .ant-modal-close{top:16px;border-radius:10px;inset-inline-end:16px}.ant-modal .ant-modal-footer .ant-btn{border-radius:10px;min-width:84px;font-weight:600}.ant-modal .ant-form-item,.ant-drawer .ant-form-item{margin-bottom:18px}.ant-modal .ant-form-item-label>label,.ant-drawer .ant-form-item-label>label{color:var(--ink-soft);font-weight:600}.ant-modal .ant-form-item-extra,.ant-drawer .ant-form-item-extra{color:var(--muted);font-size:12.5px}.ant-modal-confirm .ant-modal-content{padding:28px 28px 22px}.ant-modal-confirm .ant-modal-confirm-title{color:var(--ink);font-weight:800}.ant-modal-confirm .ant-modal-confirm-content{color:var(--muted)}.ant-modal-confirm .ant-modal-confirm-btns{margin-top:24px}.ant-modal-confirm .ant-btn{border-radius:10px;font-weight:600}.ant-drawer:not(.nav-drawer) .ant-drawer-content{border-radius:18px 0 0 18px;overflow:hidden}.ant-drawer .ant-drawer-header{border-bottom:1px solid var(--line);padding:18px 24px}.ant-drawer .ant-drawer-title{color:var(--ink);font-size:17px;font-weight:800}.ant-drawer .ant-drawer-body{padding:20px 24px}.ant-drawer .ant-drawer-footer{border-top:1px solid var(--line);background:var(--surface-2);padding:14px 24px}.ant-drawer .ant-drawer-footer .ant-btn{border-radius:10px;font-weight:600}.ant-popover .ant-popover-inner{border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 18px 40px -20px #0f11154d}.ant-popconfirm .ant-popconfirm-title{color:var(--ink);font-weight:700}.ant-popconfirm .ant-popconfirm-description{color:var(--muted)}.ant-popconfirm .ant-popconfirm-buttons .ant-btn{border-radius:8px;font-weight:600}.ant-dropdown .ant-dropdown-menu,.ant-select-dropdown{border-radius:12px;box-shadow:0 18px 40px -20px #0f11154d}.ant-dropdown .ant-dropdown-menu-item{border-radius:8px}.ant-message .ant-message-notice-content{border-radius:12px;font-weight:600;box-shadow:0 14px 34px -16px #0f111559}@media (width<=576px){.ant-modal .ant-modal-body{padding:16px 16px 4px}.ant-modal .ant-modal-header{padding:16px 16px 12px}.ant-modal .ant-modal-footer{padding:12px 16px 14px}}.ant-modal .ant-modal-body:last-child{padding-bottom:24px}.modern-table .ant-table{color:var(--ink);background:0 0;font-size:13.5px}.modern-table .ant-table-container{border:1px solid var(--line);border-radius:14px;overflow:hidden}.modern-table .ant-table-thead>tr>th,.modern-table .ant-table-thead>tr>td{background:var(--surface-2);color:var(--muted);letter-spacing:.02em;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:700}.modern-table .ant-table-thead>tr>th:before{display:none!important}.modern-table .ant-table-tbody>tr>td{border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere;background:var(--surface);padding:13px 16px}.modern-table .ant-table-tbody>tr:last-child>td{border-bottom:0}.modern-table .ant-table-tbody>tr.ant-table-row:hover>td,.modern-table .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-right,.modern-table .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left{background:var(--hover)}.modern-table .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--tint-blue-bg)}.modern-table .ant-table-pagination{flex-wrap:wrap;row-gap:8px;margin:16px 4px 0}.modern-table .ant-table-placeholder:hover>td{background:var(--surface)!important}.modern-table .ant-table-placeholder .ant-table-cell{padding:24px 16px}.modern-table .ant-table-summary>tr>td,.modern-table .ant-table-summary>tr>th{background:var(--surface-2)}.modern-table .ant-table-expanded-row>td{padding:14px 16px;background:var(--surface-2)!important}.modern-table .ant-table-expanded-row .ant-table-container{border-radius:10px}.modern-table.ant-table-wrapper .ant-table-small .ant-table-thead>tr>th,.modern-table .ant-table-small .ant-table-tbody>tr>td{padding:9px 12px}.ant-modal .modern-table .ant-table-container,.ant-drawer .modern-table .ant-table-container{border-radius:12px}.modern-table .ant-spin-blur{opacity:.5;animation:1.1s ease-in-out infinite table-pulse}.modern-table .ant-spin-nested-loading>div>.ant-spin .ant-spin-dot{display:none}@keyframes table-pulse{50%{opacity:.75}}.table-skeleton{text-align:left;padding:4px 8px}.table-skeleton .ant-skeleton{margin:0;padding:0}.table-skeleton .ant-skeleton-paragraph{margin:0!important}.table-skeleton .ant-skeleton-paragraph>li{border-radius:6px;height:18px;margin:0}.table-skeleton .ant-skeleton{margin-block:12px}.table-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.table-filters .ant-input-affix-wrapper,.table-filters .ant-select-selector{border-radius:10px!important}.table-filters .table-filters-count{color:var(--muted);margin-inline-start:auto;font-size:13px}img,video,canvas,svg{max-width:100%}pre{max-width:100%;overflow:auto}.ant-layout,.ant-layout-content,.ant-card,.ant-card-body,.ant-tabs,.ant-tabs-content-holder,.ant-table-wrapper,.ant-row>.ant-col,.ant-form-item-control{min-width:0}.ant-card,.ant-descriptions-item-content,.ant-descriptions-item-label,.ant-alert-message,.ant-alert-description,.ant-form-item-explain,.ant-form-item-extra,.ant-list-item,.ant-typography,.ant-timeline-item-content,.ant-collapse-header-text,.ant-statistic-title{overflow-wrap:anywhere}.ant-tag{text-overflow:ellipsis;vertical-align:middle;max-width:100%;overflow:hidden}.ant-btn{max-width:100%}.ant-space-wrap{row-gap:8px!important}.ant-tabs-nav,.ant-input-number,.ant-picker,.ant-select{max-width:100%}.ant-form-item-label>label{white-space:normal;height:auto}.ant-layout-header{z-index:20;position:sticky;top:0}:focus-visible,.ant-btn:focus-visible,.ant-menu-item:focus-visible,.ant-tabs-tab-btn:focus-visible,a:focus-visible,[role=button]:focus-visible,.ant-switch:focus-visible,.ant-checkbox-input:focus-visible+.ant-checkbox-inner{outline:2px solid var(--focus);outline-offset:2px}.skip-link{z-index:3000;background:var(--surface);color:var(--ink);border:2px solid var(--focus);border-radius:10px;padding:10px 16px;font-weight:700;transition:top .15s;position:fixed;top:-48px;left:12px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root[data-theme=dark] .ant-modal-mask,:root[data-theme=dark] .ant-drawer-mask{background:#03060ea8!important}:root[data-theme=dark] .ant-modal .ant-modal-header,:root[data-theme=dark] .ant-modal .ant-modal-content{background:var(--surface)}:root[data-theme=dark] .ant-skeleton-paragraph>li,:root[data-theme=dark] .ant-skeleton-title{background:linear-gradient(90deg,#222c44 25%,#2b3752 37%,#222c44 63%) 0 0/400% 100%}:root[data-theme=dark] .ant-empty-description{color:var(--muted)}@media (width<=992px){.ant-layout-content{padding:16px!important}}@media (width<=768px){.ant-layout-content{padding:12px!important}.ant-layout-header{flex-wrap:wrap;min-height:56px;padding-block:8px;height:auto!important;padding-inline:12px!important;line-height:1.4!important}.ant-layout-header .ant-typography{font-size:17px!important}.ant-modal{margin-inline:auto;max-width:calc(100vw - 16px)!important}.ant-modal-wrap .ant-modal{width:calc(100vw - 16px)!important}.ant-drawer:not(.nav-drawer) .ant-drawer-content-wrapper{width:min(100vw,560px)!important}.ant-drawer:not(.nav-drawer) .ant-drawer-content{border-radius:0}.ant-card-body{padding:16px!important}.ant-tabs-nav{margin-bottom:14px}.ant-picker-panels{flex-direction:column}.ant-picker-dropdown,.ant-select-dropdown{max-width:calc(100vw - 16px)}.modern-table .ant-table-thead>tr>th,.modern-table .ant-table-tbody>tr>td{padding:10px 12px}.ant-descriptions-bordered .ant-descriptions-item-label{width:auto!important}.table-filters>*{flex:100%;max-width:100%}.table-filters .ant-input-search,.table-filters .ant-select{width:100%!important}.ant-form-item-label{padding-bottom:4px}}@media (width<=576px){input,select,textarea,.ant-input,.ant-select-selection-search-input,.ant-input-number-input{font-size:16px!important}.ant-btn-lg{height:42px}}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cal-title{color:var(--ink);letter-spacing:-.01em;font-size:20px;font-weight:800}.cal-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-nav .ant-btn{border-radius:10px;font-weight:600}.cal-grid{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));transition:opacity .15s;display:grid;overflow:hidden}.cal-weekday{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);padding:10px 8px;font-size:12px;font-weight:700}.cal-weekday-off{color:var(--tint-purple-fg)}.cal-weekday-short{display:none}.cal-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface);flex-direction:column;gap:6px;min-width:0;min-height:104px;padding:8px 8px 6px;display:flex;position:relative}.cal-cell:nth-child(7n){border-right:0}.cal-cell-off{background:var(--surface-2)}.cal-cell-out{background:repeating-linear-gradient(135deg, var(--surface-2), var(--surface-2) 6px, var(--surface) 6px, var(--surface) 12px);opacity:.6}.cal-cell-click{cursor:pointer;transition:background .12s,box-shadow .12s}.cal-cell-click:hover{background:var(--hover);box-shadow:inset 0 0 0 1px var(--tint-blue-fg)}.cal-cell-click:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;z-index:1}.cal-daynum{align-self:flex-start;min-width:22px;font-size:13px;font-weight:700;line-height:22px}.cal-cell-today{box-shadow:inset 0 0 0 2px var(--tint-blue-fg);background:var(--tint-blue-bg)}.cal-cell-today .cal-daynum{background:var(--tint-blue-fg);color:var(--surface);border-radius:999px;padding:0 8px}.cal-cell-body{flex-direction:column;gap:4px;min-width:0;display:flex}.cal-chip{border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:2px 8px;font-size:11.5px;font-weight:700;line-height:18px;display:inline-flex}.cal-chip-dot{border-radius:50%;flex:none;width:8px;height:8px;display:none}.cal-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-chip-strong{box-shadow:inset 0 0 0 1px}.cal-more{color:var(--tint-blue-fg);text-align:left;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:11.5px;font-weight:700}.cal-sub{color:var(--muted);font-size:11.5px;line-height:1.3}.cal-legend{flex-wrap:wrap;gap:8px 16px;margin:0 0 14px;display:flex}.cal-legend-item{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.cal-swatch{min-width:26px;height:22px;box-shadow:none;border:1px solid #0000;border-radius:7px;place-items:center;padding:0 5px;font-size:11px;font-weight:800;display:inline-grid}.cal-summary{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.cal-summary-item{border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.cal-summary-item b{margin-inline-end:2px;font-weight:800}.cal-tile{cursor:pointer;border:0;border-radius:8px;place-items:center;width:30px;height:28px;padding:0;font-size:11px;font-weight:800;transition:transform .1s,box-shadow .1s;display:inline-grid}.cal-tile:hover{transform:translateY(-1px);box-shadow:0 4px 10px -4px #0f111559}.cal-th{text-align:center;line-height:1.15;padding:8px 4px!important}.cal-th small{letter-spacing:.04em;text-transform:uppercase;opacity:.8;font-size:10px;font-weight:700;display:block}.cal-th b{font-size:13px;font-weight:800;display:block}.modern-table .ant-table-thead>tr>th.cal-th-off{color:var(--tint-purple-fg)}.modern-table .ant-table-thead>tr>th.cal-th-today{background:var(--tint-blue-bg);color:var(--tint-blue-fg)}.modern-table .ant-table-tbody>tr>td.cal-td-off{background:var(--surface-2)}.modern-table .ant-table-tbody>tr>td.cal-td-today{background:var(--tint-blue-bg)}.modern-table .ant-table-tbody>tr>td.cal-td{text-align:center;padding:8px 4px}@media (width<=768px){.cal-cell{min-height:74px;padding:6px 4px 4px}.cal-title{font-size:17px}.cal-weekday{padding:8px 2px}.cal-weekday-long{display:none}.cal-weekday-short{display:inline}.cal-chip{padding:0;background:0 0!important}.cal-chip-dot{display:inline-block}.cal-chip-text{display:none}.cal-cell-body{flex-flow:wrap;gap:4px}.cal-sub,.cal-nav .ant-picker{display:none}}.ant-picker-dropdown .ant-picker-panel-container{border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 24px 50px -24px #0f111559}.ant-picker-dropdown .ant-picker-header{padding:6px 12px}.ant-picker-dropdown .ant-picker-header-view button{color:var(--ink);font-weight:800}.ant-picker-dropdown .ant-picker-content th{color:var(--muted);font-size:12px;font-weight:700}.ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner{border-radius:10px;min-width:28px;height:28px;line-height:28px}.ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--tint-blue-fg);border-radius:10px}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{font-weight:800}.ant-picker-dropdown .ant-picker-footer{border-top-color:var(--line)}
