:root{--ds-font-family-sans: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ds-font-size-xs: 12px;--ds-font-size-sm: 14px;--ds-font-size-md: 16px;--ds-font-size-lg: 18px;--ds-font-size-xl: 24px;--ds-font-size-2xl: 32px;--ds-font-line-body: 1.5;--ds-font-line-heading: 1.25;--ds-font-weight-regular: 400;--ds-font-weight-medium: 500;--ds-font-weight-semibold: 600;--ds-font-weight-bold: 700;--ds-space-0: 0px;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-10: 40px;--ds-space-12: 48px;--ds-radius-sm: 6px;--ds-radius-md: 10px;--ds-radius-lg: 14px;--ds-radius-xl: 20px;--ds-radius-pill: 999px;--ds-radius-circle: 50%;--ds-motion-fast: .15s;--ds-motion-normal: .22s;--ds-motion-slow: .32s;--ds-motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--ds-size-control-sm: 36px;--ds-size-control-md: 44px;--ds-size-control-lg: 52px;--ds-size-icon-sm: 16px;--ds-size-icon-md: 20px;--ds-size-icon-lg: 24px;--ds-size-touch: 48px;--ds-layout-page-narrow: 960px;--ds-layout-page-default: 1200px;--ds-layout-page-wide: 1480px;--ds-layout-gutter-mobile: 16px;--ds-layout-gutter-tablet: 24px;--ds-layout-gutter-desktop: 32px;--ds-layout-section-gap: 24px;--ds-opacity-disabled: .48;--ds-opacity-muted: .72;--ds-elevation-subtle: 1px;--ds-elevation-card: 12px;--ds-layer-base: 0;--ds-layer-content: 10;--ds-layer-sticky: 40;--ds-layer-dropdown: 100;--ds-layer-overlay: 200;--ds-layer-modal: 400;--ds-layer-toast: 600;--ds-layer-critical: 1000;--ds-breakpoint-phone: 375px;--ds-breakpoint-tablet: 768px;--ds-breakpoint-desktop: 1024px;--ds-breakpoint-wide: 1440px;--ds-type-body-small-font-size: 12px;--ds-type-body-small-line-height: 18px;--ds-type-body-small-font-weight: 400;--ds-type-body-medium-font-size: 14px;--ds-type-body-medium-line-height: 21px;--ds-type-body-medium-font-weight: 400;--ds-type-body-large-font-size: 16px;--ds-type-body-large-line-height: 24px;--ds-type-body-large-font-weight: 400;--ds-type-label-medium-font-size: 14px;--ds-type-label-medium-line-height: 20px;--ds-type-label-medium-font-weight: 600;--ds-type-title-small-font-size: 18px;--ds-type-title-small-line-height: 23px;--ds-type-title-small-font-weight: 600;--ds-type-title-medium-font-size: 24px;--ds-type-title-medium-line-height: 30px;--ds-type-title-medium-font-weight: 700;--ds-type-display-small-font-size: 32px;--ds-type-display-small-line-height: 40px;--ds-type-display-small-font-weight: 700;--ds-color-canvas: #f4f6fa;--ds-color-surface: #ffffff;--ds-color-surface-muted: #f2f4f7;--ds-color-surface-strong: #e6ebf2;--ds-color-control: #eef2f7;--ds-color-control-hover: #e5eaf1;--ds-color-text: #172033;--ds-color-text-muted: #667085;--ds-color-text-subtle: #98a2b3;--ds-color-border: rgba(15, 23, 42, .12);--ds-color-border-strong: rgba(15, 23, 42, .2);--ds-color-hover: rgba(15, 23, 42, .06);--ds-color-active: rgba(0, 122, 255, .12);--ds-color-primary: #0a84ff;--ds-color-primary-hover: #006fd6;--ds-color-primary-soft: rgba(10, 132, 255, .12);--ds-color-on-primary: #ffffff;--ds-color-danger: #d92d20;--ds-color-danger-soft: rgba(217, 45, 32, .1);--ds-color-success: #1f9d55;--ds-color-success-soft: rgba(31, 157, 85, .1);--ds-color-warning: #b76e00;--ds-color-warning-soft: rgba(183, 110, 0, .12);--ds-color-info: #175cd3;--ds-color-info-soft: rgba(23, 92, 211, .1);--ds-color-scrim: rgba(15, 23, 42, .42);--ds-color-panel: rgba(255, 255, 255, .92);--ds-color-media: #050505;--ds-color-focus: rgba(10, 132, 255, .42);--ds-color-shadow-subtle: 0px 1px 2px 0px rgba(15, 23, 42, .08);--ds-color-shadow-card: 0px 12px 32px 0px rgba(15, 23, 42, .12)}:root[data-theme=dark],[data-theme=dark]{--ds-color-canvas: #000000;--ds-color-surface: #1c1c1e;--ds-color-surface-muted: #2c2c2e;--ds-color-surface-strong: #333333;--ds-color-control: rgba(255, 255, 255, .06);--ds-color-control-hover: rgba(255, 255, 255, .1);--ds-color-text: #ffffff;--ds-color-text-muted: #a8a8ad;--ds-color-text-subtle: #8e8e93;--ds-color-border: rgba(255, 255, 255, .1);--ds-color-border-strong: rgba(255, 255, 255, .2);--ds-color-hover: rgba(255, 255, 255, .08);--ds-color-active: #333333;--ds-color-primary: #409cff;--ds-color-primary-hover: #6aafff;--ds-color-primary-soft: rgba(64, 156, 255, .18);--ds-color-on-primary: #ffffff;--ds-color-danger: #ff6961;--ds-color-danger-soft: rgba(255, 105, 97, .14);--ds-color-success: #4cd964;--ds-color-success-soft: rgba(76, 217, 100, .12);--ds-color-warning: #ffb340;--ds-color-warning-soft: rgba(255, 179, 64, .14);--ds-color-info: #75b8ff;--ds-color-info-soft: rgba(117, 184, 255, .16);--ds-color-scrim: rgba(0, 0, 0, .62);--ds-color-panel: rgba(28, 28, 30, .9);--ds-color-media: #000000;--ds-color-focus: rgba(64, 156, 255, .52);--ds-color-shadow-subtle: 0px 1px 2px 0px rgba(0, 0, 0, .28);--ds-color-shadow-card: 0px 16px 38px 0px rgba(0, 0, 0, .34)}.ds-skip-link{position:fixed;top:var(--ds-space-3);left:var(--ds-space-3);z-index:var(--ds-layer-critical);padding:var(--ds-space-2) var(--ds-space-4);color:var(--ds-color-on-primary);font-weight:var(--ds-font-weight-semibold);background:var(--ds-color-primary);border-radius:var(--ds-radius-md);transform:translateY(calc(-100% - var(--ds-space-6)));transition:transform var(--ds-motion-fast) var(--ds-motion-ease-standard)}.ds-skip-link:focus{transform:translateY(0)}:where(button,a,input,select,textarea,[role=button],[role=tab]):focus-visible{outline:3px solid var(--ds-color-focus);outline-offset:2px}.ds-route-content{min-width:0;min-height:100%}.ds-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;white-space:nowrap!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}:root{font-family:var(--ds-font-family-sans);line-height:var(--ds-font-line-body);font-weight:var(--ds-font-weight-regular);margin:0;padding:0;width:100%;height:100%;color-scheme:light;--app-bg: var(--ds-color-canvas);--app-bg-elevated: var(--ds-color-surface);--app-sidebar-bg: var(--ds-color-surface);--app-header-bg: var(--ds-color-panel);--app-surface: var(--ds-color-surface);--app-surface-2: var(--ds-color-surface-muted);--app-surface-3: var(--ds-color-surface-strong);--app-control-bg: var(--ds-color-control);--app-control-bg-hover: var(--ds-color-control-hover);--app-text: var(--ds-color-text);--app-text-muted: var(--ds-color-text-muted);--app-text-subtle: var(--ds-color-text-subtle);--app-border: var(--ds-color-border);--app-border-strong: var(--ds-color-border-strong);--app-hover-bg: var(--ds-color-hover);--app-active-bg: var(--ds-color-active);--app-accent: var(--ds-color-primary);--app-accent-hover: var(--ds-color-primary-hover);--app-accent-soft: var(--ds-color-primary-soft);--app-danger: var(--ds-color-danger);--app-danger-soft: var(--ds-color-danger-soft);--app-success: var(--ds-color-success);--app-success-soft: var(--ds-color-success-soft);--app-warning: var(--ds-color-warning);--app-warning-soft: var(--ds-color-warning-soft);--app-on-accent: var(--ds-color-on-primary);--app-overlay-bg: var(--ds-color-scrim);--app-panel-bg: var(--ds-color-panel);--app-code-bg: var(--ds-color-control);--app-code-text: #344054;--app-media-bg: var(--ds-color-media);--app-scrollbar: rgba(15, 23, 42, .2);--app-scrollbar-hover: rgba(15, 23, 42, .32);--app-subtle-shadow: var(--ds-color-shadow-subtle);--app-card-shadow: var(--ds-color-shadow-card);--app-card-grid-min: 280px;--app-card-grid-gap: var(--ds-space-4)}:root[data-theme=dark]{color-scheme:dark;--app-bg: var(--ds-color-canvas);--app-bg-elevated: var(--ds-color-surface-muted);--app-sidebar-bg: var(--ds-color-surface);--app-header-bg: var(--ds-color-surface);--app-surface: var(--ds-color-surface);--app-surface-2: var(--ds-color-surface-muted);--app-surface-3: var(--ds-color-surface-strong);--app-control-bg: var(--ds-color-control);--app-control-bg-hover: var(--ds-color-control-hover);--app-text: var(--ds-color-text);--app-text-muted: var(--ds-color-text-muted);--app-text-subtle: var(--ds-color-text-subtle);--app-border: var(--ds-color-border);--app-border-strong: var(--ds-color-border-strong);--app-hover-bg: var(--ds-color-hover);--app-active-bg: var(--ds-color-active);--app-accent: var(--ds-color-primary);--app-accent-hover: var(--ds-color-primary-hover);--app-accent-soft: var(--ds-color-primary-soft);--app-danger: var(--ds-color-danger);--app-danger-soft: var(--ds-color-danger-soft);--app-success: var(--ds-color-success);--app-success-soft: var(--ds-color-success-soft);--app-warning: var(--ds-color-warning);--app-warning-soft: var(--ds-color-warning-soft);--app-on-accent: var(--ds-color-on-primary);--app-overlay-bg: var(--ds-color-scrim);--app-panel-bg: var(--ds-color-panel);--app-code-bg: #0d0d0e;--app-code-text: #d4d4d8;--app-media-bg: var(--ds-color-media);--app-scrollbar: rgba(255, 255, 255, .16);--app-scrollbar-hover: rgba(255, 255, 255, .28);--app-subtle-shadow: var(--ds-color-shadow-subtle);--app-card-shadow: var(--ds-color-shadow-card)}body .tab-content:has(.notification-panel),body .tab-content:has(.rectification-panel),body .tab-content:has(.attachment-controls){max-width:none;margin-right:0;margin-left:0}body{margin:0;padding:0;width:100%;height:100%;overflow:auto;color:var(--app-text);background:var(--app-bg);transition:background-color var(--ds-motion-normal) var(--ds-motion-ease-standard),color var(--ds-motion-normal) var(--ds-motion-ease-standard)}#app{width:100%;height:100%}button,select,input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=color],input[type=range],input[type=checkbox],input[type=radio],[role=button],[role=tab]{user-select:none;-webkit-user-select:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{caret-color:transparent}input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,input[type=month]::-webkit-datetime-edit,input[type=month]::-webkit-datetime-edit-fields-wrapper,input[type=time]::-webkit-datetime-edit,input[type=time]::-webkit-datetime-edit-fields-wrapper{user-select:none;-webkit-user-select:none}.map-wrapper.expanded{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none!important}.map-wrapper.expanded .map-shell.expanded{pointer-events:auto!important}html[data-theme=light] body .page,html[data-theme=light] body .content-area,html[data-theme=light] body .library-fixed{color:var(--app-text);background:var(--app-bg)}html[data-theme=light] body .header,html[data-theme=light] body .sidebar,html[data-theme=light] body .settings-panel,html[data-theme=light] body .annotation-panel,html[data-theme=light] body .share-panel,html[data-theme=light] body .share-modal,html[data-theme=light] body .detail-modal,html[data-theme=light] body .attachment-modal,html[data-theme=light] body .issue-popover{color:var(--app-text);background:var(--app-panel-bg);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .side-header,html[data-theme=light] body .side-footer,html[data-theme=light] body .panel-header,html[data-theme=light] body .library-hero,html[data-theme=light] body .share-modal-header{border-color:var(--app-border)}html[data-theme=light] body .project-card,html[data-theme=light] body .stat-pill,html[data-theme=light] body .search-box,html[data-theme=light] body .sort-tabs,html[data-theme=light] body .unit-tab,html[data-theme=light] body .sort-tab,html[data-theme=light] body .floor-card,html[data-theme=light] body .file-card,html[data-theme=light] body .order-card,html[data-theme=light] body .setting-card,html[data-theme=light] body .radio-item,html[data-theme=light] body .share-level-option,html[data-theme=light] body .dur-btn,html[data-theme=light] body .floor-select,html[data-theme=light] body .project-select,html[data-theme=light] body .form-select,html[data-theme=light] body .desc-input,html[data-theme=light] body .comment-input{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .project-card:hover,html[data-theme=light] body .unit-tab:hover,html[data-theme=light] body .sort-tab:hover,html[data-theme=light] body .radio-item:hover,html[data-theme=light] body .share-level-option:hover,html[data-theme=light] body .dur-btn:hover{color:var(--app-text);background:var(--app-hover-bg);border-color:var(--app-border-strong)}html[data-theme=light] body .side-item,html[data-theme=light] body .user-role,html[data-theme=light] body .page-kicker,html[data-theme=light] body .sort-label,html[data-theme=light] body .status-text,html[data-theme=light] body .setting-label,html[data-theme=light] body .range-labels,html[data-theme=light] body .user-entry,html[data-theme=light] body .meta-tag,html[data-theme=light] body .file-meta,html[data-theme=light] body .order-people,html[data-theme=light] body .card-time{color:var(--app-text-muted)}html[data-theme=light] body .nav-title,html[data-theme=light] body .section-title,html[data-theme=light] body .panel-title,html[data-theme=light] body .user-name,html[data-theme=light] body .hero-copy h1,html[data-theme=light] body .stat-pill strong,html[data-theme=light] body .card-title,html[data-theme=light] body .order-title,html[data-theme=light] body .issue-title,html[data-theme=light] body .detail-title-row h4{color:var(--app-text)}html[data-theme=light] body .side-item:hover,html[data-theme=light] body .user-profile:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .side-item.active,html[data-theme=light] body .unit-tab.active,html[data-theme=light] body .sort-tab.active,html[data-theme=light] body .radio-item.active,html[data-theme=light] body .share-level-option.active,html[data-theme=light] body .dur-btn.active{color:var(--app-accent);background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .notification-panel .section-title,html[data-theme=light] body .notification-panel .notif-title,html[data-theme=light] body .notification-panel .candidate-modal-header h3,html[data-theme=light] body .notification-panel .candidate-desc,html[data-theme=light] body .notification-panel .form-select,html[data-theme=light] body .notification-panel .mini-btn:not(.primary),html[data-theme=light] body .notification-panel .action-btn:not(.primary),html[data-theme=light] body .project-card .card-title,html[data-theme=light] body .result-bar strong,html[data-theme=light] body .floor-card .floor-name,html[data-theme=light] body .attachment-title,html[data-theme=light] body .share-modal h3{color:var(--app-text)}html[data-theme=light] body .notification-panel .notif-content,html[data-theme=light] body .notification-panel .notif-meta,html[data-theme=light] body .notification-panel .notif-time,html[data-theme=light] body .notification-panel .group-tab,html[data-theme=light] body .notification-panel .form-row label,html[data-theme=light] body .project-card .card-meta,html[data-theme=light] body .result-bar,html[data-theme=light] body .attachment-meta,html[data-theme=light] body .floor-select-group label,html[data-theme=light] body .duration-group label,html[data-theme=light] body .share-result-url{color:var(--app-text-muted)}html[data-theme=light] body .notification-panel .notification-item,html[data-theme=light] body .notification-panel .group-tab,html[data-theme=light] body .notification-panel .candidate-modal,html[data-theme=light] body .notification-panel .candidate-desc,html[data-theme=light] body .notification-panel .form-select,html[data-theme=light] body .notification-panel .mini-btn:not(.primary),html[data-theme=light] body .notification-panel .action-btn:not(.primary){background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .notification-panel .notification-item.unread,html[data-theme=light] body .notification-panel .notification-item:hover,html[data-theme=light] body .notification-panel .group-tab.active,html[data-theme=light] body .notification-panel .action-btn.active{background:var(--app-accent-soft);border-color:#0a84ff5c}html[data-theme=light] body .notification-panel .group-tab.active,html[data-theme=light] body .notification-panel .action-btn.active{color:var(--app-accent)}html[data-theme=light] body .notification-panel .group-tab strong,html[data-theme=light] body .unit-count{color:var(--app-accent);background:#0a84ff29}html[data-theme=light] body .notification-panel .candidate-modal-header,html[data-theme=light] body .notification-panel .candidate-modal-footer,html[data-theme=light] body .detail-header{border-color:var(--app-border)}html[data-theme=light] body .notification-panel .notif-icon,html[data-theme=light] body .notification-panel .candidate-thumb.empty,html[data-theme=light] body .detail-modal .comment-item,html[data-theme=light] body .detail-modal .actions-section,html[data-theme=light] body .detail-modal .action-btn:not(.primary):not(.success):not(.warning){color:var(--app-text-muted);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .notification-panel .modal-close,html[data-theme=light] body .detail-modal .close-btn{color:var(--app-text-muted)}html[data-theme=light] body .notification-panel .modal-close:hover,html[data-theme=light] body .detail-modal .close-btn:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .detail-modal .detail-header h3,html[data-theme=light] body .detail-modal .detail-title-row h4,html[data-theme=light] body .detail-modal .info-item,html[data-theme=light] body .detail-modal .comment-content,html[data-theme=light] body .detail-modal .comment-input,html[data-theme=light] body .detail-modal .action-btn:not(.primary):not(.success):not(.warning){color:var(--app-text)}html[data-theme=light] body .detail-modal .detail-section h5,html[data-theme=light] body .detail-modal .info-label,html[data-theme=light] body .detail-modal .status-text,html[data-theme=light] body .detail-modal .comment-time,html[data-theme=light] body .detail-modal .comment-input::placeholder{color:var(--app-text-muted)}html[data-theme=light] body .detail-modal .comment-input{background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .detail-modal .comment-author{color:var(--app-accent)}html[data-theme=light] body .rectification-panel .filter-bar{background:#ffffff85;border:1px solid var(--app-border)}html[data-theme=light] body .rectification-panel .filter-group label,html[data-theme=light] body .rectification-panel .stat-label,html[data-theme=light] body .rectification-panel .page-info{color:var(--app-text-muted)}html[data-theme=light] body .rectification-panel .filter-select,html[data-theme=light] body .rectification-panel .filter-select option,html[data-theme=light] body .rectification-panel .page-btn,html[data-theme=light] body .rectification-panel .export-menu button{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .rectification-panel .filter-select:hover,html[data-theme=light] body .rectification-panel .page-btn:hover:not(:disabled),html[data-theme=light] body .rectification-panel .export-menu button:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .rectification-panel .export-menu{background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .rectification-panel .stat-card{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .rectification-panel .stat-card:hover{background:var(--app-hover-bg)}html[data-theme=light] body .rectification-panel .stat-card.active{background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .rectification-panel .stat-card .stat-num{color:var(--app-text)}html[data-theme=light] body .rectification-panel .stat-card.pending .stat-num{color:var(--app-warning)}html[data-theme=light] body .rectification-panel .stat-card.rectified .stat-num{color:#006b8f}html[data-theme=light] body .rectification-panel .stat-card.approved .stat-num{color:var(--app-success)}html[data-theme=light] body .rectification-panel .stat-card.rejected .stat-num{color:var(--app-danger)}html[data-theme=light] body .permission-card,html[data-theme=light] body .inline-modal,html[data-theme=light] body .search-results-inline{color:var(--app-text);background:var(--app-surface);border:1px solid var(--app-border);box-shadow:var(--app-subtle-shadow)}html[data-theme=light] body .permission-card{background:linear-gradient(180deg,#fff,#f8fafc)}html[data-theme=light] body .perm-icon{background:var(--app-warning-soft)}html[data-theme=light] body .perm-title,html[data-theme=light] body .member-phone,html[data-theme=light] body .inline-modal .form-row label,html[data-theme=light] body .inline-modal .status-text{color:var(--app-text-muted)}html[data-theme=light] body .perm-role,html[data-theme=light] body .manage-header h3,html[data-theme=light] body .member-name,html[data-theme=light] body .inline-modal-header h4,html[data-theme=light] body .search-result-item{color:var(--app-text)}html[data-theme=light] body .member-row{border-color:var(--app-border)}html[data-theme=light] body .role-badge{color:var(--app-accent);background:var(--app-accent-soft);border:1px solid rgba(10,132,255,.28)}html[data-theme=light] body .inline-modal-header .close-btn{color:var(--app-text-muted)}html[data-theme=light] body .inline-modal-header .close-btn:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .form-input-inline,html[data-theme=light] body .form-select-inline,html[data-theme=light] body .form-select-inline option{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .form-input-inline::placeholder{color:var(--app-text-subtle)}html[data-theme=light] body .form-input-inline:focus,html[data-theme=light] body .form-select-inline:focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px #0a84ff24}html[data-theme=light] body .search-result-item:hover{background:var(--app-accent-soft)}html[data-theme=light] body .inline-modal .status-text.success{color:var(--app-success)}html[data-theme=light] body .inline-modal .status-text.error{color:var(--app-danger)}html[data-theme=light] body .inline-modal .status-text.warning{color:var(--app-warning)}html[data-theme=light] body .create-project-modal{color:var(--app-text);background:var(--app-surface);border:1px solid var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .create-project-modal .modal-header,html[data-theme=light] body .create-project-modal .modal-footer{border-color:var(--app-border)}html[data-theme=light] body .create-project-modal .modal-header h3,html[data-theme=light] body .create-project-modal .form-section,html[data-theme=light] body .create-project-modal .section-header,html[data-theme=light] body .create-project-modal .floor-list,html[data-theme=light] body .create-project-modal .floor-item,html[data-theme=light] body .create-project-modal .floor-row,html[data-theme=light] body .create-project-modal .search-name{color:var(--app-text)}html[data-theme=light] body .create-project-modal .close-btn,html[data-theme=light] body .create-project-modal .form-label,html[data-theme=light] body .create-project-modal .cover-placeholder,html[data-theme=light] body .create-project-modal .cover-placeholder small,html[data-theme=light] body .create-project-modal .cover-meta,html[data-theme=light] body .create-project-modal .upload-zone,html[data-theme=light] body .create-project-modal .upload-zone .placeholder,html[data-theme=light] body .create-project-modal .search-phone,html[data-theme=light] body .create-project-modal .chip-remove{color:var(--app-text-muted)}html[data-theme=light] body .create-project-modal .close-btn:hover,html[data-theme=light] body .create-project-modal .chip-remove:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .create-project-modal .form-input,html[data-theme=light] body .create-project-modal .form-input.select option{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .create-project-modal .form-input::placeholder{color:var(--app-text-subtle)}html[data-theme=light] body .create-project-modal .form-input:focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px #0a84ff24}html[data-theme=light] body .create-project-modal .cover-preview,html[data-theme=light] body .create-project-modal .upload-zone{color:var(--app-text-muted);background:var(--app-surface-2);border-color:var(--app-border-strong)}html[data-theme=light] body .create-project-modal .cover-preview:hover,html[data-theme=light] body .create-project-modal .upload-zone:hover{background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .create-project-modal .search-results{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-subtle-shadow)}html[data-theme=light] body .create-project-modal .search-item:hover{background:var(--app-accent-soft)}html[data-theme=light] body .create-project-modal .member-chip{color:var(--app-accent);background:var(--app-accent-soft);border:1px solid rgba(10,132,255,.22)}html[data-theme=light] body .create-project-modal .added-tag{color:var(--app-success)}html[data-theme=light] body .create-project-modal .upload-progress{background:var(--app-surface-3)}html[data-theme=light] body .create-project-modal .btn.secondary{color:var(--app-text);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .create-project-modal .btn.secondary:hover{background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .upload-config-card,html[data-theme=light] body .file-upload-area,html[data-theme=light] body .placement-mode-panel,html[data-theme=light] body .json-import-card,html[data-theme=light] body .path-transform-panel,html[data-theme=light] body .editor-placeholder-card,html[data-theme=light] body .curve-editor,html[data-theme=light] body .point-match-editor{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-subtle-shadow)}html[data-theme=light] body .file-upload-area{border-color:var(--app-border-strong)}html[data-theme=light] body .upload-complete-card{color:var(--app-text);background:linear-gradient(135deg,#1f9d551f,#0a84ff14);border-color:#1f9d5542}html[data-theme=light] body .complete-meta-grid div,html[data-theme=light] body .selected-file-item,html[data-theme=light] body .segmented-control,html[data-theme=light] body .tool-segment,html[data-theme=light] body .preview-card,html[data-theme=light] body .candidate-item,html[data-theme=light] body .transform-value-field,html[data-theme=light] body .progress-bar-wrap,html[data-theme=light] body .project-selector,html[data-theme=light] body .search-box-inline,html[data-theme=light] body .sort-controls,html[data-theme=light] body .attachment-list-item{color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .project-selector,html[data-theme=light] body .attachment-list-item{background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-subtle-shadow)}html[data-theme=light] body .hint-text{color:#0f4f91;background:#eaf4ff;border-color:#0a84ff52;font-weight:500}html[data-theme=light] body .selected-file-item{background:#eaf2ff;border-color:#0a84ff3d;box-shadow:inset 3px 0 #0a84ff6b}html[data-theme=light] body .selected-file-item:hover{background:#dcecff;border-color:#0a84ff57}html[data-theme=light] body .complete-title,html[data-theme=light] body .complete-meta-grid strong,html[data-theme=light] body .placement-mode-title,html[data-theme=light] body .path-transform-title,html[data-theme=light] body .sub-title,html[data-theme=light] body .file-name,html[data-theme=light] body .transform-number,html[data-theme=light] body .map-title,html[data-theme=light] body .preview-name,html[data-theme=light] body .candidate-name,html[data-theme=light] body .attachment-title{color:var(--app-text)}html[data-theme=light] body .complete-meta-grid span,html[data-theme=light] body .file-label,html[data-theme=light] body .selected-files-header,html[data-theme=light] body .file-size,html[data-theme=light] body .placement-mode-desc,html[data-theme=light] body .progress-text,html[data-theme=light] body .toolbar-info,html[data-theme=light] body .map-meta,html[data-theme=light] body .preview-head,html[data-theme=light] body .candidate-status,html[data-theme=light] body .transform-label,html[data-theme=light] body .transform-value-field,html[data-theme=light] body .editor-placeholder-card,html[data-theme=light] body .selector-label,html[data-theme=light] body .attachment-meta{color:var(--app-text-muted)}html[data-theme=light] body .project-select,html[data-theme=light] body .project-select option,html[data-theme=light] body .floor-select,html[data-theme=light] body .floor-select option,html[data-theme=light] body .json-import-input,html[data-theme=light] body .transform-number{color:var(--app-text);background-color:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .search-box-inline .search-input,html[data-theme=light] body .attachment-search-input{color:var(--app-text);background:transparent;border-color:transparent}html[data-theme=light] body .project-select:hover:not(:disabled),html[data-theme=light] body .floor-select:hover:not(:disabled),html[data-theme=light] body .json-import-input:focus{color:var(--app-text);background-color:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .project-select option:checked,html[data-theme=light] body .floor-select option:checked{color:var(--app-accent);background:var(--app-accent-soft)}html[data-theme=light] body .datetime-select{color-scheme:light;color:var(--app-text)}html[data-theme=light] body .datetime-select::-webkit-datetime-edit,html[data-theme=light] body .datetime-select::-webkit-datetime-edit-fields-wrapper{color:var(--app-text)}html[data-theme=light] body .datetime-select::-webkit-calendar-picker-indicator{opacity:.72;filter:none}html[data-theme=light] body .json-import-input::placeholder,html[data-theme=light] body .search-box-inline .search-input::placeholder,html[data-theme=light] body .attachment-search-input::placeholder{color:var(--app-text-subtle)}html[data-theme=light] body .curve-editor .editor-canvas-wrap,html[data-theme=light] body .point-match-editor .map-canvas-wrap,html[data-theme=light] body .path-editor .editor-canvas-wrap{background:var(--app-surface-2);border:1px solid var(--app-border)}html[data-theme=light] body .toolbar-btn:not(.primary),html[data-theme=light] body .mini-btn:not(.primary),html[data-theme=light] body .segment-btn:not(.active),html[data-theme=light] body .transform-step-btn,html[data-theme=light] body .transform-flip-btn,html[data-theme=light] body .transform-baseline-btn,html[data-theme=light] body .sort-btn{color:var(--app-text);background:var(--app-control-bg);border-color:var(--app-border)}html[data-theme=light] body .toolbar-btn:hover:not(:disabled):not(.primary),html[data-theme=light] body .mini-btn:hover:not(:disabled):not(.primary),html[data-theme=light] body .segment-btn:hover:not(:disabled):not(.active),html[data-theme=light] body .transform-step-btn:hover:not(:disabled),html[data-theme=light] body .transform-flip-btn:hover:not(:disabled),html[data-theme=light] body .transform-baseline-btn:hover:not(:disabled),html[data-theme=light] body .sort-btn:hover{color:var(--app-text);background:var(--app-control-bg-hover)}html[data-theme=light] body .toolbar-btn.active,html[data-theme=light] body .segment-btn.active,html[data-theme=light] body .transform-flip-btn.active,html[data-theme=light] body .sort-btn.active,html[data-theme=light] body .candidate-item.active{color:var(--app-accent);background:var(--app-accent-soft);border-color:#0a84ff6b}html[data-theme=light] body .candidate-item.placed{background:var(--app-success-soft);border-color:#1f9d556b}html[data-theme=light] body .mini-btn.active{color:var(--app-success);background:var(--app-success-soft);border-color:#1f9d556b}html[data-theme=light] body .mini-btn.photo.active{color:var(--app-danger);background:var(--app-danger-soft);border-color:#d92d2061}html[data-theme=light] body .toolbar-tip{color:var(--app-warning)}html[data-theme=light] body .tile-code{color:#0f5f9f;background:#eef6ff;border:1px solid rgba(10,132,255,.16)}html[data-theme=light] body .attachment-modal{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .attachment-modal .toolbar,html[data-theme=light] body .record-modal .file-extension{border-color:var(--app-border)}html[data-theme=light] body .attachment-modal .modal-title,html[data-theme=light] body .attachment-modal .file-name,html[data-theme=light] body .record-modal .record-header h3,html[data-theme=light] body .record-modal .selected-file-main strong{color:var(--app-text)}html[data-theme=light] body .attachment-modal .filter-label,html[data-theme=light] body .attachment-modal .file-desc,html[data-theme=light] body .attachment-modal .file-meta,html[data-theme=light] body .attachment-modal .state-container,html[data-theme=light] body .record-modal .form-row label,html[data-theme=light] body .record-modal .file-picker-zone,html[data-theme=light] body .record-modal .selected-file-main span,html[data-theme=light] body .record-modal .file-extension{color:var(--app-text-muted)}html[data-theme=light] body .attachment-modal .search-box,html[data-theme=light] body .attachment-modal .file-card,html[data-theme=light] body .attachment-modal .file-icon-area,html[data-theme=light] body .record-modal,html[data-theme=light] body .record-modal .record-textarea,html[data-theme=light] body .record-modal .file-picker-zone,html[data-theme=light] body .record-modal .selected-file,html[data-theme=light] body .record-modal .name-input,html[data-theme=light] body .record-modal .name-editor{color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .record-modal{background:var(--app-surface);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .attachment-modal .file-icon-area{background:var(--app-surface-3)}html[data-theme=light] body .attachment-modal .search-input,html[data-theme=light] body .record-modal .record-textarea,html[data-theme=light] body .record-modal .name-input{color:var(--app-text)}html[data-theme=light] body .record-modal .record-textarea::placeholder,html[data-theme=light] body .record-modal .name-input::placeholder,html[data-theme=light] body .attachment-modal .search-input::placeholder{color:var(--app-text-subtle)}html[data-theme=light] body .attachment-modal .close-btn,html[data-theme=light] body .attachment-modal .record-btn,html[data-theme=light] body .attachment-modal .view-btn,html[data-theme=light] body .record-modal .close-btn,html[data-theme=light] body .record-modal .record-btn{color:var(--app-text);background:var(--app-control-bg);border-color:var(--app-border)}html[data-theme=light] body .attachment-modal .close-btn:hover,html[data-theme=light] body .attachment-modal .record-btn:hover,html[data-theme=light] body .attachment-modal .view-btn:hover,html[data-theme=light] body .record-modal .close-btn:hover,html[data-theme=light] body .record-modal .record-btn:hover{color:var(--app-text);background:var(--app-control-bg-hover)}html[data-theme=light] body .status-badge.pending{color:var(--app-warning);background:var(--app-warning-soft)}html[data-theme=light] body .status-badge.rectified{color:#006b8f;background:#006b8f1f}html[data-theme=light] body .status-badge.approved{color:var(--app-success);background:var(--app-success-soft)}html[data-theme=light] body .status-badge.rejected{color:var(--app-danger);background:var(--app-danger-soft)}html[data-theme=light] body .notification-panel .notif-icon.type-created{color:var(--app-warning);background:var(--app-warning-soft)}html[data-theme=light] body .notification-panel .notif-icon.type-submitted{color:#006b8f;background:#006b8f1f}html[data-theme=light] body .notification-panel .notif-icon.type-approved{color:var(--app-success);background:var(--app-success-soft)}html[data-theme=light] body .notification-panel .notif-icon.type-rejected{color:var(--app-danger);background:var(--app-danger-soft)}html[data-theme=light] body .notification-panel .notif-icon.type-potential{color:#7b2cbf;background:#7b2cbf1f}html[data-theme=light] body .notification-panel .mini-btn.primary,html[data-theme=light] body .notification-panel .refresh-btn.primary,html[data-theme=light] body .upload-btn,html[data-theme=light] body .refresh-btn.primary,html[data-theme=light] body .action-btn.primary,html[data-theme=light] body .generate-btn,html[data-theme=light] body .copy-btn{color:#fff}html[data-theme=light] body :is(.compare-picker-backdrop,.attachment-modal-overlay,.record-modal-overlay,.tester-overlay,.aligner-modal,.create-project-overlay){background:var(--app-overlay-bg)}html[data-theme=light] body :is(.compare-picker,.auto-audit-result-panel,.attachment-modal,.record-modal,.bim-panel,.tester-modal,.aligner-dialog,.curve-editor,.point-match-editor,.grid-editor,.pc-aligner){color:var(--app-text);background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .compare-picker{background:var(--app-panel-bg)}html[data-theme=light] body .compare-picker-subtitle,html[data-theme=light] body .compare-picker-option-meta{color:var(--app-text-muted)}html[data-theme=light] body .compare-picker-close{color:var(--app-text);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .compare-picker-close:hover{background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .compare-picker-option{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .compare-picker-option:hover{color:var(--app-accent);background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .bim-panel{background:var(--app-panel-bg)}html[data-theme=light] body .bim-panel .panel-header{border-color:var(--app-border)}html[data-theme=light] body .bim-panel .close-btn,html[data-theme=light] body .bim-panel .empty-state{color:var(--app-text-muted)}html[data-theme=light] body .bim-panel .close-btn:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .bim-panel .action-btn{color:var(--app-text-subtle);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .auto-audit-result-panel{background:var(--app-panel-bg)}html[data-theme=light] body .auto-audit-result-panel .auto-audit-result-header{border-color:var(--app-border)}html[data-theme=light] body .auto-audit-result-panel :is(.auto-audit-result-header p,.auto-audit-close,.auto-audit-progress,.auto-audit-running,.auto-audit-empty,.auto-audit-issue-meta,.auto-audit-form span,.auto-audit-evidence){color:var(--app-text-muted)}html[data-theme=light] body .auto-audit-result-panel .auto-audit-close:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .auto-audit-result-panel .auto-audit-progress-track{background:var(--app-surface-3)}html[data-theme=light] body .auto-audit-result-panel .auto-audit-issue{background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-subtle-shadow)}html[data-theme=light] body .auto-audit-result-panel :is(.auto-audit-description,.auto-audit-form select,.auto-audit-form input){color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .auto-audit-result-panel :is(.auto-audit-description,.auto-audit-form select,.auto-audit-form input):focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}html[data-theme=light] body .auto-audit-result-panel :is(.audit-link-btn,.audit-ignore-small){color:var(--app-text);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .auto-audit-result-panel :is(.audit-link-btn,.audit-ignore-small):hover:not(:disabled){background:var(--app-control-bg-hover)}html[data-theme=light] body .auto-audit-result-panel .audit-confirm-small{color:var(--app-on-accent);background:var(--app-accent)}html[data-theme=light] body .auto-audit-result-panel .spinner{border-color:var(--app-border-strong);border-top-color:var(--app-accent)}html[data-theme=light] body .attachment-modal{background:var(--app-panel-bg)}html[data-theme=light] body .attachment-modal .toolbar{border-color:var(--app-border)}html[data-theme=light] body .attachment-modal :is(.close-btn,.filter-label,.state-container,.file-meta),html[data-theme=light] body .record-modal :is(.selected-file-main span,.file-extension){color:var(--app-text-muted)}html[data-theme=light] body .attachment-modal :is(.search-box,.file-card,.file-icon-area),html[data-theme=light] body .record-modal :is(.record-textarea,.file-picker-zone,.selected-file,.name-input,.name-editor){color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .attachment-modal .file-card{background:var(--app-surface);box-shadow:var(--app-subtle-shadow)}html[data-theme=light] body .attachment-modal :is(.search-input,.name-input,.file-name,.file-desc),html[data-theme=light] body .record-modal :is(.record-textarea,.name-input,.selected-file-main strong,.form-row label){color:var(--app-text)}html[data-theme=light] body .attachment-modal :is(.search-input,.name-input)::placeholder,html[data-theme=light] body .record-modal :is(.record-textarea,.name-input)::placeholder{color:var(--app-text-subtle)}html[data-theme=light] body .attachment-modal :is(.record-btn,.view-btn){color:var(--app-text);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .attachment-modal :is(.record-btn,.view-btn):hover{background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .record-modal{background:var(--app-surface)}html[data-theme=light] body .record-modal .file-picker-zone{color:var(--app-text-muted);border-style:dashed;border-color:var(--app-border-strong)}html[data-theme=light] body .record-modal .file-picker-zone.dragging{color:var(--app-accent);background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .record-modal .file-extension{border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen{color:var(--app-text);background:var(--app-bg)}html[data-theme=light] body .robot-fullscreen>.panel-header,html[data-theme=light] body .robot-fullscreen .panel-main{border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen :is(.hstat-label,.field-label,.path-tag small,.ref-x,.matrix-grid label,.range-field em,.hint,.path-meta small,.icon-btn-mini,.preview-empty,.peri-state,.peri-inline-field em,.preset-empty,.aligner-sub,.atb-field){color:var(--app-text-muted)}html[data-theme=light] body .robot-fullscreen :is(.legend-item,.toggle-line,.range-field,.photo-toolbar-title,.peri-inline-field,.preset-text,.api-test-btn){color:var(--app-text)}html[data-theme=light] body .robot-fullscreen .conn-badge.offline{color:var(--app-text-muted);background:var(--app-control-bg)}html[data-theme=light] body .robot-fullscreen :is(.step-card,.matrix-paste,.debug-adjust,.robot-task-block,.path-item,.cam-role-segment,.preset-list li){color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen :is(.path-item:hover,.preset-list li:hover){background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .robot-fullscreen .path-item.active{color:var(--app-text);background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .robot-fullscreen :is(.text-input,.matrix-textarea,.mini-number,.megaphone-textarea){color:var(--app-text);background-color:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen :is(.text-input,.matrix-textarea,.mini-number,.megaphone-textarea)::placeholder{color:var(--app-text-subtle)}html[data-theme=light] body .robot-fullscreen :is(.text-input,.matrix-textarea,.mini-number,.megaphone-textarea):focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}html[data-theme=light] body .robot-fullscreen :is(.action-btn.ghost,.api-test-btn){color:var(--app-text);background:var(--app-control-bg);border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen :is(.action-btn.ghost,.api-test-btn):hover:not(:disabled){color:var(--app-text);background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .robot-fullscreen .cam-role-segment .mini-btn{color:var(--app-text-muted)}html[data-theme=light] body .robot-fullscreen .cam-role-segment .mini-btn.active{color:var(--app-on-accent);background:var(--app-accent)}html[data-theme=light] body .robot-fullscreen .rt-divider:before,html[data-theme=light] body .robot-fullscreen .rt-divider:after{background:var(--app-border)}html[data-theme=light] body .robot-fullscreen :is(.start-zone,.peripherals,.photo-empty){border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen .photo-scroll::-webkit-scrollbar-thumb{background:var(--app-scrollbar)}html[data-theme=light] body .robot-fullscreen .photo-scroll::-webkit-scrollbar-thumb:hover{background:var(--app-scrollbar-hover)}html[data-theme=light] body .robot-fullscreen .aligner-dialog{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .robot-fullscreen :is(.aligner-head,.aligner-toolbar,.aligner-msg){color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .robot-fullscreen .aligner-head h3{color:var(--app-text)}html[data-theme=light] body .robot-fullscreen .aligner-head .close-btn{color:var(--app-text-muted);background:transparent}html[data-theme=light] body .robot-fullscreen .aligner-head .close-btn:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .tester-modal{background:var(--app-surface)}html[data-theme=light] body .tester-modal :is(.tester-header,.conn-bar){color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .tester-modal :is(.api-base,.conn-row label,.param-grid label,.hint,.hist-ms,.result-empty){color:var(--app-text-muted)}html[data-theme=light] body .tester-modal .x-btn{color:var(--app-text-muted)}html[data-theme=light] body .tester-modal .x-btn:hover{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .tester-modal .left-col{border-color:var(--app-border)}html[data-theme=light] body .tester-modal .card{color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .tester-modal :is(.card h4,.result-head h4){color:var(--app-text)}html[data-theme=light] body .tester-modal .inp{color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .tester-modal .inp:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}html[data-theme=light] body .tester-modal :is(.btn.ghost,.btn.test){color:var(--app-text);background:var(--app-control-bg);border-color:var(--app-border)}html[data-theme=light] body .tester-modal :is(.btn.ghost,.btn.test):hover:not(:disabled){background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .tester-modal :is(.ws-log,.result-json){color:var(--app-code-text);background:var(--app-code-bg);border-color:var(--app-border)}html[data-theme=light] body .tester-modal .ws-line{color:var(--app-code-text)}html[data-theme=light] body .tester-modal .hist-item:hover{background:var(--app-hover-bg)}html[data-theme=light] body .tester-modal .hist-item.active{background:var(--app-accent-soft)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.grid-editor,.pc-aligner){background:var(--app-surface)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.path-editor,.grid-editor,.pc-aligner) :is(.toolbar-info,.map-meta,.preview-head,.candidate-status,.ge-empty,.ge-hint,.pca-empty){color:var(--app-text-muted)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.path-editor,.grid-editor,.pc-aligner) :is(.map-title,.preview-name,.ge-title,.tool-info){color:var(--app-text)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.path-editor,.grid-editor,.pc-aligner) :is(.toolbar-btn:not(.primary),.mini-btn:not(.primary):not(.active),.tool-segment){color:var(--app-text);background:var(--app-control-bg);border-color:var(--app-border)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.path-editor,.grid-editor,.pc-aligner) :is(.toolbar-btn:not(.primary),.mini-btn:not(.primary):not(.active)):hover:not(:disabled){background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.grid-editor,.pc-aligner) :is(.side-panel,.preview-card,.ge-toolbar,.ge-foot,.pca-toolbar,.pca-side,.pca-card){color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .point-match-editor .candidate-item{color:var(--app-text);background:var(--app-surface-2);border-color:var(--app-border)}html[data-theme=light] body .point-match-editor .candidate-item.active{color:var(--app-accent);background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .point-match-editor .candidate-item.placed{color:var(--app-success);background:var(--app-success-soft);border-color:var(--app-success)}html[data-theme=light] body :is(.curve-editor,.point-match-editor,.path-editor,.grid-editor,.pc-aligner) :is(.editor-canvas-wrap,.map-canvas-wrap,.ge-canvas-wrap,.pca-canvas-wrap){background:var(--app-surface-2);border:1px solid var(--app-border)}html[data-theme=light] body :is(.auto-audit-shot,.record-image-preview,.preview-frame,.cam-frame,.photo-preview,.photo-thumb,.float-preview,.candidate-thumb,.local-preview .preview-viewer){background:var(--app-media-bg)}html[data-theme=light] body .share-wrap :is(.select,.input){color:var(--app-text);background:var(--app-surface);border-color:var(--app-border)}html[data-theme=light] body .share-wrap .message{color:var(--app-success)}html[data-theme=light] body .bottom-pager{color:var(--app-text);background:var(--app-panel-bg);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .bottom-pager .nav-btn{color:var(--app-text);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .bottom-pager .nav-btn:hover:not(:disabled){background:var(--app-control-bg-hover);border-color:var(--app-border-strong)}html[data-theme=light] body .bottom-pager .slider-track{background:var(--app-surface-3)}html[data-theme=light] body .bottom-pager .slider-stop{background:var(--app-text-subtle)}html[data-theme=light] body .bottom-pager .slider-stop.active,html[data-theme=light] body .bottom-pager .slider-thumb{background:var(--app-accent)}html[data-theme=light] body .bottom-pager .thumb-tooltip{color:var(--app-text);background:var(--app-panel-bg);border:1px solid var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .account-menu{color:var(--app-text);background:var(--app-panel-bg);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .account-menu:after{background:var(--app-panel-bg);border-color:var(--app-border)}html[data-theme=light] body .account-menu-item{color:var(--app-text-muted)}html[data-theme=light] body .account-menu-item:hover,html[data-theme=light] body .account-menu-item:focus-visible{color:var(--app-text);background:var(--app-hover-bg)}html[data-theme=light] body .account-menu-item:after,html[data-theme=light] body .container [data-hint]:after,html[data-theme=light] body .compare-toolbar [data-tip]:after{color:var(--app-text);background:var(--app-panel-bg);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body :is(.compare-hint,.compare-guide,.alignment-debug-summary){color:var(--app-text);background:var(--app-panel-bg);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body :is(.compare-hint-warning,.compare-guide-warning){color:var(--app-warning);background:var(--app-warning-soft);border-color:var(--app-warning)}html[data-theme=light] body .compare-guide-close,html[data-theme=light] body .alignment-close-btn{color:var(--app-text-muted);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .compare-guide-close:hover,html[data-theme=light] body .alignment-close-btn:hover{color:var(--app-text);background:var(--app-control-bg-hover)}html[data-theme=light] body .compare-guide-legend{color:var(--app-text-muted);border-color:var(--app-border)}html[data-theme=light] body .pano-debug-tool{color:var(--app-text);background:var(--app-panel-bg);border-color:var(--app-border);box-shadow:var(--app-card-shadow)}html[data-theme=light] body .pano-debug-tool :is(.debug-header p,.debug-grid span,.debug-field span,.original-meta){color:var(--app-text-muted)}html[data-theme=light] body .pano-debug-tool .debug-icon-btn{color:var(--app-text-muted);background:var(--app-control-bg);border:1px solid var(--app-border)}html[data-theme=light] body .pano-debug-tool .debug-icon-btn:hover{color:var(--app-text);background:var(--app-control-bg-hover)}html[data-theme=light] body .pano-debug-tool :is(.debug-field input,.debug-field textarea){color:var(--app-code-text);background:var(--app-code-bg);border-color:var(--app-border)}html[data-theme=light] body .pano-debug-tool :is(.debug-field input,.debug-field textarea):focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}html[data-theme=light] body .pano-debug-tool .debug-actions button{color:var(--app-accent);background:var(--app-accent-soft);border-color:var(--app-accent)}html[data-theme=light] body .pano-debug-tool .debug-actions button:hover{background:var(--app-hover-bg)}html[data-theme=light] body .pano-debug-tool .original-section{border-color:var(--app-border)}html[data-theme=light] body .pano-debug-tool .original-title{color:var(--app-text)}html[data-theme=light] body .pano-debug-tool .original-preview{background:var(--app-media-bg);border-color:var(--app-border)}html[data-theme=light] body :is(.attachment-modal,.auto-audit-result-panel,.robot-fullscreen,.tester-modal,.point-match-editor,.rectification-panel,.notification-panel) *{scrollbar-color:var(--app-scrollbar) transparent}html[data-theme=light] body :is(.attachment-modal,.auto-audit-result-panel,.robot-fullscreen,.tester-modal,.point-match-editor,.rectification-panel,.notification-panel) *::-webkit-scrollbar-thumb{background:var(--app-scrollbar)}html[data-theme=light] body :is(.attachment-modal,.auto-audit-result-panel,.robot-fullscreen,.tester-modal,.point-match-editor,.rectification-panel,.notification-panel) *::-webkit-scrollbar-thumb:hover{background:var(--app-scrollbar-hover)}.ui-button[data-v-4dfdda7c]{min-width:44px;min-height:var(--ds-size-touch);padding:0 var(--ds-space-4);display:inline-flex;gap:var(--ds-space-2);align-items:center;justify-content:center;color:var(--ds-color-on-primary);font:inherit;font-weight:var(--ds-font-weight-semibold);line-height:1;cursor:pointer;background:var(--ds-color-primary);border:1px solid transparent;border-radius:var(--ds-radius-md);transition:background-color var(--ds-motion-fast) var(--ds-motion-ease-standard),border-color var(--ds-motion-fast) var(--ds-motion-ease-standard),color var(--ds-motion-fast) var(--ds-motion-ease-standard),opacity var(--ds-motion-fast) var(--ds-motion-ease-standard)}.ui-button[data-v-4dfdda7c]:hover:not(:disabled){background:var(--ds-color-primary-hover)}.ui-button[data-v-4dfdda7c]:active:not(:disabled){opacity:.82}.ui-button[data-v-4dfdda7c]:focus-visible{outline:3px solid var(--ds-color-focus);outline-offset:2px}.ui-button[data-v-4dfdda7c]:disabled{cursor:not-allowed;opacity:.48}.ui-button--secondary[data-v-4dfdda7c]{color:var(--ds-color-text);background:var(--ds-color-control);border-color:var(--ds-color-border)}.ui-button--secondary[data-v-4dfdda7c]:hover:not(:disabled),.ui-button--ghost[data-v-4dfdda7c]:hover:not(:disabled){background:var(--ds-color-control-hover)}.ui-button--danger[data-v-4dfdda7c]{background:var(--ds-color-danger)}.ui-button--ghost[data-v-4dfdda7c]{color:var(--ds-color-text);background:transparent;border-color:transparent}.ui-button--sm[data-v-4dfdda7c]{min-height:44px;padding:0 var(--ds-space-3);font-size:var(--ds-font-size-sm)}.ui-button--lg[data-v-4dfdda7c]{min-height:52px;padding:0 var(--ds-space-5);font-size:var(--ds-font-size-md);border-radius:var(--ds-radius-pill)}.ui-button--block[data-v-4dfdda7c]{width:100%}.ui-button__spinner[data-v-4dfdda7c]{width:16px;height:16px;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--ds-radius-circle);animation:ui-button-spin-4dfdda7c .7s linear infinite}@keyframes ui-button-spin-4dfdda7c{to{transform:rotate(360deg)}}.ui-input[data-v-3cef2094]{width:100%;display:grid;gap:var(--ds-space-2)}.ui-input__label[data-v-3cef2094]{color:var(--ds-color-text);font-size:var(--ds-font-size-sm);font-weight:var(--ds-font-weight-medium)}.ui-input__required[data-v-3cef2094],.ui-input__message--error[data-v-3cef2094]{color:var(--ds-color-danger)}.ui-input__control[data-v-3cef2094]{width:100%;min-height:var(--ds-size-touch);box-sizing:border-box;padding:0 var(--ds-space-4);color:var(--ds-color-text);font:inherit;font-size:var(--ds-font-size-md);background:var(--ds-color-control);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);outline:none;transition:border-color var(--ds-motion-fast) var(--ds-motion-ease-standard),box-shadow var(--ds-motion-fast) var(--ds-motion-ease-standard)}.ui-input__control[data-v-3cef2094]::placeholder{color:var(--ds-color-text-subtle)}.ui-input__control[data-v-3cef2094]:focus-visible{border-color:var(--ds-color-primary);box-shadow:0 0 0 3px var(--ds-color-focus)}.ui-input__control[data-v-3cef2094]:disabled{cursor:not-allowed;opacity:.48}.ui-input--invalid .ui-input__control[data-v-3cef2094]{border-color:var(--ds-color-danger)}.ui-input__message[data-v-3cef2094]{min-height:18px;margin:0;color:var(--ds-color-text-muted);font-size:var(--ds-font-size-xs);line-height:var(--ds-font-line-body)}.ui-icon[data-v-b1cdd9fd]{display:inline-block;flex:0 0 auto;color:inherit;vertical-align:middle}.ui-notice[data-v-fce73516]{width:100%;box-sizing:border-box;display:flex;gap:var(--ds-space-3);align-items:flex-start;padding:var(--ds-space-3) var(--ds-space-4);color:var(--ds-color-text);background:var(--ds-color-primary-soft);border:1px solid color-mix(in srgb,var(--ds-color-primary) 32%,transparent);border-radius:var(--ds-radius-md)}.ui-notice--success[data-v-fce73516]{background:var(--ds-color-success-soft);border-color:color-mix(in srgb,var(--ds-color-success) 32%,transparent)}.ui-notice--warning[data-v-fce73516]{background:var(--ds-color-warning-soft);border-color:color-mix(in srgb,var(--ds-color-warning) 32%,transparent)}.ui-notice--danger[data-v-fce73516]{background:var(--ds-color-danger-soft);border-color:color-mix(in srgb,var(--ds-color-danger) 32%,transparent)}.ui-notice__content[data-v-fce73516]{min-width:0;flex:1}.ui-notice__title[data-v-fce73516],.ui-notice__body[data-v-fce73516]{display:block;font-size:var(--ds-font-size-sm);line-height:var(--ds-font-line-body)}.ui-notice__dismiss[data-v-fce73516]{width:44px;height:44px;margin:calc(var(--ds-space-2) * -1);display:inline-flex;align-items:center;justify-content:center;color:currentColor;font:inherit;font-size:var(--ds-font-size-xl);cursor:pointer;background:transparent;border:0;border-radius:var(--ds-radius-circle)}.ui-notice__dismiss[data-v-fce73516]:hover{background:var(--ds-color-hover)}.page[data-v-afd08199]{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--ds-color-media);font-family:var(--ds-font-family-sans)}.card[data-v-afd08199]{width:440px;height:520px;background:color-mix(in srgb,var(--ds-color-surface) 80%,transparent);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--ds-color-border-strong);border-radius:var(--ds-radius-xl);padding:var(--ds-space-12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ds-space-8);box-sizing:border-box}.logo-area[data-v-afd08199]{width:64px;height:64px;background:var(--ds-color-surface-strong);border-radius:var(--ds-radius-lg);flex-shrink:0}.title[data-v-afd08199]{margin:0;font-size:28px;font-weight:var(--ds-font-weight-bold);color:var(--ds-color-text)}.input-group[data-v-afd08199]{display:flex;flex-direction:column;gap:var(--ds-space-2);width:100%}@media(max-width:768px){.card[data-v-afd08199]{width:calc(100% - 32px);height:auto;min-height:480px;padding:var(--ds-space-8) var(--ds-space-6)}}
