:root{--background:#f8fafc;--foreground:#111827;--muted:#6b7280;--border:#e5e7eb;--card:#ffffff;--primary:#1f2937;--primary-hover:#111827;--success-bg:#ecfdf5;--success-text:#065f46;--error-bg:#fef2f2;--error-text:#991b1b}*{box-sizing:border-box}body,html{min-width:360px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;overflow-x:auto}a{color:inherit}.page-shell{max-width:1080px;margin:0 auto;padding:32px 20px}.stack{display:flex;flex-direction:column;gap:16px}.card,.hero-card{border:1px solid var(--border);border-radius:18px;padding:22px;background:var(--card);box-shadow:0 1px 2px rgba(15,23,42,.04)}.hero-card{padding:32px}h1,h2,p{margin-top:0}h1,h2{margin-bottom:8px}.muted{color:var(--muted)}.large-text{font-size:1.1rem;line-height:1.6}.eyebrow{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:8px;font-weight:700}input,textarea{width:100%;border:1px solid var(--border);border-radius:12px;color:var(--foreground);font:inherit;padding:11px 12px}input{min-height:54px}.activity-combobox-input[aria-invalid=true],input[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.3)}.inline-check{align-items:center;display:flex;gap:10px;font-weight:600}.inline-check input{flex:0 0 auto;min-height:auto;width:auto}.field-error{color:var(--error-text);font-size:.9rem;font-weight:500;line-height:1.35}.register-control-row{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(180px,220px)}.register-side-control{align-items:center;display:flex;min-height:54px}.register-side-control .button{min-height:54px;width:100%}.password-strength{border:1px solid var(--border);border-radius:12px;flex-direction:column;font-weight:700;justify-content:center;padding:8px 12px}.password-strength span{color:var(--muted);font-size:.9rem;font-weight:500}.password-strength.valid{background:var(--success-bg);border-color:#bbf7d0;color:var(--success-text)}.password-strength.invalid{background:var(--error-bg);border-color:#fecaca;color:var(--error-text)}.password-checklist{display:flex;flex-wrap:wrap;gap:8px}.password-checklist span{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.9rem;padding:6px 10px}.password-checklist span.valid{background:var(--success-bg);border-color:#bbf7d0;color:var(--success-text)}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;height:26px;width:26px}.field-help{color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.35}.warning-text{color:#9a3412}.event-overlap-note{font-size:.82rem;margin:6px 0 0}.draft-status-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.draft-notice{background:#f8fafc;border:1px solid var(--border);color:var(--muted);flex:1 1;margin:0}.manual-date-picker{position:relative}.date-picker-button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;display:flex;font:inherit;gap:10px;justify-content:space-between;min-height:54px;padding:11px 12px;width:100%}.date-picker-button:hover{border-color:var(--primary)}.date-picker-button[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.3)}.date-picker-button:disabled{cursor:not-allowed;opacity:.55}.date-picker-popover{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.2);left:0;margin-top:8px;max-width:min(440px,calc(100vw - 48px));padding:16px;position:absolute;width:440px;z-index:35}.date-picker-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.date-picker-header strong{text-align:center}.calendar-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{color:var(--muted);font-size:.78rem;font-weight:700;padding:4px 0;text-align:center;text-transform:uppercase}.calendar-day{align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:46px;position:relative;padding:0}.calendar-day:hover:not(:disabled){border-color:var(--primary);box-shadow:0 1px 4px rgba(15,23,42,.12)}.calendar-day.today:not(.selected){background:#f8fafc}.calendar-day.occupied:not(.selected){background:#e2e8f0;border-color:#94a3b8;color:#334155}.calendar-day.selected.occupied{box-shadow:inset 0 -4px 0 #475569}.calendar-day.selected{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-day:disabled{color:#cbd5e1;cursor:not-allowed}.calendar-day.empty{border:0;min-height:46px}.date-range-note{font-size:.9rem;margin:12px 0 0}.native-date-fallback{margin-top:8px}.native-date-fallback summary{color:var(--muted);cursor:pointer;font-size:.9rem;font-weight:500}.native-date-fallback .date-input{margin-top:8px}.file-input{align-content:center;min-height:54px}textarea{resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;line-height:1.2;padding:10px 16px;text-align:center;text-decoration:none}.button:hover{background:var(--primary-hover)}.button:disabled{cursor:not-allowed;opacity:.55}.button.secondary{background:#fff;color:var(--foreground)}.button.secondary:hover{background:#f3f4f6}.button.danger{background:#991b1b;border-color:#991b1b}.button.danger:hover{background:#7f1d1d}.link-button{width:-moz-fit-content;width:fit-content}.submit-action-wrap{align-items:stretch;display:flex;flex-direction:column;gap:8px;position:relative}.submit-button{width:100%}.submit-tooltip{align-self:center;background:#020617;border-radius:10px;color:#fff;font-size:1rem;font-weight:700;line-height:1.35;max-width:420px;padding:10px 14px;text-align:center}.small-button{font-size:.92rem;padding:7px 12px}.status-pill{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#3730a3;display:inline-flex;font-size:.9rem;font-weight:700;line-height:1;padding:7px 10px;white-space:nowrap}.back-button{width:-moz-fit-content;width:fit-content}.grid-two{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-three{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.split-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.split-row>.button,.split-row>.button-row{flex-shrink:0}.split-row>.button{min-width:88px;white-space:nowrap}.notice{border-radius:12px;padding:12px 14px}.notice.success,.success-card{background:var(--success-bg);border-color:#bbf7d0;color:var(--success-text)}.notice.error{background:var(--error-bg);color:var(--error-text)}.code-block{background:#0f172a;border-radius:12px;color:#e5e7eb;display:block;padding:12px;word-break:break-all}.code-block,.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:720px;width:100%}td,th{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:.85rem;text-transform:uppercase}@media (max-width:760px){.grid-three,.grid-two{grid-template-columns:1fr}.split-row{flex-direction:column}}select{width:100%;border:1px solid var(--border);border-radius:12px;color:var(--foreground);font:inherit;padding:11px 12px;background:#fff}.review-list{gap:10px}.review-list,.review-list-item{display:flex;flex-direction:column}.review-list-item{background:#fff;border:1px solid var(--border);border-radius:14px;color:var(--foreground);cursor:pointer;gap:4px;padding:12px;text-align:left}.review-list-item.active,.review-list-item:hover{border-color:var(--primary);box-shadow:0 1px 3px rgba(15,23,42,.08)}.review-title{font-weight:700}.metric-card{border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:6px;padding:14px}.metric-card strong{font-size:1.6rem}.admin-review-layout{align-items:start}.notice.warning{background:#fff7ed;color:#9a3412}.prominent-notice{border:1px solid}.empty-state{max-width:680px}.flag-row{border:1px solid var(--border);border-radius:12px;gap:16px;justify-content:space-between;padding:12px}.flag-row,.switch-label{align-items:center;display:flex}.switch-label{font-weight:700;gap:8px;white-space:nowrap}.switch-label input{height:18px;width:18px}.info-list{background:#f8fafc;border:1px solid var(--border);border-radius:14px;display:grid;grid-gap:10px;gap:10px;padding:14px}.notice.compact{padding:10px 12px}.metric-small{font-size:1rem!important;line-height:1.35}.split-button-wrap{display:inline-flex;position:relative;width:-moz-fit-content;width:fit-content}.split-main{border-bottom-right-radius:0;border-top-right-radius:0}.split-caret{border-bottom-left-radius:0;border-left:1px solid rgba(255,255,255,.3);border-top-left-radius:0;min-width:44px;padding-left:12px;padding-right:12px}.dropdown-menu{border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.14);left:0;min-width:min(340px,calc(100vw - 40px));overflow:hidden;position:absolute;top:calc(100% + 8px);z-index:20}.dropdown-menu,.dropdown-menu button{background:#fff;display:flex;flex-direction:column}.dropdown-menu button{border:0;border-bottom:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;gap:4px;padding:12px 14px;text-align:left}.dropdown-menu button:last-child{border-bottom:0}.dropdown-menu button:hover{background:#f8fafc}.dropdown-menu span{color:var(--muted);font-size:.9rem}.dev-panel{border:1px dashed var(--border);border-radius:14px;padding:12px}.modal-backdrop{align-items:center;background:rgba(15,23,42,.46);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.modal-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(15,23,42,.24);max-width:540px;padding:22px;width:100%}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-scroll{max-height:min(50vh,420px);overflow:auto}.next-step-list{display:grid;grid-gap:10px;gap:10px}.next-step-item{padding:12px}.activity-entry,.next-step-item{border:1px solid var(--border);border-radius:14px}.activity-entry{display:flex;flex-direction:column;gap:14px;padding:14px}.activity-combobox{position:relative;width:100%}.activity-combobox-input{background:#fff}.activity-combobox-menu{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 34px rgba(15,23,42,.16);display:flex;flex-direction:column;left:0;max-height:320px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:100%;z-index:30}.activity-combobox-option{align-items:center;background:#fff;border:0;border-radius:8px;color:var(--foreground);cursor:pointer;display:flex;font:inherit;gap:10px;padding:10px 12px;text-align:left;width:100%}.activity-combobox-option.focused{background:#f3f4f6}.activity-combobox-option.selected{background:#e0f2fe;color:#075985;font-weight:700}.activity-combobox-option.selected.focused{background:#bae6fd}.activity-option-icon{align-items:center;display:inline-flex;flex:0 0 24px;font-size:1rem;justify-content:center;line-height:1}.compact-field{max-width:180px}.pagination-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.week-history-card{border:1px solid var(--border);border-radius:14px;padding:16px}.weekly-activity-table{max-height:360px;overflow:auto}.review-decision-toggle{border:1px solid var(--border);border-radius:16px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.review-decision{background:#fff;border:0;color:var(--foreground);cursor:pointer;font:inherit;font-weight:700;padding:14px}.review-decision.approve{border-right:1px solid var(--border)}.review-decision.approve.active{background:var(--success-bg);color:var(--success-text)}.review-decision.reject.active{background:var(--error-bg);color:var(--error-text)}@media (max-width:760px){.page-shell{padding:20px 12px}.card,.hero-card{border-radius:16px;padding:18px}.button,.button-row,.link-button{width:100%}.register-control-row{grid-template-columns:1fr}.register-side-control,.split-button-wrap{width:100%}.split-main{flex:1 1;width:auto}.split-caret{width:48px}.dropdown-menu{min-width:100%}.draft-status-row{flex-direction:column}.draft-status-row .button{width:100%}.date-picker-popover{max-width:calc(100vw - 32px);padding:12px;width:calc(100vw - 32px)}.date-picker-header{align-items:stretch;flex-direction:column}.calendar-grid{gap:4px}.calendar-day{min-height:42px}}.event-checkbox{width:-moz-fit-content;width:fit-content}.event-checkbox input{min-height:auto}.event-summary-grid .metric-card strong{font-size:1.8rem}.event-timeline{display:grid;grid-gap:10px;gap:10px}.timeline-item{align-items:flex-start;border:1px solid var(--border);border-radius:14px;display:flex;gap:16px;justify-content:space-between;padding:14px}.timeline-item p{margin-bottom:0}.timeline-period{background:#f8fafc}.timeline-gap{background:#fff7ed;border-style:dashed;color:#9a3412}.timeline-copy{gap:6px}.scoring-rule-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.75fr)}.rule-editor-card{min-width:0}.rule-band-section{border-top:1px solid var(--border);padding-top:16px}.rule-band-section h3{margin:0 0 6px}.rule-band-table{min-width:620px}.rule-band-table input{min-height:46px;min-width:110px}@media (max-width:900px){.scoring-rule-layout{grid-template-columns:1fr}.timeline-item{flex-direction:column}}.section-feedback{margin-top:4px;outline:none}.selected-event-summary{box-shadow:inset 5px 0 0 #7c3aed,0 1px 2px rgba(15,23,42,.04)}.selected-event-summary h2{margin-bottom:4px}.selected-event-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-pill{align-items:center;background:#f8fafc;border-radius:999px;color:#334155;display:inline-flex;font-size:.86rem;font-weight:800;gap:4px;line-height:1.1;padding:7px 11px;white-space:nowrap}.admin-pill.status{background:#eef2ff;color:#3730a3}.admin-pill.coverage{background:#ecfdf5;color:#065f46}.admin-pill.today{background:#f3e8ff;color:#5b21b6}.event-list-actions{flex-wrap:nowrap}.event-row-confirmation{max-width:560px}.activation-confirmation{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.confirmation-actions{align-items:center}.schedule-timeline-header{align-items:start;display:grid;grid-gap:16px 24px;gap:16px 24px;grid-template-columns:minmax(0,1fr) minmax(240px,38%)}.schedule-timeline-copy{min-width:0}.schedule-action-panel{align-items:stretch;justify-self:stretch;width:100%}.schedule-action-panel>.button{width:100%}.schedule-wide-confirmation{grid-column:1/-1}.schedule-create-preview{display:grid;grid-gap:4px;gap:4px}.event-range-popover{max-width:min(780px,calc(100vw - 48px));width:780px}.range-calendar-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.range-calendar-month{display:grid;grid-gap:10px;gap:10px}.range-calendar-month>strong{text-align:center}.range-calendar-day.occupied{background:#e2e8f0;border-color:#94a3b8;color:#334155;position:relative}.range-calendar-day.out-of-range{background:#f8fafc;border-color:#e2e8f0;color:#cbd5e1}.range-calendar-day.range-middle{background:#ede9fe;border-color:#c4b5fd;border-radius:7px;color:#5b21b6}.range-calendar-day.selected.range-end,.range-calendar-day.selected.range-start{background:#7c3aed;border-color:#6d28d9;color:#fff}.range-calendar-day.range-preview{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.range-calendar-day.range-preview-edge{background:#ddd6fe;border-color:#a78bfa}.range-calendar-day.occupied-selected{box-shadow:inset 0 -4px 0 #475569}.occupied-marker{background:#475569;border:1px solid #fff;border-radius:999px;bottom:3px;height:6px;position:absolute;right:3px;width:6px}.range-picker-legend{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:14px;padding-top:12px}.range-picker-legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:.82rem;gap:6px}.legend-swatch{border:1px solid var(--border);border-radius:4px;display:inline-block;height:14px;width:18px}.legend-swatch.occupied{background:#e2e8f0;border-color:#94a3b8}.legend-swatch.current{background:#7c3aed;border-color:#6d28d9}.legend-swatch.preview{background:#f5f3ff;border-color:#ddd6fe}.legend-dot{background:#475569;border-radius:999px;display:inline-block;height:8px;width:8px}.native-range-inputs{margin-top:8px}.standard-fill-accordion{border:1px solid var(--border);border-radius:14px;margin-top:8px;padding:0 16px}.standard-fill-accordion summary{cursor:pointer;font-weight:800;padding:16px 0}.standard-fill-content{border-top:1px solid var(--border);padding:16px 0}.period-delete-confirmation{margin-top:6px}.rebuild-preview{border:1px solid}.rule-length-confirmation{max-width:680px}.review-decision.completed{cursor:default;opacity:.72}.review-decision.approve.active.completed{background:#dcfce7;color:#166534}.review-decision.reject.active.completed{background:#fee2e2;color:#991b1b}.review-completed-notice{background:#f8fafc;border:1px solid var(--border);color:var(--muted)}@media (max-width:760px){.event-range-popover{max-width:calc(100vw - 32px);width:calc(100vw - 32px)}.range-calendar-grid{grid-template-columns:1fr}.range-calendar-month+.range-calendar-month{display:none}.selected-event-meta{justify-content:flex-start}.event-list-actions{flex-wrap:wrap}.schedule-timeline-header{grid-template-columns:1fr}.schedule-action-panel{justify-self:stretch}}.i18n-zh,html[data-language=zh] .i18n-en{display:none}html[data-language=zh] .i18n-zh{display:inline}.i18n-block>.i18n-en,html[data-language=zh] .i18n-block>.i18n-zh{display:block}.language-switcher{align-items:center;background:rgba(255,255,255,.95);border:1px solid var(--border);border-radius:999px;box-shadow:0 1px 6px rgba(15,23,42,.08);display:flex;gap:8px;padding:6px 8px 6px 12px;position:fixed;right:14px;top:14px;z-index:60}.language-switcher-label{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.language-switcher-buttons{display:flex;gap:4px}.language-button{background:transparent;border:1px solid transparent;border-radius:999px;color:var(--foreground);cursor:pointer;font:inherit;font-size:.85rem;font-weight:700;padding:5px 9px}.language-button.active,html[data-language=en] .language-button[data-language-option=en],html[data-language=zh] .language-button[data-language-option=zh]{background:var(--primary);color:white}html[data-language=en] .language-button[data-language-option=zh],html[data-language=zh] .language-button[data-language-option=en]{background:transparent;color:var(--foreground)}@media (max-width:720px){.language-switcher{border-radius:14px;flex-direction:column;gap:4px;right:8px;top:8px}.page-shell{padding-top:76px}}.localized-file-input{align-items:center;border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;min-height:54px;padding:8px 10px}.localized-file-input:has(input[aria-invalid=true]),.localized-file-input[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.3)}.localized-file-input input[type=file]{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.localized-file-button{flex:0 0 auto}.localized-file-name{color:var(--muted);font-weight:500;min-width:0;overflow-wrap:anywhere}.dashboard-hero-row{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(280px,1.6fr)}.dashboard-actions{justify-content:flex-end;min-width:0}@media (max-width:900px){.dashboard-hero-row{grid-template-columns:1fr}.dashboard-actions{justify-content:flex-start}}.compact-danger-button{min-width:56px;padding-left:10px;padding-right:10px}.full-width-field{grid-column:1/-1}.activity-edit-grid{align-items:start}.activity-translation-editor{border:1px solid var(--border);border-radius:14px;padding:12px}