:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.4;font-weight:400;color:#ebf0ffeb;background:radial-gradient(1200px 800px at 20% 0%,#133067,#0d1d41 58%,#0a1734);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 800px at 20% 0%,#133067,#0d1d41 58%,#0a1734)}#root{width:100%;min-height:100%}a{color:inherit}code{color:#ebf0ffd9}button,select,input:not([type]),input[type=date],input[type=text],input[type=number]{background:#182c54c7;color:#ebf0ffeb;border:1px solid rgba(120,160,255,.25);border-radius:8px;padding:6px 10px;outline:none}button:hover,select:hover,input:not([type]):hover,input[type=date]:hover,input[type=text]:hover,input[type=number]:hover{border-color:#78a0ff73}button:disabled{opacity:.55;cursor:not-allowed}.app-container{padding:16px}.topbar .spacer{margin-left:auto;color:#ebf0ffa6;font-size:12px}.h2{margin:0 0 8px;font-size:26px;font-weight:800}.panel{border:1px solid rgba(120,160,255,.18);border-radius:12px;background:linear-gradient(180deg,#1e386abd,#1222488f);box-shadow:0 10px 30px #00000059}.panel-pad{padding:12px}.card-grid{display:flex;gap:12px;flex-wrap:wrap}.card{min-width:220px;padding:12px}.card .title{color:#ebf0ffa6;font-size:13px}.card .value{margin-top:8px;font-size:26px;font-weight:900;letter-spacing:.2px}.card .sub{margin-top:6px;color:#ebf0ff80;font-size:12px}.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}@media(max-width:1100px){.grid-2{grid-template-columns:1fr}}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{border-bottom:1px solid rgba(120,160,255,.12);padding:8px 10px;text-align:left}.table th{color:#ebf0ffb3;font-weight:700}.table tr:hover td{background:#78a0ff0f}#root{width:100%;min-height:100vh}.page{width:100%;padding:16px}.topbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.app-topbar{gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;position:sticky;top:0;z-index:20;margin:-16px -16px 12px;padding:14px 16px;background:linear-gradient(180deg,#0a183cfa,#0a183cdb);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-menu-bar{display:flex;gap:8px;align-items:center;padding:6px;border-radius:10px;border:none;background:transparent}.app-menu-item{position:relative;overflow:hidden;border:1px solid rgba(110,158,255,.3);border-radius:8px;background:#12285899;color:#e8f0ffe6;font-size:16px;font-weight:700;letter-spacing:.01em;padding:6px 14px;transition:color .18s ease,border-color .18s ease,background .18s ease}.app-menu-item:before{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:#7fb0ff;transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.app-menu-item:hover{border-color:#8cbeff99;background:#23468c73;color:#fff}.app-menu-item:hover:before{transform:scaleX(1)}.app-menu-item.active{border-color:#aad2ffcc;background:#2850aa80;color:#fff}.app-top-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-logout-btn{font-weight:700}.app-action-btn{border:1px solid rgba(110,158,255,.35);background:#1228588c;color:#e8f0ffeb;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease}.app-action-btn:hover{border-color:#8cbeff99;background:#23468c73;color:#fff}.app-action-btn:disabled{opacity:.6;cursor:not-allowed}.app-store-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.dashboard-toolbar{display:inline-flex;align-items:center;gap:10px}.theme-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:10px;border:1px solid rgba(110,158,255,.24);background:#1228586b}.theme-switch-btn{border:1px solid transparent;border-radius:8px;background:transparent;color:#e8f0ffd1;font-size:12px;font-weight:700;padding:6px 12px;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.theme-switch-btn:hover{background:#568ae42e;color:#fff}.theme-switch-btn.active{border-color:#a6d0ffb8;background:linear-gradient(180deg,#5a90ea61,#3766bc57);color:#fff;box-shadow:0 8px 18px #102c5c38}.app-container.theme-light{min-height:100vh;--light-paper-bg: #f7f1e8;--light-paper-bg-soft: #fcf8f2;--light-surface-top: rgba(255, 252, 247, .98);--light-surface-bottom: rgba(243, 236, 227, .98);--light-surface-raised-top: rgba(255, 253, 249, .98);--light-surface-raised-bottom: rgba(247, 241, 231, .98);--light-border: rgba(212, 197, 176, .92);--light-border-strong: rgba(185, 164, 136, .92);--light-text-strong: #3f362d;--light-text: #5f5042;--light-text-soft: #7d6a58;--light-text-muted: #9a8874;--light-accent: #365a4d;--light-accent-strong: #28453a;--light-accent-soft: rgba(54, 90, 77, .12);--light-gold: #b48845;--light-gold-soft: rgba(180, 136, 69, .16);--light-blue-soft: rgba(109, 134, 163, .16);--light-positive-soft: rgba(112, 143, 118, .18);--light-negative-soft: rgba(210, 157, 144, .18);--light-shadow: 0 8px 18px rgba(117, 97, 76, .08);--light-shadow-lg: 0 14px 28px rgba(112, 93, 74, .1);color:var(--light-text);background:radial-gradient(circle at 8% 0%,rgba(194,166,122,.16) 0,rgba(194,166,122,.05) 22%,transparent 40%),radial-gradient(circle at 100% 18%,rgba(127,144,119,.12) 0,rgba(127,144,119,.04) 18%,transparent 34%),linear-gradient(180deg,#fbf8f2,#f8f2e8 54%,#f4ecdf)}body.theme-light{background:linear-gradient(180deg,#fdfaf5,#f8f2e8 52%,#f3ecdf)}.app-container.theme-light .app-topbar{background:linear-gradient(180deg,#fcf9f4fa,#f4eee6f5);box-shadow:0 6px 18px #7861490f;border-bottom:1px solid rgba(215,201,181,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-container.theme-light .app-menu-item{border-color:var(--light-border);background:linear-gradient(180deg,var(--light-surface-raised-top),var(--light-surface-raised-bottom));color:var(--light-text);box-shadow:0 2px 8px #795e430d}.app-container.theme-light .app-menu-item:hover{border-color:var(--light-border-strong);background:linear-gradient(180deg,#f8f2e7fa,#f0e7d7f5);color:var(--light-text-strong)}.app-container.theme-light .app-menu-item.active{border-color:#365a4de0;background:linear-gradient(180deg,#3c5e50fa,#28453af5);color:#fffaf3;box-shadow:0 10px 20px #365a4d24}.app-container.theme-light .app-menu-item:before{background:var(--light-gold)}.app-container.theme-light .user-tag{color:var(--light-text-soft)}.app-container.theme-light button,.app-container.theme-light select,.app-container.theme-light input:not([type]),.app-container.theme-light input[type=month],.app-container.theme-light input[type=date],.app-container.theme-light input[type=text],.app-container.theme-light input[type=number]{border-color:var(--light-border);background:#fffbf6fa;color:var(--light-text);box-shadow:inset 0 1px #ffffffb3,0 1px 2px #7d654a0a}.app-container.theme-light button:hover,.app-container.theme-light select:hover,.app-container.theme-light input:not([type]):hover,.app-container.theme-light input[type=month]:hover,.app-container.theme-light input[type=date]:hover,.app-container.theme-light input[type=text]:hover,.app-container.theme-light input[type=number]:hover{border-color:var(--light-border-strong);background:#f9f3ebfa}.app-container.theme-light select:focus,.app-container.theme-light input:not([type]):focus,.app-container.theme-light input[type=month]:focus,.app-container.theme-light input[type=date]:focus,.app-container.theme-light input[type=text]:focus,.app-container.theme-light input[type=number]:focus{outline:none;border-color:#365a4d80;box-shadow:0 0 0 3px #365a4d1f;background:#fffbf6}.app-container.theme-light .app-logout-btn,.app-container.theme-light .dashboard-toolbar .app-action-btn{border-color:#365a4de0;background:linear-gradient(180deg,#3c5e50fa,#28453af5);color:#fffaf1;box-shadow:0 6px 16px #365a4d24}.app-container.theme-light .app-logout-btn:hover,.app-container.theme-light .dashboard-toolbar .app-action-btn:hover{border-color:#496f60f0;background:linear-gradient(180deg,#486d5dfa,#314f43f5);color:#fff}.app-container.theme-light .panel,.app-container.theme-light .card{border-color:var(--light-border);background:linear-gradient(180deg,var(--light-surface-top),var(--light-surface-bottom));box-shadow:var(--light-shadow)}.app-container.theme-light .forecast-broadcast-text{border-color:var(--light-border);background:linear-gradient(180deg,#fffaf5fc,#f6efe5fa);color:var(--light-text)}.dashboard-shell-light{color:var(--light-text)}.dashboard-shell-light .panel,.dashboard-shell-light .card{border-color:var(--light-border);background:linear-gradient(180deg,var(--light-surface-raised-top),var(--light-surface-bottom));box-shadow:var(--light-shadow-lg),inset 0 1px #ffffffd6}.dashboard-shell-light .h2{color:var(--light-text-strong);text-shadow:none}.dashboard-shell-light .title{color:var(--light-text);font-weight:700}.dashboard-shell-light .sub{color:var(--light-text-soft)}.dashboard-shell-light .value{color:var(--light-text-strong);font-weight:800}.dashboard-shell-light .table th{color:var(--light-text);background:#eee5d8f0}.dashboard-shell-light .table td{color:var(--light-text)}.dashboard-shell-light .forecast-broadcast-text{border-color:var(--light-border);background:linear-gradient(180deg,#fffcf7,#f5ede2fc);box-shadow:inset 0 1px #ffffffc2}.dashboard-shell-light .group-completion-item{border-color:#d5c5aee0;background:linear-gradient(180deg,#fffbf6fc,#f6efe5f7);box-shadow:0 6px 18px #7c5f450f}.dashboard-shell-light .group-completion-progress-track{background:#7c6c5824}.app-container.theme-light .table th,.app-container.theme-light .table td{border-bottom-color:#e2d6c5e6}.app-container.theme-light .table th{color:var(--light-text);background:#f2e9dce6}.app-container.theme-light .table td{color:var(--light-text)}.app-container.theme-light .table tr:hover td{background:#eee5d8c2}.app-container.theme-light .user-page-title,.app-container.theme-light .user-section-title{color:var(--light-text-strong)}.app-container.theme-light .user-page-meta{color:var(--light-text-soft)!important}.app-container.theme-light .user-role-card{border-color:var(--light-border);background:linear-gradient(180deg,#fcf8f2fa,#f3ebe0f7);box-shadow:0 4px 14px #7861490d}.app-container.theme-light .user-role-title{color:var(--light-text-strong)}.app-container.theme-light .user-role-code,.app-container.theme-light .user-empty-text,.app-container.theme-light .user-inline-message,.app-container.theme-light .user-status-text{color:var(--light-text-soft)!important}.app-container.theme-light .hr-placeholder-card{border-color:var(--light-border);background:linear-gradient(180deg,#fcf8f2fa,#f3ebe0f7);box-shadow:0 4px 14px #7861490d}.app-container.theme-light .hr-placeholder-title{color:var(--light-text-strong)}.app-container.theme-light .hr-placeholder-line{color:var(--light-text)}.app-container.theme-light .hr-placeholder-note{color:var(--light-text-soft)}.app-container.theme-light .theme-switch{border-color:var(--light-border);background:linear-gradient(180deg,#fbf6eff5,#f3ebdff0);box-shadow:0 3px 10px #7a60470d}.app-container.theme-light .theme-switch-btn{color:var(--light-text)}.app-container.theme-light .theme-switch-btn:hover{background:#ece2d2e6;color:var(--light-text-strong)}.app-container.theme-light .theme-switch-btn.active{border-color:#365a4de0;background:linear-gradient(180deg,#3c5e50fa,#28453af5);color:#fffaf1}.export-mode .export-hide,.export-mode-global .global-export-hide{display:none!important}.export-only{display:none}.export-mode .export-only{display:block}.export-mode{width:1440px!important;max-width:none!important}.export-mode .grid-2{grid-template-columns:1.4fr 1fr!important}.export-mode .forecast-section{grid-template-columns:minmax(0,1.45fr) minmax(360px,.95fr)!important}.export-mode .forecast-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.section-export-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.group-completion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.group-completion-list{display:grid;gap:10px}.group-completion-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(120,160,255,.18);background:linear-gradient(180deg,#172d5c8a,#0f1f4180)}.group-completion-progress{width:100%}.group-completion-progress-track{height:8px;border-radius:999px;background:#78a0ff24;overflow:hidden}.group-completion-progress-fill{height:100%;border-radius:999px}.panel{background:linear-gradient(180deg,#1f3868e0,#13244ae0);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #00000059}.user-page-title{margin-bottom:10px;font-size:18px;font-weight:800}.user-page-meta{margin-bottom:12px;font-size:12px;color:#ebf0ffb8}.user-section-title{font-weight:700;margin-bottom:8px}.user-management-subpanel{border-radius:16px}.user-role-panel{padding:10px 12px;margin-bottom:12px}.user-role-grid{display:block}.user-role-card{padding:10px 12px;border-radius:12px;border:1px solid rgba(120,160,255,.18);background:linear-gradient(180deg,#142a56b8,#0d1d40c7);box-shadow:inset 0 1px #ffffff08}.user-role-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.user-role-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.user-role-select-wrap{min-width:220px}.user-role-field-label{display:block;margin-bottom:6px;font-size:12px;color:#bfd1f0c7}.user-role-select{min-width:220px}.user-role-meta{flex:1;min-width:0}.user-role-card-active{padding:12px 14px}.user-role-title{display:block;font-weight:700;color:#f4f8fff0}.user-role-code{display:block;font-size:12px;color:#bfd1f0b8}.user-role-save-btn{min-height:30px;padding:4px 10px;font-size:12px}.user-role-body{margin-top:8px;display:grid;gap:6px}.user-role-body-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px}.user-role-option{display:flex;align-items:center;gap:8px;min-height:24px;font-size:12px;line-height:1.35}.user-role-option input{margin:0}.user-empty-text{color:#ebf0ff94}.user-inline-message{margin-top:10px;font-size:12px;color:#ebf0ffd1}.user-status-text{margin-top:8px;font-size:12px;color:#ebf0ffb8}.app-container.theme-light .user-role-field-label{color:#7e6a59}@media(max-width:980px){.user-role-toolbar{flex-direction:column;align-items:stretch}.user-role-select-wrap,.user-role-select{min-width:0;width:100%}.user-role-save-btn{align-self:flex-start}}.hr-placeholder-card{padding:20px 22px;border-radius:16px;border:1px solid rgba(120,160,255,.18);background:linear-gradient(180deg,#142a568f,#0d1d40ad)}.hr-placeholder-title{margin-bottom:14px;font-size:18px;font-weight:700;color:#f5f8fff5}.hr-placeholder-line{line-height:1.8;color:#e6eefae0}.hr-placeholder-note{margin-top:14px;line-height:1.8;color:#c4d2e8c7}.hr-schedule-shell{display:grid;gap:12px}.hr-schedule-hero,.hr-schedule-toolbar,.hr-schedule-table-card,.hr-summary-card{border:1px solid rgba(120,160,255,.18);background:linear-gradient(180deg,#142a568f,#0d1d40ad);box-shadow:0 8px 22px #030a1a33}.hr-schedule-hero{display:flex;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:16px}.hr-schedule-hero-title{font-size:20px;font-weight:800;color:#f5f8fffa}.hr-schedule-hero-subtitle{margin-top:8px;line-height:1.7;color:#cddbf1e0}.hr-schedule-hero-meta{min-width:240px;display:grid;gap:6px;line-height:1.7;color:#dde8f9e0;text-align:right}.hr-schedule-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 18px;border-radius:16px}.hr-filter-item{display:grid;gap:6px;min-width:180px}.hr-filter-item-wide{flex:1 1 320px}.hr-filter-item-search{flex:0 1 280px}.hr-filter-item-store{flex:1 1 360px;min-width:280px}.hr-filter-label{font-size:12px;font-weight:700;color:#c5d4ecd6}.hr-filter-help{font-size:11px;line-height:1.5;color:#c4d2e8b8}.hr-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hr-schedule-toolbar.is-payroll-toolbar{align-items:end;justify-content:flex-start;gap:5px 8px;padding:7px 12px;border-radius:14px}.hr-schedule-toolbar.is-payroll-toolbar .hr-filter-item{gap:2px;min-width:116px}.hr-schedule-toolbar.is-payroll-toolbar .hr-filter-help{display:none}.hr-schedule-toolbar.is-payroll-toolbar .hr-toolbar-actions{margin-left:0;gap:8px}.hr-schedule-toolbar.is-payroll-toolbar .hr-filter-item-search{flex:0 1 210px}.hr-schedule-toolbar.is-payroll-toolbar .hr-filter-item-store{flex:0 1 344px;min-width:252px}.hr-schedule-toolbar.is-payroll-toolbar input,.hr-schedule-toolbar.is-payroll-toolbar select{min-height:32px;padding-top:5px;padding-bottom:5px;border-radius:10px}.hr-schedule-toolbar.is-payroll-toolbar .hr-filter-label{font-size:11px}.hr-schedule-toolbar.is-payroll-toolbar .hr-action-button{min-height:32px;padding:0 11px}.hr-schedule-toolbar.is-payroll-toolbar input[type=month]{appearance:none;-webkit-appearance:none;color-scheme:dark;border:1px solid rgba(120,160,255,.24);background:linear-gradient(180deg,#0d1c3eeb,#0b1733e6);color:#ecf2fff0;border-radius:10px;padding-left:12px}.hr-schedule-toolbar.is-payroll-toolbar input[type=month]::-webkit-calendar-picker-indicator{opacity:.78;filter:invert(.96) sepia(.08) saturate(.4) hue-rotate(180deg)}.hr-action-button{min-height:36px;padding:0 14px;border-radius:10px;border:1px solid rgba(120,160,255,.24);background:#09122a6b;color:#ecf2ffeb;font-weight:700;transition:all .18s ease}.hr-action-button:hover{border-color:#78a0ff6b;background:#233b7080}.hr-action-button:disabled{opacity:.55;cursor:not-allowed}.hr-action-button-primary{background:linear-gradient(135deg,#5178d65c,#223461e0);border-color:#78a0ff80}.hr-refresh-btn{height:36px}.hr-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hr-summary-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-summary-card{padding:16px 18px;border-radius:16px}.hr-summary-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:#c4d2e8c2}.hr-summary-value{margin-top:10px;font-size:28px;font-weight:800;line-height:1;color:#f7fafffa}.hr-summary-sub{margin-top:8px;line-height:1.6;color:#c7d6ecc7}.hr-schedule-table-card{padding:16px 18px 10px;border-radius:16px}.hr-table-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.hr-table-title{font-size:16px;font-weight:800;color:#f4f8fffa}.hr-table-meta{color:#c6d4eac7}.hr-table-wrap,.hr-calendar-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(120,160,255,.16)}.hr-schedule-table{min-width:1240px;margin:0}.hr-schedule-table thead th{position:sticky;top:0;z-index:1}.hr-department-cell,.hr-error-cell{max-width:220px;white-space:normal;word-break:break-word}.hr-calendar-table{min-width:max-content;margin:0;border-collapse:separate;border-spacing:0}.hr-calendar-table th,.hr-calendar-table td{padding:0;border-bottom:1px solid rgba(120,160,255,.12)}.hr-calendar-staff-head,.hr-calendar-staff-cell{position:sticky;left:0;z-index:3;min-width:160px;max-width:160px;background:linear-gradient(180deg,#12264ffa,#102146fa)}.hr-calendar-staff-head{top:0;z-index:5;padding:12px 14px!important}.hr-calendar-staff-cell{padding:10px 12px!important;vertical-align:top}.hr-calendar-date-head{position:sticky;top:0;z-index:4;min-width:92px;text-align:center;padding:10px 4px!important;background:linear-gradient(180deg,#132854fa,#10224afa);color:#ebf2fff0}.hr-calendar-date-head.is-weekend{color:#ffe1aafa}.hr-calendar-grid-cell{min-width:92px;max-width:92px;padding:4px!important;background:#0a183733}.hr-calendar-cell{position:relative;min-height:52px;padding:8px 8px 18px;border-radius:8px;font-size:12px;line-height:1.35;overflow:hidden}.hr-calendar-cell-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hr-calendar-cell-shift{background:linear-gradient(180deg,#d6f3e7f5,#c6ebdfeb);color:#29463b}.hr-calendar-cell-rest{background:linear-gradient(180deg,#f8e8c7fa,#f3dfb7f2);color:#5a4622}.hr-calendar-cell-cleared{background:linear-gradient(180deg,#d6dbfff5,#c2c9ffeb);color:#334189}.hr-calendar-cell-empty{background:#ffffff0a;color:#dbe6f97a}.hr-calendar-cell-badges{position:absolute;left:6px;bottom:4px;display:flex;gap:4px}.hr-calendar-badge{min-width:14px;height:14px;padding:0 4px;border-radius:999px;background:#5671f4d1;color:#fff;font-size:10px;line-height:14px;text-align:center}.hr-staff-name{font-size:14px;font-weight:700;color:#f5f8fff5}.hr-staff-meta{margin-top:4px;font-size:11px;line-height:1.45;color:#c4d2e8bd;word-break:break-word}.hr-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px}.hr-pagination-text{color:#cddbf1d6}.hr-board-tabs{display:flex;gap:10px;flex-wrap:wrap}.hr-board-tab{min-height:42px;padding:0 18px;border-radius:14px;border:1px solid rgba(120,160,255,.18);background:#09122a6b;color:#d6e2f6c7;font-size:14px;font-weight:700;transition:all .18s ease}.hr-board-tab:hover{color:#f4f8fff5;border-color:#78a0ff4d}.hr-board-tab.is-active{background:linear-gradient(135deg,#5178d647,#223461cc);border-color:#78a0ff6b;color:#f4f8fffa;box-shadow:0 10px 24px #08112738}.hr-audit-table-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(120,160,255,.16)}.hr-audit-table{min-width:1120px;margin:0}.hr-overview-table{min-width:1380px}.hr-roster-table{min-width:1320px}.hr-logistics-table{min-width:1360px}.hr-payroll-table{min-width:1480px}.hr-payroll-table-wrap{min-height:360px}.hr-payroll-sheet-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.hr-payroll-sheet-tab{min-height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(120,160,255,.18);background:#09122a57;color:#d6e2f6cc;font-size:13px;font-weight:700;transition:all .18s ease}.hr-payroll-sheet-tab:hover{color:#f4f8fff5;border-color:#78a0ff4d}.hr-payroll-sheet-tab.is-active{background:linear-gradient(135deg,#5178d647,#223461cc);border-color:#78a0ff6b;color:#f4f8fffa}.hr-payroll-sheet-status{color:#cddbf1c2;font-size:12px;margin-left:auto}.hr-payroll-preview-wrap{min-height:360px}.hr-payroll-preview-table{min-width:1180px}.hr-payroll-preview-row-index{position:sticky;left:0;z-index:2;min-width:72px;width:72px;background:#12244afa}.hr-payroll-preview-table thead .hr-payroll-preview-row-index{z-index:3}.hr-payroll-picker{position:relative;width:100%}.hr-payroll-picker.is-disabled{opacity:.72}.hr-payroll-picker-trigger{min-height:56px;padding:8px 10px;border-radius:12px;border:1px solid rgba(120,160,255,.22);background:linear-gradient(180deg,#0c1a3ab8,#0f1f418a);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.hr-schedule-toolbar.is-payroll-toolbar .hr-payroll-picker-trigger{min-height:34px;padding:4px 9px;border-radius:10px}.hr-schedule-toolbar.is-payroll-toolbar .hr-payroll-picker-tags{margin-top:0;max-height:22px}.hr-payroll-picker-trigger:hover{border-color:#8eb4ff6b;box-shadow:0 10px 22px #0811272e}.hr-payroll-picker.is-open .hr-payroll-picker-trigger{border-color:#a0c4ff94;box-shadow:0 0 0 3px #628ce21f}.hr-payroll-picker-trigger-inner{display:flex;align-items:center;gap:8px;min-width:0}.hr-payroll-picker-arrow{margin-left:auto;flex:none;font-size:11px;color:#cad8eebd}.hr-payroll-picker-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:0;max-height:30px;overflow:hidden;align-items:center;min-width:0;flex:1 1 auto}.hr-payroll-picker-placeholder{color:#c4d2e8b8;font-size:12px;line-height:1.3;white-space:nowrap}.hr-payroll-picker-tag{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 8px;border-radius:999px;border:1px solid rgba(122,166,255,.22);background:#365ba73d;color:#f2f6fff0;font-size:11px;max-width:220px;overflow:hidden}.hr-payroll-picker-tag span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-payroll-picker-tag:hover{border-color:#96bcff7a;background:#466fc452}.hr-payroll-picker-chip-more{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;border:1px solid rgba(120,160,255,.18);background:#ffffff0a;color:#d6e2f6d1;font-size:11px;font-weight:700}.hr-payroll-picker-tag-remove{font-size:15px;line-height:1;color:#e2ebfac2}.hr-payroll-picker-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:12;border-radius:14px;border:1px solid rgba(130,170,255,.24);background:linear-gradient(180deg,#0d1d40fa,#0a1735fa);box-shadow:0 18px 40px #0208166b;overflow:hidden}.hr-payroll-picker-search{padding:12px;border-bottom:1px solid rgba(120,160,255,.14)}.hr-payroll-picker-search input{width:100%}.hr-payroll-picker-list{max-height:220px;overflow:auto;padding:6px}.hr-payroll-picker-option{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.hr-payroll-picker-option:hover{background:#4e78ca29}.hr-payroll-picker-option input{position:absolute;opacity:0;pointer-events:none}.hr-payroll-picker-checkmark{position:relative;width:18px;height:18px;border-radius:6px;border:1px solid rgba(140,182,255,.4);background:#ffffff0a;flex:none}.hr-payroll-picker-option.is-checked .hr-payroll-picker-checkmark{border-color:#abccffe6;background:linear-gradient(180deg,#5889e3c2,#3f66b5eb)}.hr-payroll-picker-option.is-checked .hr-payroll-picker-checkmark:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(42deg)}.hr-payroll-picker-option-main{display:grid;gap:2px;min-width:0}.hr-payroll-picker-option-code{font-size:12px;font-weight:800;color:#f5f8fff5}.hr-payroll-picker-option-name{color:#c4d2e8c7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-payroll-picker-empty{padding:18px 12px;text-align:center;color:#c4d2e8b8}.hr-payroll-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-top:1px solid rgba(120,160,255,.14);color:#cddbf1d6}.hr-payroll-full-wrap{overflow:auto}.hr-payroll-full-table{min-width:max-content;table-layout:fixed}.hr-payroll-full-table thead th{position:relative;white-space:pre-line;vertical-align:middle}.hr-payroll-full-header-row-1{background:linear-gradient(180deg,#1f3f79e0,#172f5feb)}.hr-payroll-full-header-row-2{background:linear-gradient(180deg,#183366eb,#122752f0)}.hr-payroll-full-table td{white-space:nowrap}.hr-payroll-full-table .is-sticky-col,.hr-payroll-full-table tbody td.is-sticky-col{position:sticky;z-index:2;background:linear-gradient(180deg,#10224afa,#0d1d40fa);box-shadow:1px 0 #78a0ff1a}.hr-payroll-full-table thead .is-sticky-col{z-index:5;background:linear-gradient(180deg,#1f3f79fa,#172f5ffa)}.hr-table-refresh-hint{margin-bottom:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(120,160,255,.18);background:linear-gradient(180deg,#142a567a,#0f1f4185);color:#e6eefadb;font-size:12px;line-height:1.6}.hr-logistics-store-select,.hr-logistics-owner-input,.hr-logistics-day-input{width:100%;min-width:120px}.hr-logistics-day-input{min-width:84px}.hr-file-input{display:none}.hr-dashboard-table-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(120,160,255,.16)}.hr-overview-layout{display:grid;grid-template-columns:minmax(320px,34%) minmax(0,1fr);gap:14px;align-items:start}.hr-overview-side,.hr-overview-main,.hr-overview-sections{display:grid;gap:12px;min-width:0}.hr-overview-dashboard-panel,.hr-overview-section{display:grid;gap:10px}.hr-overview-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.hr-overview-section-title{font-size:14px;font-weight:800;color:#f4f8fffa}.hr-overview-section-meta{font-size:12px;color:#c6d4eac7}.hr-mini-table{min-width:760px;margin:0}@media(max-width:1280px){.hr-overview-layout{grid-template-columns:1fr}}.hr-payroll-note{color:#e9efffe0;line-height:1.7;min-height:52px}.hr-schedule-table-card:has(.hr-payroll-note){display:none}.hr-row-action-btn{min-height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(120,160,255,.24);background:#ffffff0a;color:#ecf2ffeb;font-size:12px;font-weight:700}.hr-row-action-btn:hover{border-color:#78a0ff66;background:#233b706b}.hr-issue-tag-list{display:flex;gap:6px;flex-wrap:wrap}.hr-issue-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.hr-issue-tag-unscheduled,.hr-issue-tag-blank_schedule{background:#da67672e;color:#ffd3d3}.hr-issue-tag-rest_shortage,.hr-issue-tag-rest_excess{background:#f2be602e;color:#ffe2ac}.hr-issue-tag-holiday_shift_mismatch{background:#7496ff2e;color:#d7e2ff}.hr-issue-tag-identity_missing{background:#d76e852e;color:#ffd3df}.hr-issue-tag-contact_missing{background:#59b7ad2e;color:#c9fff6}.hr-issue-tag-education_missing{background:#887ff12e;color:#e0dcff}.hr-issue-tag-contract_missing{background:#e4a8612e;color:#ffe1b2}.hr-issue-tag-salary_missing{background:#e274592e;color:#ffd7c7}.hr-audit-details summary{cursor:pointer;color:#d6e2f6eb}.hr-audit-details-body{display:grid;gap:10px;margin-top:10px;min-width:280px}.hr-audit-detail-block{display:grid;gap:6px}.hr-audit-detail-title{font-size:12px;font-weight:700;color:#e8f0ffeb}.hr-audit-detail-text{color:#cedcf1db;line-height:1.6}.hr-audit-date-list{display:flex;gap:6px;flex-wrap:wrap}.hr-audit-date-chip{padding:3px 8px;border-radius:999px;border:1px solid rgba(120,160,255,.22);background:#ffffff0a;color:#e2ebfadb;font-size:11px}.hr-issue-field-list{display:flex;gap:6px;flex-wrap:wrap}.app-container.theme-light .hr-schedule-hero,.app-container.theme-light .hr-schedule-toolbar,.app-container.theme-light .hr-schedule-table-card,.app-container.theme-light .hr-summary-card{border-color:var(--light-border);background:linear-gradient(180deg,#fcf8f2fa,#f3ebe0f7);box-shadow:0 4px 14px #7861490d}.app-container.theme-light .hr-schedule-hero-title,.app-container.theme-light .hr-summary-value,.app-container.theme-light .hr-table-title,.app-container.theme-light .hr-overview-section-title{color:var(--light-text-strong)}.app-container.theme-light .hr-schedule-hero-subtitle,.app-container.theme-light .hr-schedule-hero-meta,.app-container.theme-light .hr-summary-sub,.app-container.theme-light .hr-table-meta,.app-container.theme-light .hr-overview-section-meta{color:var(--light-text)}.app-container.theme-light .hr-filter-label,.app-container.theme-light .hr-summary-title,.app-container.theme-light .hr-filter-help{color:var(--light-text-soft)}.app-container.theme-light .hr-table-wrap{border-color:#d4c5b0eb}.app-container.theme-light .hr-board-tab{background:#fffcf8c7;border-color:#d4c5b0eb;color:var(--light-text)}.app-container.theme-light .hr-board-tab:hover{color:var(--light-text-strong)}.app-container.theme-light .hr-board-tab.is-active{background:linear-gradient(180deg,#f4ebdffa,#e7d6c0fa);color:var(--light-text-strong);box-shadow:0 10px 22px #7861491f}.app-container.theme-light .hr-action-button,.app-container.theme-light .hr-row-action-btn{border-color:#d4c5b0eb;background:#fffcf8db;color:var(--light-text)}.app-container.theme-light .hr-action-button-primary{background:linear-gradient(180deg,#f4ebdffa,#e7d6c0fa);color:var(--light-text-strong)}.app-container.theme-light .hr-calendar-wrap{border-color:#d4c5b0eb}.app-container.theme-light .hr-calendar-staff-head,.app-container.theme-light .hr-calendar-staff-cell{background:linear-gradient(180deg,#f8f3ecfa,#f0e8dcfa)}.app-container.theme-light .hr-calendar-date-head{background:linear-gradient(180deg,#f4ede3fa,#eee5d8fa);color:var(--light-text-strong)}.app-container.theme-light .hr-calendar-date-head.is-weekend{color:var(--light-gold)}.app-container.theme-light .hr-staff-name{color:var(--light-text-strong)}.app-container.theme-light .hr-staff-meta,.app-container.theme-light .hr-pagination-text{color:var(--light-text-soft)}.app-container.theme-light .hr-calendar-grid-cell{background:#7861490a}.app-container.theme-light .hr-calendar-cell-empty{background:#7861490d;color:#5f504280}.app-container.theme-light .hr-audit-table-wrap{border-color:#d4c5b0eb}.app-container.theme-light .hr-payroll-picker-trigger{border-color:#d4c5b0eb;background:linear-gradient(180deg,#fffcf8fa,#f5eee3f5)}.app-container.theme-light .hr-schedule-toolbar.is-payroll-toolbar input[type=month]{color-scheme:light;border-color:#d4c5b0eb;background:linear-gradient(180deg,#fffcf8fa,#f6efe5f5);color:var(--light-text-strong)}.app-container.theme-light .hr-schedule-toolbar.is-payroll-toolbar input[type=month]::-webkit-calendar-picker-indicator{opacity:.82;filter:none}.app-container.theme-light .hr-payroll-picker-head,.app-container.theme-light .hr-payroll-picker-option-code{color:var(--light-text-strong)}.app-container.theme-light .hr-payroll-picker-arrow,.app-container.theme-light .hr-payroll-picker-placeholder,.app-container.theme-light .hr-payroll-picker-option-name,.app-container.theme-light .hr-payroll-picker-footer,.app-container.theme-light .hr-table-refresh-hint{color:var(--light-text-soft)}.app-container.theme-light .hr-payroll-picker-tag{border-color:#b9a488c7;background:#e7d6c0eb;color:var(--light-text-strong)}.app-container.theme-light .hr-payroll-picker-panel{border-color:#d4c5b0eb;background:linear-gradient(180deg,#fffcf8fc,#f3ebe0fa);box-shadow:0 14px 28px #705d4a1f}.app-container.theme-light .hr-payroll-picker-search{border-bottom-color:#d4c5b0eb}.app-container.theme-light .hr-payroll-picker-option:hover{background:#b4884514}.app-container.theme-light .hr-payroll-picker-checkmark{border-color:#b9a488eb;background:#fffcf8fa}.app-container.theme-light .hr-payroll-picker-option.is-checked .hr-payroll-picker-checkmark{border-color:#365a4de0;background:linear-gradient(180deg,#486d5dfa,#314f43f5)}.app-container.theme-light .hr-payroll-picker-footer,.app-container.theme-light .hr-table-refresh-hint{border-color:#d4c5b0eb;background:#fffaf5e6}.app-container.theme-light .hr-payroll-sheet-status{color:var(--light-text-soft)}.app-container.theme-light .hr-payroll-preview-table thead th{background:linear-gradient(180deg,#f4ede3fa,#ece3d6fa);color:var(--light-text-strong)}.app-container.theme-light .hr-payroll-preview-row-index,.app-container.theme-light .hr-payroll-preview-table thead .hr-payroll-preview-row-index{background:linear-gradient(180deg,#efe7dcfc,#e6dbccfa);color:var(--light-text-strong);box-shadow:1px 0 #d4c5b0e6}.app-container.theme-light .hr-payroll-full-header-row-1,.app-container.theme-light .hr-payroll-full-table thead .is-sticky-col{background:linear-gradient(180deg,#f4ede3fa,#ece3d6fa)}.app-container.theme-light .hr-payroll-full-header-row-2{background:linear-gradient(180deg,#f8f3ecfa,#f0e8dcfa)}.app-container.theme-light .hr-payroll-full-table .is-sticky-col,.app-container.theme-light .hr-payroll-full-table tbody td.is-sticky-col{background:linear-gradient(180deg,#fffcf8fc,#f7f1e7fa)}.app-container.theme-light .hr-issue-tag-unscheduled,.app-container.theme-light .hr-issue-tag-blank_schedule{background:#d780722e;color:#8a4034}.app-container.theme-light .hr-issue-tag-rest_shortage,.app-container.theme-light .hr-issue-tag-rest_excess{background:#c9a0522e;color:#7a5822}.app-container.theme-light .hr-issue-tag-holiday_shift_mismatch{background:#6e89bc29;color:#3f597a}.app-container.theme-light .hr-issue-tag-identity_missing{background:#d987952e;color:#883d53}.app-container.theme-light .hr-issue-tag-contact_missing{background:#6faca32e;color:#2f6b65}.app-container.theme-light .hr-issue-tag-education_missing{background:#887ff129;color:#5a4fa3}.app-container.theme-light .hr-issue-tag-contract_missing{background:#c9a0522e;color:#7a5822}.app-container.theme-light .hr-issue-tag-salary_missing{background:#d780722e;color:#8a4034}.app-container.theme-light .hr-audit-details summary,.app-container.theme-light .hr-audit-detail-title{color:var(--light-text-strong)}.app-container.theme-light .hr-audit-detail-text,.app-container.theme-light .hr-audit-date-chip{color:var(--light-text)}.app-container.theme-light .hr-audit-date-chip{background:#7861490f;border-color:#d4c5b0eb}@media(max-width:1100px){.hr-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-schedule-hero{flex-direction:column}.hr-schedule-hero-meta{min-width:0;text-align:left}.hr-board-tab{flex:1 1 220px}}@media(max-width:720px){.hr-summary-grid{grid-template-columns:1fr}.hr-schedule-toolbar{align-items:stretch}.hr-filter-item,.hr-filter-item-wide,.hr-refresh-btn{width:100%}}.forecast-section{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.95fr);gap:10px;align-items:start}.forecast-main-panel{min-width:0}.forecast-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.forecast-chart{min-height:220px}.forecast-broadcast-panel{display:flex;flex-direction:column;min-width:0;align-self:start}.forecast-broadcast-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.forecast-broadcast-text{margin-top:12px;padding:14px 16px;min-height:0;width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(120,160,255,.18);background:linear-gradient(180deg,#182d59c2,#0f1e3fb8);color:#ebf0ffeb;font-size:14px;line-height:1.75;overflow:hidden;overflow-wrap:anywhere;flex:none}.forecast-broadcast-line{line-height:1.72;overflow-wrap:anywhere;word-break:break-word}.forecast-broadcast-line+.forecast-broadcast-line{margin-top:6px}.forecast-broadcast-line-title{font-weight:700}.forecast-broadcast-gap{height:16px}.card{background:linear-gradient(180deg,#1f3868e0,#13244ae0);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #00000059;padding:14px}.card-title{color:var(--muted);font-size:13px}.card-value{margin-top:8px;font-size:26px;font-weight:800}.card-sub{margin-top:6px;color:#7c8aa5;font-size:12px}.user-tag{font-size:12px;color:#ebf0ffcc;padding:0 4px}.login-wrap{min-height:100vh;display:flex;align-items:stretch;justify-content:center;padding:0}.login-scene{width:100%;min-height:100vh;position:relative;display:grid;grid-template-columns:1fr;place-items:center;isolation:isolate;overflow:hidden;background:#091d41}.login-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 8%,#0d2551,#0b214a 34%,#091d41 64%);pointer-events:none;z-index:0}.login-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#98e2bfeb,#98e2bfeb),url(/assets/login-guofeng-lines-eeEmpild.png) center / cover no-repeat;background-blend-mode:color;mix-blend-mode:multiply;opacity:.24;filter:contrast(1.08) saturate(1.18) brightness(1.02);pointer-events:none;z-index:1}.login-bg-layer{position:absolute;inset:0;pointer-events:none;z-index:1}.login-line-layer{position:absolute;inset:0;pointer-events:none}.login-line-grid{background:repeating-linear-gradient(34deg,rgba(120,170,232,.04) 0 1px,transparent 1px 72px),repeating-linear-gradient(-34deg,rgba(108,160,230,.035) 0 1px,transparent 1px 72px);opacity:.05}.login-line-sweep-1{background:radial-gradient(circle at 18% 42%,rgba(112,174,246,.12),transparent 24%),linear-gradient(96deg,transparent 0 34%,rgba(133,188,255,.12) 42%,transparent 52%);opacity:.08}.login-line-sweep-2,.login-line-sweep-3,.login-line-accent{opacity:0}.login-space{position:relative;z-index:2;display:none}.login-card-shell{display:flex;position:relative;z-index:3;align-items:center;justify-content:center;width:min(100%,calc(100% / 2.55));padding:clamp(18px,3.5vw,42px);background:transparent}.login-card{width:min(520px,100%);display:grid;gap:10px;padding:clamp(22px,3vw,30px);border-radius:12px;border:1px solid rgba(97,146,216,.55);background:#102c59eb;box-shadow:0 10px 24px #040e2657}.login-title{margin:0;font-size:34px;letter-spacing:.02em}.login-subtitle{color:#bfd6f4d6;font-size:15px;margin-bottom:6px}.login-label{font-size:13px;color:#b7d3f6e6}.login-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.login-switch-btn{border:1px solid rgba(112,166,238,.42);background:#071c3ec7;color:#bedaf8e6;font-weight:700;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.login-switch-btn:hover{border-color:#88bfffad;transform:translateY(-1px)}.login-switch-btn.active{border-color:#93c9ffe0;background:#447ed073;color:#eef5ff}.login-control{display:grid;grid-template-columns:20px 1fr 28px;align-items:center;gap:10px;min-height:54px;padding:0 12px;border:1px solid rgba(112,168,240,.42);border-radius:10px;background:linear-gradient(180deg,#2d4b8457,#182d5c70);transition:border-color .16s ease,box-shadow .16s ease}.login-control:hover{border-color:#8cc6ffb8}.login-control:focus-within{border-color:#96d3fffa;box-shadow:0 0 0 2px #589be847}.login-control-icon{width:18px;height:18px;color:#bad6f8eb}.login-control-icon svg{width:100%;height:100%;display:block;fill:currentColor}.login-control-input{border:none;outline:none;background:transparent;color:#e4f1fffa;font-size:14px;letter-spacing:.01em;padding:0}.login-control input.login-control-input,.login-control input.login-control-input:hover,.login-control input.login-control-input:focus{border:none;border-radius:0;background:transparent;box-shadow:none;padding:0}.login-control-input::placeholder{color:#c6ddfacc}.login-control-tail{display:grid;place-items:center;width:28px;height:28px;border:none;background:transparent;color:#c7ddfbe6;padding:0;font-size:38px;line-height:1;cursor:pointer}.login-control-tail svg{width:19px;height:19px;display:block;fill:currentColor}.login-control-tail:disabled{opacity:.42;cursor:default}.login-aux{display:flex;align-items:center;justify-content:space-between;gap:10px}.login-remember{display:inline-flex;align-items:center;gap:8px;color:#c6ddf8e0;font-size:15px}.login-remember input{width:16px;height:16px;accent-color:rgba(136,190,255,.95)}.login-link{border:none;background:transparent;color:#cadff9e6;font-size:15px;cursor:pointer;padding:0}.login-link:hover{color:#fff}.login-card input:not(.login-control-input),.login-card select{border:1px solid rgba(114,170,242,.42);background:#081e42d1;color:#e5f2fff5;border-radius:8px;padding:9px 11px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-card input:not(.login-control-input)::placeholder{color:#a8c8ecbd}.login-card input:not(.login-control-input):hover,.login-card select:hover{border-color:#8dc3ffbd}.login-card input:not(.login-control-input):focus,.login-card select:focus{border-color:#81c4fff2;box-shadow:0 0 0 2px #4992ea40;background:#082248e6}.login-card select option{color:#122b52}.login-card input#register-name,.login-card input#register-phone,.login-card input#register-password,.login-card input#register-region,.login-card select#register-region{border-color:#f7ce5ed1;background:linear-gradient(180deg,#112a5af5,#091b3ff5);color:#ffe083;font-weight:600}.login-card input#register-name::placeholder,.login-card input#register-phone::placeholder,.login-card input#register-password::placeholder,.login-card input#register-region::placeholder{color:#ffe085c7}.login-card input#register-name:hover,.login-card input#register-phone:hover,.login-card input#register-password:hover,.login-card input#register-region:hover,.login-card select#register-region:hover{border-color:#ffda70f5}.login-card input#register-name:focus,.login-card input#register-phone:focus,.login-card input#register-password:focus,.login-card input#register-region:focus,.login-card select#register-region:focus{border-color:#ffd86d;box-shadow:0 0 0 2px #f7ce5e52;background:linear-gradient(180deg,#153268fa,#0b1f48fa)}.login-card select#register-region option{color:#0f2d59;background:#f4f9ff}.login-error{color:#ffb4bc;font-size:13px}.login-success{color:#9be5bf;font-size:13px}.login-btn{margin-top:2px;min-height:46px;border-radius:8px;border:1px solid rgba(122,177,245,.78);background:linear-gradient(180deg,#4e8fe1,#326cbf);color:#eef6ff;font-size:24px;letter-spacing:.08em;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;box-shadow:0 8px 18px #3d77c657}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 22px #4380d366;filter:brightness(1.03)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.login-btn-yellow{border-color:#f9dd7d;background:linear-gradient(180deg,#f6d86a,#e9bf43);color:#1a355f;box-shadow:0 10px 22px #ecc14e57}.login-btn-yellow:hover:not(:disabled){box-shadow:0 12px 24px #ecc14e6b}.login-api{color:#a3c4ecc2;font-size:12px;margin-top:2px}@media(max-width:1380px){.forecast-section{grid-template-columns:minmax(0,1.2fr) minmax(320px,.95fr)}}@media(max-width:980px){.app-container{padding:12px}.app-topbar{margin:-12px -12px 12px;padding:12px}.forecast-section,.forecast-summary-grid{grid-template-columns:1fr}.forecast-chart{min-height:200px}.forecast-broadcast-text{min-height:0}.app-menu-bar{width:100%;justify-content:flex-start;overflow-x:auto;padding:4px}.app-menu-item{font-size:14px;padding:6px 12px;white-space:nowrap}.app-top-meta{width:100%;justify-content:space-between}.app-store-layout,.login-scene{grid-template-columns:1fr}.login-space{display:none}.login-card-shell{justify-content:center;width:100%;padding:16px}.login-card{width:min(620px,100%)}.login-btn{font-size:24px}}@media(max-width:768px){.app-container{padding:10px}.app-topbar{margin:-10px -10px 10px;padding:10px;gap:10px}.app-menu-bar{gap:6px}.app-top-meta{align-items:stretch;justify-content:flex-start;gap:8px}.dashboard-toolbar{width:100%;justify-content:flex-start}.user-tag{width:100%;font-size:12px;line-height:1.5;word-break:break-all}.theme-switch{width:auto;flex-shrink:0}.theme-switch-btn{padding:6px 10px}.panel-pad{padding:10px}.dashboard-shell .card{min-width:0}.dashboard-top-cards-grid .card{padding:10px;border-radius:12px}.dashboard-top-cards-grid .title{font-size:12px}.dashboard-top-cards-grid .value{margin-top:6px;font-size:18px;line-height:1.1}.dashboard-top-cards-grid .sub{margin-top:4px;font-size:11px;line-height:1.35}.dashboard-shell .h2{font-size:22px}.compare-filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start!important;overflow:visible!important}.compare-filter-item{min-width:0!important;width:100%}.compare-filter-range{grid-column:1 / -1}.compare-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compare-summary-card{padding:8px 10px!important;min-height:84px!important;line-height:1.55!important}.compare-summary-card .title{font-size:12px}.compare-summary-card .value{font-size:18px!important;line-height:1.1!important}.compare-summary-card .sub{font-size:11px;line-height:1.35}.forecast-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}.section-export-toolbar{justify-content:stretch}.section-export-toolbar .app-action-btn{width:100%}.group-completion-grid{grid-template-columns:1fr}.forecast-summary-card{padding:8px 10px!important}.forecast-summary-card .title{font-size:12px}.forecast-summary-card .value{font-size:18px!important;line-height:1.1!important}.forecast-summary-card .sub{font-size:11px;line-height:1.4}.forecast-broadcast-header{align-items:stretch;flex-direction:column}.forecast-broadcast-header .app-action-btn{width:100%}}
