:root{color-scheme:dark;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;background:#071018;font-synthesis:none;text-rendering:optimizeLegibility;--gv-font-display: "DIN Alternate", "Avenir Next Condensed", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#071018}.monitor-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.55fr);gap:16px;align-items:start}.rule-editor-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:12px}.rule-tree-pane,.rule-node-pane{border:1px solid var(--gv-border);border-radius:6px;padding:12px;background:var(--gv-surface)}.monitor-response-preview{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--gv-border);border-radius:6px;padding:12px;margin:0}@media (max-width: 1100px){.monitor-editor-grid,.rule-editor-grid{grid-template-columns:1fr}}.admin-shell,.login-screen{--gv-accent: #1fe6d6;--gv-accent-blue: #3f8cff;--gv-accent-green: #4ade80;--gv-bg: #071018;--gv-bg-strong: #050b12;--gv-surface: rgba(12, 23, 34, .92);--gv-surface-strong: rgba(14, 30, 43, .96);--gv-surface-soft: rgba(31, 230, 214, .08);--gv-border: rgba(109, 230, 255, .16);--gv-border-strong: rgba(31, 230, 214, .36);--gv-text: #e6f7ff;--gv-text-muted: #8fb4c7;--gv-shadow: 0 24px 70px rgba(0, 0, 0, .34)}.admin-shell-light,.login-screen-light{color-scheme:light;--gv-accent: #007a88;--gv-accent-blue: #2563eb;--gv-accent-green: #16a34a;--gv-bg: #eef5f8;--gv-bg-strong: #ddebf0;--gv-surface: rgba(251, 253, 255, .92);--gv-surface-strong: rgba(255, 255, 255, .97);--gv-surface-soft: rgba(0, 122, 136, .08);--gv-border: rgba(0, 95, 115, .15);--gv-border-strong: rgba(0, 122, 136, .28);--gv-text: #102432;--gv-text-muted: #597080;--gv-shadow: 0 24px 70px rgba(15, 56, 70, .12)}.admin-shell{min-height:100vh;color:var(--gv-text);background:linear-gradient(rgba(31,230,214,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(63,140,255,.05) 1px,transparent 1px),linear-gradient(135deg,var(--gv-bg-strong),var(--gv-bg) 46%,#0b1620);background-size:42px 42px,42px 42px,auto}.admin-sider.ant-layout-sider{overflow:hidden;background:linear-gradient(180deg,rgba(31,230,214,.1),transparent 28%),linear-gradient(180deg,var(--gv-bg-strong),rgba(8,17,25,.96));border-right:1px solid var(--gv-border);box-shadow:18px 0 42px #00000038}.admin-shell-light .admin-sider.ant-layout-sider{background:linear-gradient(180deg,rgba(0,122,136,.1),transparent 34%),linear-gradient(180deg,#fffffff5,#e7f3f7f5);box-shadow:18px 0 42px #0f384614}.brand-mark{height:58px;display:flex;align-items:center;gap:10px;padding:0 16px;color:var(--gv-text);font-family:var(--gv-font-display);font-size:16px;font-weight:800;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase}.brand-mark:before{width:24px;height:24px;content:"";display:inline-block;flex:0 0 auto;border:1px solid var(--gv-border-strong);border-radius:6px;background:linear-gradient(135deg,transparent 46%,var(--gv-accent) 47% 55%,transparent 56%),linear-gradient(45deg,var(--gv-accent-blue),var(--gv-accent));box-shadow:0 0 22px #1fe6d657}.admin-header{height:62px;padding:0 18px;background:color-mix(in srgb,var(--gv-surface-strong) 88%,transparent);border-bottom:1px solid var(--gv-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 34px #0000001f}.admin-header-main{min-width:0;flex:1 1 auto}.admin-header-main>.ant-space-item:last-child{min-width:0}.admin-header-actions{flex:0 0 auto}.header-title-block{min-width:0;max-width:min(420px,34vw)}.header-breadcrumb{display:block;font-size:13px;line-height:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-breadcrumb ol{display:flex;flex-wrap:nowrap;min-width:0}.header-breadcrumb li{min-width:0;white-space:nowrap}.header-breadcrumb li:last-child{overflow:hidden;text-overflow:ellipsis}.header-breadcrumb .ant-breadcrumb-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.icon-button,.user-menu{border:0;background:transparent;color:inherit;cursor:pointer;height:34px;display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:0 10px;transition:background-color .2s ease,box-shadow .2s ease,color .2s ease}.icon-button:hover,.user-menu:hover{color:var(--gv-accent);background:var(--gv-surface-soft);box-shadow:inset 0 0 0 1px var(--gv-border)}.timezone-select{min-width:170px}.tab-strip{height:42px;padding:5px 10px 0;background:color-mix(in srgb,var(--gv-surface) 90%,transparent);border-bottom:1px solid var(--gv-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;gap:8px;align-items:center;overflow:hidden}.tab-strip .ant-tabs{flex:1;min-width:0}.tab-strip .ant-tabs-nav{margin:0}.tab-label{display:inline-flex;align-items:center;gap:4px}.tab-actions-button.ant-btn{flex:0 0 28px;width:28px;height:28px;min-width:28px}.admin-content{position:relative;min-height:calc(100vh - 104px);padding:18px;background:linear-gradient(rgba(31,230,214,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(63,140,255,.04) 1px,transparent 1px),transparent;background-size:38px 38px}.tab-progress{position:absolute;top:0;left:0;height:3px;width:0;opacity:0;background:linear-gradient(90deg,var(--gv-accent-blue),var(--gv-accent),var(--gv-accent-green));box-shadow:0 0 16px #1fe6d68a;transition:width .35s ease,opacity .25s ease,background-color .2s ease}.tab-progress-running{opacity:1;animation:progress-advance 10s linear forwards}.tab-progress-finishing{width:100%;opacity:0;animation:progress-complete .2s linear forwards;transition:opacity .15s ease .2s}.tab-progress-error{width:100%;opacity:1;background:var(--ant-color-error);box-shadow:0 0 16px color-mix(in srgb,var(--ant-color-error) 45%,transparent);animation:progress-complete .2s linear forwards}.api-error-toast-stack{--api-error-toast-bg: linear-gradient(135deg, rgba(255, 92, 122, .24), rgba(50, 13, 23, .98));--api-error-toast-border: rgba(255, 92, 122, .54);--api-error-toast-text: #ffeef2;--api-error-toast-muted: rgba(255, 238, 242, .74);--api-error-toast-icon-bg: rgba(255, 92, 122, .18);--api-error-toast-shadow: 0 18px 46px rgba(9, 1, 5, .42), 0 0 0 1px rgba(255, 255, 255, .04) inset;position:fixed;z-index:2000;top:24px;right:24px;width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;pointer-events:none}.api-error-toast-stack-light{--api-error-toast-bg: linear-gradient(135deg, #fff5f5, #ffe1e7 58%, #ffd5df);--api-error-toast-border: rgba(220, 38, 38, .34);--api-error-toast-text: #5f1016;--api-error-toast-muted: rgba(95, 16, 22, .68);--api-error-toast-icon-bg: rgba(220, 38, 38, .1);--api-error-toast-shadow: 0 18px 44px rgba(127, 29, 29, .16), 0 0 0 1px rgba(255, 255, 255, .58) inset}.api-error-toast{pointer-events:auto;position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;overflow:hidden;padding:12px;color:var(--api-error-toast-text);background:var(--api-error-toast-bg);border:1px solid var(--api-error-toast-border);border-left:3px solid #ff5c7a;border-radius:6px;box-shadow:var(--api-error-toast-shadow);animation:api-error-toast-in .22s ease both}.api-error-toast:after{position:absolute;right:12px;bottom:9px;width:44px;height:12px;content:"";opacity:.28;background:linear-gradient(90deg,#ff5c7a,transparent 1px) 0 0 / 8px 100%,linear-gradient(var(--api-error-toast-border),var(--api-error-toast-border)) 0 100% / 100% 1px no-repeat}.api-error-toast-leave{pointer-events:none;animation:api-error-toast-out .18s ease both}.api-error-toast-icon{width:34px;height:34px;display:grid;place-items:center;color:#ff5c7a;background:var(--api-error-toast-icon-bg);border:1px solid var(--api-error-toast-border);border-radius:6px;font-size:18px}.api-error-toast-body{min-width:0}.api-error-toast-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.api-error-toast-title{min-width:0;display:flex;align-items:center;gap:6px;color:var(--api-error-toast-text);font-family:var(--gv-font-display);font-size:14px;font-weight:800;letter-spacing:.03em}.api-error-toast-count{flex:0 0 auto;min-width:24px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;color:var(--api-error-toast-text);background:var(--api-error-toast-icon-bg);border:1px solid var(--api-error-toast-border);border-radius:999px;font-family:SFMono-Regular,Cascadia Code,Menlo,monospace;font-size:11px;letter-spacing:0}.api-error-toast-close.ant-btn{flex:0 0 24px;width:24px;height:24px;min-width:24px;color:var(--api-error-toast-muted)}.api-error-toast-close.ant-btn:hover{color:var(--api-error-toast-text);background:var(--api-error-toast-icon-bg)}.api-error-toast-message{display:-webkit-box;overflow:hidden;margin-top:4px;color:var(--api-error-toast-text);font-size:13px;line-height:1.55;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical}.api-error-toast-meta{margin-top:5px;color:var(--api-error-toast-muted);font-family:SFMono-Regular,Cascadia Code,Menlo,monospace;font-size:11px}@keyframes api-error-toast-in{0%{opacity:0;transform:translate(12px) translateY(-4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes api-error-toast-out{0%{opacity:1;transform:translate(0) translateY(0)}to{opacity:0;transform:translate(8px) translateY(-5px)}}@keyframes progress-advance{0%{width:0}15%{width:70%}30%{width:84%}50%{width:92%}80%{width:97%}to{width:99%}}@keyframes progress-complete{0%{width:99%}to{width:100%}}.page-stack{display:flex;flex-direction:column;gap:14px;animation:page-in .28s ease both}.page-title-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px}.page-title-row .ant-typography{margin:0}.page-title-row h1.ant-typography,.page-title-row h2.ant-typography,.page-title-row h3.ant-typography{font-family:var(--gv-font-display);letter-spacing:.03em}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:var(--gv-surface);border:1px solid var(--gv-border);border-radius:6px;box-shadow:var(--gv-shadow)}.toolbar-search{width:260px}.filter-control{width:220px}.range-filter{width:280px}.admin-list-table .ant-table-cell{white-space:nowrap}.admin-list-table{--admin-list-fixed-bg: #0c1722;--admin-list-fixed-hover-bg: #0e2830;--admin-list-header-bg: #0f2230}.admin-shell-light .admin-list-table{--admin-list-fixed-bg: #fbfdff;--admin-list-fixed-hover-bg: #f0f8f9;--admin-list-header-bg: #e9f4f7}.admin-list-table .ant-table-thead>tr>th{background:var(--admin-list-header-bg)}.admin-list-table .ant-table-tbody>tr>td.ant-table-cell-fix-left,.admin-list-table .ant-table-tbody>tr>td.ant-table-cell-fix-right{background:var(--admin-list-fixed-bg);z-index:2}.admin-list-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.admin-list-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right,.admin-list-table .ant-table-tbody>tr>td.ant-table-cell-fix-left.ant-table-cell-row-hover,.admin-list-table .ant-table-tbody>tr>td.ant-table-cell-fix-right.ant-table-cell-row-hover{background:var(--admin-list-fixed-hover-bg)}.admin-list-table .ant-table-thead>tr>th.ant-table-cell-fix-left,.admin-list-table .ant-table-thead>tr>th.ant-table-cell-fix-right{background:var(--admin-list-header-bg);z-index:3}.metric-panel{position:relative;overflow:hidden;min-height:118px;background:linear-gradient(135deg,var(--gv-surface-strong),var(--gv-surface)),linear-gradient(90deg,var(--gv-accent),transparent);border:1px solid var(--gv-border);border-radius:6px;padding:20px;box-shadow:var(--gv-shadow)}.metric-panel:after{position:absolute;right:14px;bottom:12px;width:58px;height:20px;content:"";opacity:.44;background:linear-gradient(90deg,var(--gv-accent),transparent 1px) 0 0 / 9px 100%,linear-gradient(var(--gv-accent-blue),var(--gv-accent-blue)) 0 100% / 100% 1px no-repeat}.appointment-console .ant-table-wrapper .ant-table{border-top:2px solid color-mix(in srgb,var(--gv-accent) 54%,transparent)}.appointment-console .page-title-row{align-items:flex-end}.appointment-console .ant-typography-secondary{color:var(--gv-text-muted)}.appointment-inline-alert{margin:0 0 16px}.appointment-editor-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:14px;align-items:start}.appointment-editor-panel{padding:16px;background:var(--gv-surface);border:1px solid var(--gv-border);border-radius:6px;box-shadow:var(--gv-shadow)}.appointment-editor-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.appointment-section-title{grid-column:1 / -1;display:flex;align-items:center;gap:8px;height:30px;margin-bottom:12px;color:var(--gv-text);font-family:var(--gv-font-display);font-weight:800;letter-spacing:.03em}.appointment-section-title:after{flex:1;height:1px;content:"";background:linear-gradient(90deg,var(--gv-border-strong),transparent)}.appointment-editor-side{position:sticky;top:18px}.department-tree-box{height:438px;overflow:hidden;padding:8px;background:linear-gradient(rgba(31,230,214,.035) 1px,transparent 1px),color-mix(in srgb,var(--gv-bg-strong) 74%,transparent);background-size:22px 22px;border:1px solid var(--gv-border);border-radius:6px}.department-tree-box .ant-tree{background:transparent}.department-tree-box-empty{display:grid;place-items:center}.appointment-descriptions{margin-bottom:16px}.json-preview{max-height:360px;overflow:auto;margin:8px 0 18px;padding:12px;color:var(--gv-text);background:linear-gradient(rgba(31,230,214,.05) 1px,transparent 1px),color-mix(in srgb,var(--gv-bg-strong) 88%,transparent);background-size:18px 18px;border:1px solid var(--gv-border);border-radius:6px;font-family:SFMono-Regular,Cascadia Code,Menlo,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.department-cache-content.ant-space{height:100%;min-height:0;display:flex;flex-direction:column}.department-cache-content .ant-space-item:last-child{flex:1 1 auto;min-height:0;display:flex}.department-cache-preview.json-preview{flex:1 1 auto;width:100%;max-height:none;min-height:0;margin-bottom:0}.full-width{width:100%}.login-screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;color:var(--gv-text);background:linear-gradient(rgba(31,230,214,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(63,140,255,.05) 1px,transparent 1px),linear-gradient(135deg,var(--gv-bg-strong),var(--gv-bg) 52%,#0d1b26);background-size:48px 48px,48px 48px,auto}.login-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background:linear-gradient(112deg,transparent 0 42%,rgba(31,230,214,.14) 42.2%,transparent 42.8%),linear-gradient(150deg,transparent 0 58%,rgba(63,140,255,.12) 58.2%,transparent 58.8%)}.login-screen-light{background:linear-gradient(rgba(0,122,136,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px),linear-gradient(135deg,#dcecf1,#eef7fa 52%,#fff);background-size:48px 48px,48px 48px,auto}.login-panel{position:relative;z-index:1;width:min(420px,calc(100vw - 32px));background:var(--gv-surface-strong);border:1px solid var(--gv-border-strong);border-radius:6px;padding:30px;box-shadow:var(--gv-shadow),inset 0 1px #ffffff0d}.login-panel:before{display:block;width:56px;height:4px;margin-bottom:18px;content:"";background:linear-gradient(90deg,var(--gv-accent),var(--gv-accent-blue));box-shadow:0 0 18px #1fe6d66b}.login-panel h1.ant-typography,.login-panel h2.ant-typography{font-family:var(--gv-font-display);letter-spacing:.05em}.login-panel .ant-alert{margin-bottom:16px}.login-locale{position:absolute;z-index:1;top:18px;right:18px;width:120px}.route-loading{min-height:100vh;display:grid;place-items:center}.preference-form{max-width:420px;background:var(--gv-surface);border:1px solid var(--gv-border);border-radius:6px;padding:20px;box-shadow:var(--gv-shadow)}.ant-layout .ant-menu{background:transparent;border-inline-end:0}.admin-sider .ant-menu{padding:8px}.admin-sider .ant-menu-item,.admin-sider .ant-menu-submenu-title{margin-inline:0;width:100%;color:var(--gv-text-muted);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.admin-sider .ant-menu-item:hover,.admin-sider .ant-menu-submenu-title:hover{color:var(--gv-text);background:var(--gv-surface-soft)}.admin-sider .ant-menu-item-selected{color:var(--gv-text);background:linear-gradient(90deg,#1fe6d62e,#3f8cff1a);box-shadow:inset 3px 0 0 var(--gv-accent),0 0 22px #1fe6d61a}.ant-btn-primary{background:linear-gradient(135deg,var(--gv-accent-blue),var(--gv-accent));border-color:transparent;color:#031018;font-weight:700}.ant-btn-primary:hover{filter:saturate(1.1) brightness(1.06)}.admin-shell-light .ant-btn-primary,.login-screen-light .ant-btn-primary{background:linear-gradient(135deg,#e8fafcf5,#d0f1f6f5);border-color:#168b9757;color:#075866;box-shadow:0 8px 18px #0f56651f}.admin-shell-light .ant-btn-primary:hover,.login-screen-light .ant-btn-primary:hover{background:linear-gradient(135deg,#f5fdfe,#d9f5f8);border-color:#168b977a;color:#064c58;filter:none}.ant-table-wrapper,.ant-card,.ant-modal-content,.ant-drawer-content{border-radius:6px}.ant-table-wrapper .ant-table{background:var(--gv-surface-strong);border:1px solid var(--gv-border);border-radius:6px;box-shadow:var(--gv-shadow)}.ant-table-wrapper .ant-table-thead>tr>th{font-family:var(--gv-font-display);letter-spacing:.03em;text-transform:uppercase}.ant-table-wrapper .ant-table-tbody>tr>td{border-color:var(--gv-border)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number,.ant-segmented{border-color:var(--gv-border);box-shadow:none}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select-selector:hover,.ant-picker:hover,.ant-input-number:hover{border-color:var(--gv-border-strong)}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{border-color:var(--gv-border);background:color-mix(in srgb,var(--gv-surface) 78%,transparent)}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab-active{background:var(--gv-surface-strong);box-shadow:inset 0 2px 0 var(--gv-accent)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 860px){.api-error-toast-stack{top:14px;right:16px}.appointment-editor-layout,.appointment-editor-main{grid-template-columns:1fr}.appointment-editor-side{position:static}.admin-header{height:auto;min-height:56px;align-items:flex-start;padding-block:10px;flex-direction:column}.admin-header-main,.admin-header-actions,.header-title-block{width:100%;max-width:100%}.admin-header-actions{flex-wrap:wrap}.timezone-select,.toolbar-search,.filter-control,.range-filter{width:100%}.admin-content{padding:12px}.tab-strip{height:auto;min-height:42px}}
