:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f7;--panel:#fff;--ink:#142028;--muted:#66737c;--line:#dbe4e6;--teal:#0f766e;--teal-dark:#0b5f59;--blue:#1d4ed8;--slate:#334155;--amber:#b7791f;--red:#b42318;--green:#157347;--shadow:0 10px 30px #0f172a14}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{min-height:42px;color:var(--ink);background:#e8eef1;border:0;border-radius:8px;padding:0 14px;font-weight:700}button.primary{background:var(--teal);color:#fff}button.ghost{border:1px solid var(--line);background:0 0}button.danger{color:var(--red);background:#fee4e2}button.success{color:var(--green);background:#dcfce7}button:disabled{opacity:.5}.app-shell{min-height:100vh;padding-bottom:88px}.topbar{z-index:5;padding:14px 16px 12px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f7f5;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.top-actions{flex-shrink:0;gap:8px;display:flex}.eyebrow{color:var(--teal);margin:0 0 2px;font-size:12px;font-weight:900}h1,h2,h3,p{margin:0}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}.muted{color:var(--muted)}.hint{margin-top:10px;font-size:12px;line-height:1.5}.container{width:min(980px,100%);margin:0 auto;padding:12px}.panel,.schedule-card,.request-card,.stat-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.panel{margin-bottom:12px;padding:14px}.login{align-content:center;min-height:100vh;padding:18px;display:grid}.login-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;margin:0 auto;padding:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}label{color:var(--muted);gap:5px;font-size:13px;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}textarea{min-height:76px;padding:10px}.toolbar{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}.segment{background:#edf3f4;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;padding:4px;display:grid}.segment button{min-height:38px;color:var(--muted);background:0 0}.segment button.active{color:var(--teal-dark);background:#fff;box-shadow:0 1px 8px #0f172a14}.module-tabs{top:calc(64px + env(safe-area-inset-top));z-index:4;background:var(--bg);gap:6px;padding:6px 0 8px;display:flex;position:sticky;overflow-x:auto}.module-tabs button{min-height:38px;color:var(--muted);white-space:nowrap;background:#e8eef1;flex:none;padding:0 12px}.module-tabs button.active{background:var(--teal);color:#fff}.segmented{gap:6px;display:flex;overflow-x:auto}.segmented button{min-height:34px;color:var(--muted);background:#e8eef1;flex:none;padding:0 10px}.segmented button.active{background:var(--teal);color:#fff}.list,.list-section,.inner-list{gap:10px;display:grid}.schedule-card,.request-card,.stat-card{padding:12px}.review-score{margin-top:10px}.review-score input{max-width:180px}.edit-panel{border-top:1px solid var(--line);gap:10px;margin-top:4px;padding-top:10px;display:grid}.card-head{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.date-title{font-weight:900}.shift-row{grid-template-columns:54px 1fr;align-items:start;gap:8px;margin-top:8px;display:grid}.shift-label{text-align:center;color:#fff;border-radius:6px;padding:5px 6px;font-size:13px;font-weight:900}.day-label{background:var(--blue)}.night-label{background:var(--slate)}.names{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--teal-dark);background:#eef6f5;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-weight:800;display:inline-flex}.chip.highlight{color:#9a3412;background:#fff7ed;box-shadow:inset 0 0 0 1px #fed7aa}.chip small{color:#fff;background:#ea580c;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:900}.note{border-left:3px solid var(--amber);color:#6f4e12;margin-top:10px;padding-left:8px;font-size:13px}.watch-note{border-left:3px solid var(--slate);color:var(--slate);background:#f8fafc;gap:4px;margin-top:10px;padding:8px 10px;font-size:13px;display:grid}.watch-note.confirmed{border-left-color:var(--teal);color:var(--teal-dark);background:#ecfdf5}.watch-note span{color:var(--muted)}.approval-reference{color:#7c2d12;background:#fff7ed;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:800}.impact-preview{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:8px;padding:10px;display:grid}.impact-preview>strong{font-size:13px}.impact-shift{gap:6px;display:grid}.impact-title{color:var(--slate);font-size:13px;font-weight:900}.impact-row{color:var(--muted);grid-template-columns:52px 1fr;align-items:start;gap:8px;font-size:12px;font-weight:800;display:grid}.names.compact{gap:5px}.muted-chip{color:var(--slate);background:#edf2f7}.impact-chip{color:#9a3412;background:#fff7ed;box-shadow:inset 0 0 0 1px #fed7aa}.reject-note{margin-top:2px}.request-card{gap:8px;display:grid}.request-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.score-list{gap:6px;margin-top:12px;display:grid}.score-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 48px;align-items:center;gap:10px;padding:8px 0;display:grid}.score-row span{font-weight:900}.score-row strong{color:var(--teal-dark);font-size:18px}.score-row small{color:var(--muted);text-align:right}.status-pill{color:var(--muted);white-space:nowrap;background:#e8eef1;border-radius:999px;align-self:start;padding:4px 8px;font-size:12px;font-weight:900}.status-pill.approved{color:var(--green);background:#dcfce7}.status-pill.rejected,.status-pill.urgent{color:var(--red);background:#fee4e2}.status-pill.warning{color:#92400e;background:#fff3d6}.status-pill.normal{color:var(--teal-dark);background:#dff7f2}.status-pill.low{color:var(--muted);background:#edf2f7}.stat-card{grid-template-columns:1.2fr repeat(5,.75fr);align-items:center;gap:6px;display:grid}.stat-name{font-weight:900}.stat-number{text-align:center}.stat-number strong{font-size:18px;display:block}.stat-number span{color:var(--muted);font-size:11px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.stat-grid .stat-number{border:1px solid var(--line);background:#f8fafb;border-radius:8px;padding:7px 5px}.fault-card h3{overflow-wrap:anywhere}.compact-fault-card{gap:7px;padding:12px}.fault-card-top{grid-template-columns:1fr auto;align-items:start;gap:8px;display:grid}.fault-card-top h3{margin:0;font-size:16px;line-height:1.3}.fault-time-row{color:var(--slate);justify-content:space-between;gap:8px;font-size:14px;display:flex}.fault-time-row span{color:var(--teal-dark);white-space:nowrap;font-weight:900}.fault-impact-line,.fault-location-line,.fault-conclusion-line,.latest-line{margin:0;font-size:13px;line-height:1.45}.fault-location-line{color:var(--text);font-weight:800}.fault-conclusion-line{color:#7c2d12}.fault-task-strip,.fault-task-card{border-left:4px solid var(--line)}.fault-task-strip{background:#f8fafc;border-radius:8px;gap:6px;margin:8px 0;padding:10px;display:grid}.fault-task-strip strong,.fault-task-card h3{font-size:15px}.fault-task-strip.warning,.fault-task-card.warning{border-left-color:var(--amber);background:#fff8e8}.fault-task-strip.urgent,.fault-task-card.urgent{border-left-color:var(--red);background:#fff5f5}.fault-task-strip.normal,.fault-task-card.normal{border-left-color:var(--teal)}.fault-task-strip.low,.fault-task-card.low{border-left-color:#94a3b8}.fault-task-strip.compact{grid-template-columns:auto 1fr;align-items:center;font-size:13px}.fault-workbench-section,.compact-filter-panel,.report-generate-box,.compact-task-list{gap:8px;display:grid}.fault-workbench-section>h3,.section-title-inline{color:var(--slate);margin:4px 0 0;font-size:15px}.compact-empty{padding:12px}.deadline-text{color:var(--red);margin:0;font-size:13px;font-weight:900}.quick-options{flex-wrap:wrap;gap:6px;display:flex}.quick-options .small{min-height:34px;padding:0 9px;font-size:12px}.quick-options .small.active{background:var(--teal);color:#fff}.report-field{gap:6px;display:grid}.report-field strong{color:var(--slate);font-size:13px}.report-builder-backdrop{z-index:20;background:#0f172a47;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.report-builder{border:1px solid var(--line);width:min(640px,100%);max-height:min(82vh,720px);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:12px;margin:0 auto;padding:14px;display:grid;overflow:auto}.report-choice-list{gap:8px;display:grid}.report-choice-card{border:1px solid var(--line);min-height:58px;color:var(--text);text-align:left;background:#f8fafb;justify-items:start;gap:4px;padding:10px 12px;display:grid}.report-choice-card strong{font-size:15px}.report-choice-card span{color:var(--muted);font-size:12px;line-height:1.4}.report-choice-card .report-choice-primary{color:var(--text);font-weight:700}.report-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.medium-fault-module{background:#f3f7ff;border:1px solid #dbeafe;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #2563eb1a}.medium-fault-header{color:#fff;text-align:center;background:linear-gradient(#20c3ee,#3d7df2);padding:18px 18px 16px}.medium-fault-header h2,.medium-fault-header p{margin:0}.medium-fault-header h2{font-size:23px}.medium-fault-header p{opacity:.86;margin-top:4px;font-size:12px}.medium-fault-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 12px 8px;display:grid}.medium-fault-tabs button{color:#3478e5;background:#fff;border:1px solid #3b82f6;border-radius:6px;min-height:40px;font-weight:900}.medium-fault-tabs button.active{color:#fff;background:#4285ee}.medium-fault-date-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:7px;padding:4px 12px 8px;display:grid}.medium-fault-date-row label{color:#64748b;gap:3px;font-size:11px}.medium-fault-date-row input{background:#fff;min-width:0;height:36px;padding:0 7px}.medium-fault-date-row>span{color:#64748b;padding-bottom:9px}.medium-fault-presets{gap:7px;padding:0 12px 10px;display:flex}.medium-fault-presets button{color:#52647b;background:#e5edfa;border:0;border-radius:999px;min-height:30px;padding:0 12px;font-size:12px}.medium-fault-presets button.active{color:#2563eb;background:#dbeafe}.medium-fault-search{color:#64748b;margin:0 12px 12px;font-size:12px}.medium-fault-search input{background:#fff}.medium-fault-summary{gap:8px;padding:0 12px 14px;display:grid}.medium-fault-summary-head,.medium-fault-summary-row{text-align:center;background:#fff;border-radius:9px;grid-template-columns:minmax(88px,1.35fr) repeat(3,minmax(52px,.7fr));align-items:center;gap:4px;min-height:48px;padding:8px 10px;display:grid}.medium-fault-summary-head{color:#475569;min-height:42px}.medium-fault-summary-head strong:first-child,.medium-fault-summary-row strong{text-align:left;overflow-wrap:anywhere}.medium-fault-summary-head strong:nth-child(2){color:#3b82f6}.medium-fault-summary-head strong:nth-child(3){color:#e9a23b}.medium-fault-summary-head strong:nth-child(4){color:#ef7f37}.medium-fault-summary-row span{font-size:17px}.medium-fault-summary.bars .medium-fault-summary-head{grid-template-columns:minmax(88px,1fr) 2fr}.medium-fault-bar-row{background:#fff;border-radius:9px;grid-template-columns:minmax(82px,1fr) 2.2fr 28px;align-items:center;gap:8px;min-height:50px;padding:8px 10px;display:grid}.medium-fault-bar-row strong{overflow-wrap:anywhere}.medium-fault-bar-row b{color:#1684ee;text-align:center;font-size:18px}.medium-fault-bar-track{background:#edf3fa;border-radius:999px;height:22px;overflow:hidden}.medium-fault-bar-track span{border-radius:inherit;background:linear-gradient(90deg,#c9f4fb,#69b8fa);height:100%;display:block}.medium-fault-empty{color:#94a3b8;text-align:center;background:#fff;border-radius:9px;padding:22px}.fault-kind-icon{color:#3b82f6;vertical-align:middle;border:2px solid #5894fb;border-radius:50%;place-items:center;width:30px;height:30px;margin-right:7px;font-size:14px;display:inline-grid}.reference-fault-detail{background:#f8fbff;border-radius:10px;gap:7px;padding:10px;display:grid}.reference-fault-detail p{grid-template-columns:90px 1fr;gap:8px;margin:0;display:grid}.reference-fault-detail span{color:#64748b}.reference-fault-detail strong{color:#334155;overflow-wrap:anywhere}.reference-impact-grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.reference-impact-grid p{grid-template-columns:auto 1fr}.reference-impact-grid strong{color:#1684ee}@media (width<=410px){.medium-fault-tabs{gap:5px;padding-inline:8px}.medium-fault-tabs button{padding-inline:4px;font-size:13px}.medium-fault-summary,.medium-fault-summary-head,.medium-fault-summary-row{padding-inline:8px}.reference-impact-grid{grid-template-columns:1fr}}.recovered-mini-card{background:#f8fafb}.fault-task-ok{color:var(--green);margin:8px 0;font-size:13px;font-weight:800}.task-action>summary{cursor:pointer;color:var(--teal);font-weight:900}.task-form{gap:8px;margin-top:8px;display:grid}.task-form textarea{min-height:76px}.report-card{gap:10px;display:grid}.report-content-editor{gap:8px;display:grid}.report-content-editor textarea{resize:vertical;white-space:pre-wrap;min-height:260px;font-family:inherit;line-height:1.65}.report-missing{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:8px;padding:10px;display:grid}.fault-detail-shell>summary{color:var(--teal-dark);cursor:pointer;text-align:right;font-weight:900}.fault-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0;display:grid}.fault-summary span{color:var(--text);text-align:center;background:#f1f5f7;border-radius:8px;padding:8px 6px;font-size:12px}.fault-detail{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.compact-detail{gap:10px;display:grid}.fault-section{gap:5px;display:grid}.fault-section h4{color:var(--slate);margin:0;font-size:14px}.fault-section p{margin:0;line-height:1.55}.fault-main-title{font-weight:900}.light-summary{border-left:3px solid var(--teal);color:var(--slate);padding-left:8px;font-size:13px}.latest-progress{background:#f8fafb;border-radius:8px;padding:8px 10px}.latest-progress p{color:var(--muted);margin-top:4px;font-size:13px}.timeline{gap:8px;margin-top:10px;display:grid}.timeline-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.compact-timeline{gap:0;margin-top:2px;display:grid}.compact-timeline-item{border-left:2px solid #dbe5ea;padding:0 0 10px 12px;position:relative}.compact-timeline-item:before{content:"";background:var(--teal);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-5px}.compact-timeline-item>summary{cursor:pointer;grid-template-columns:44px 1fr;gap:8px;list-style:none;display:grid}.compact-timeline-item>summary::-webkit-details-marker{display:none}.fault-detail-shell>summary::-webkit-details-marker{display:none}.compact-timeline-item>summary span{color:var(--muted);font-size:12px}.compact-timeline-item>summary strong{font-size:13px}.compact-timeline-item>p{color:var(--muted);margin:4px 0 0;font-size:13px}.secondary-details{border-top:1px solid var(--line);padding-top:8px}.secondary-details>summary,.nested-raw>summary{cursor:pointer;color:var(--slate);font-weight:900}.info-grid{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0;font-size:12px;display:grid}.raw-message{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;background:#f8fafb;border-radius:8px;margin-top:8px;padding:10px;font-size:13px;line-height:1.55}.bottom-tabs{z-index:8;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-tabs button{min-height:44px;color:var(--muted);background:0 0;border-radius:8px;padding:0 4px;font-size:13px}.bottom-tabs button.active{background:var(--teal);color:#fff}.more-menu{z-index:7;background:#14202824;position:fixed;inset:0}.more-menu-panel{left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));border:1px solid var(--line);max-width:520px;box-shadow:var(--shadow);background:#fff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 auto;padding:12px;display:grid;position:absolute}.more-menu-panel button{background:#f1f5f7;min-height:48px}.more-menu-panel button.active{background:var(--teal);color:#fff}.toast{z-index:9;color:#fff;box-shadow:var(--shadow);background:#142028;border-radius:8px;padding:12px 14px;display:none;position:fixed;bottom:84px;left:16px;right:16px}.toast.show{display:block}.empty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#ffffffb3;border-radius:8px;padding:18px}.full{grid-column:1/-1}@media (width<=520px){.form-grid,.toolbar,.stat-card,.fault-summary{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-grid .stat-number strong{font-size:15px}.stat-grid .stat-number span{font-size:10px}.fault-time-row{flex-wrap:wrap}.info-grid{grid-template-columns:1fr}.toolbar button,.stat-name{grid-column:1/-1}.topbar h1{font-size:20px}}
