:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang TC,Noto Sans TC,sans-serif;color:#f4f4f5;background:#181819;font-synthesis:none;--bg: #1f1f20;--sidebar: #242426;--panel: #29292b;--panel-2: #303033;--border: rgba(255,255,255,.105);--border-soft: rgba(255,255,255,.07);--text: #f1f1f2;--muted: #a5a5aa;--accent: #0a84ff;--accent-hover: #2692ff;--green: #31d158;--orange: #ff9f0a;--red: #ff453a;--input: #1d1d1f}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-width:100%;height:100%;min-height:100%}body{min-width:980px;min-height:720px;overflow:hidden;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-user-select:none;user-select:none}.app-shell{height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr);background:var(--bg)}.sidebar{position:relative;display:flex;flex-direction:column;min-height:0;padding:18px 12px 12px;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 35%),linear-gradient(180deg,#29292b,#232325);border-right:1px solid var(--border)}.sidebar-title{padding:8px 11px 18px;font-size:23px;font-weight:700;letter-spacing:-.3px}.sidebar nav{display:grid;gap:3px}.sidebar nav button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#dedee1;text-align:left;cursor:default}.sidebar nav button:hover{background:#ffffff0e}.sidebar nav button.selected{background:linear-gradient(180deg,#138cff,#0879e4);color:#fff;box-shadow:inset 0 1px #ffffff24}.sidebar-footer{margin-top:auto;padding:12px 10px 4px;border-top:1px solid var(--border-soft)}.db-label{margin-bottom:5px;font-size:12px;font-weight:650}.db-path{overflow-wrap:anywhere;color:#8f8f95;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.35}.main-pane{min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{min-height:86px;display:flex;align-items:center;gap:18px;padding:15px 24px;border-bottom:1px solid var(--border);background:#1f1f20f7}.page-heading{min-width:0;display:flex;align-items:center;gap:12px}.page-heading h1{margin:0 0 3px;font-size:22px;line-height:1.15}.page-heading p{margin:0;color:var(--muted);font-size:11px;white-space:nowrap}.accent{color:var(--accent)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.global-mode{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}.content-scroll{flex:1;min-height:0;overflow:auto}.page-stack{max-width:1600px;margin:0 auto;padding:22px 24px 34px;display:flex;flex-direction:column;gap:16px}.group-box{position:relative;margin-top:8px;border:1px solid var(--border);border-radius:7px;background:#ffffff04}.group-title{position:absolute;top:-9px;left:11px;padding:0 6px;background:var(--bg);color:#e7e7e9;font-size:12px;font-weight:650}.group-content{padding:16px 14px 14px}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.45}.strong{font-weight:650}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}.center{text-align:center}.spacer{flex:1}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card{min-height:82px;display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--border);border-radius:7px;background:#ffffff05}.metric-value{margin:2px 0;font-size:22px;font-weight:730;line-height:1.08}.btn{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;border:1px solid rgba(255,255,255,.17);border-radius:6px;background:linear-gradient(#353538,#2e2e31);box-shadow:inset 0 1px #ffffff0d;font-size:12px;white-space:nowrap;cursor:default}.btn:hover:not(:disabled){background:#3a3a3d}.btn.primary{border-color:#167fe7;background:linear-gradient(#188bff,#0877e3);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{color:#ff6961}.btn:disabled{opacity:.42}.field{min-width:0;display:flex;flex-direction:column;gap:5px}.field-label{color:var(--muted);font-size:11px;font-weight:650}input,select,textarea{min-height:28px;padding:5px 8px;border:1px solid rgba(255,255,255,.14);border-radius:5px;outline:none;background:var(--input);font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0a84ff33}select{padding-right:28px}.toolbar-row{margin-top:10px;display:flex;align-items:end;gap:8px;flex-wrap:wrap}.toolbar-row .field{min-width:145px}.kv-list{display:grid;gap:8px}.kv{min-width:0;display:flex;flex-direction:column;gap:2px}.kv>span{color:var(--muted);font-size:10px}.kv>strong{overflow-wrap:anywhere;font-size:12px;font-weight:560}.status-banner{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:7px;background:#0a84ff17;color:#b9d9ff;font-size:12px}.status-banner.error{background:#ff453a17;color:#ff9c96}.row-list{display:grid;gap:6px}.record-row,.compact-row,.history-row{display:grid;align-items:center;gap:14px;padding:9px 10px;border-radius:6px;background:#ffffff09}.record-row{grid-template-columns:minmax(0,1fr) 140px 90px}.compact-row{grid-template-columns:1fr auto;margin-top:6px}.history-row{grid-template-columns:180px minmax(220px,1fr) 90px;margin-bottom:6px;font-size:12px}.cycle-summary{margin-bottom:11px;padding:11px;display:grid;grid-template-columns:2.3fr 1fr 1fr 1fr .7fr .7fr;gap:14px;border-radius:7px;background:#ffffff09}.schedule-list{display:grid;gap:10px}.schedule-card{padding:12px;border-radius:8px;background:#ffffff0a}.schedule-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.schedule-head>div{display:flex;align-items:center;gap:10px}.schedule-head strong{font-size:14px}.summary-strip{margin-top:11px;display:flex;gap:32px}.summary-strip .kv{min-width:95px}.thin-divider{height:1px;margin:11px 0;background:var(--border-soft)}.condition-grid{margin-top:8px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 14px}.schedule-foot{margin-top:11px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.link-btn{padding:0;border:0;background:transparent;color:#65a9ff;font-size:11px;cursor:default}.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#0a84ff24;color:#67adff;font-size:11px}.pill.gray{background:#ffffff14;color:#b8b8bd}.review-panel{margin-top:12px;padding:12px;border-radius:8px;background:#00000021}.review-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px}.next-step{margin:9px 0 11px;color:#6eb1ff;font-size:12px;font-weight:600}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stage{min-height:62px;padding:9px;border-radius:7px;background:#ffffff0a}.stage>div{display:flex;align-items:center;gap:6px}.stage i{width:8px;height:8px;border-radius:50%;background:#6b6b70}.stage i.ok{background:var(--green)}.stage strong{font-size:11px}.stage span{margin-left:auto;color:var(--muted);font-size:10px}.stage p{margin:6px 0 0;color:var(--muted);font-size:10px}.notice{margin-top:10px;font-size:11px}.notice.good{color:#65db7f}.segmented{display:flex;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#1a1a1c}.segmented button{padding:5px 13px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--muted);font-size:11px}.segmented button:last-child{border-right:0}.segmented button.active{background:#5a5a5d;color:#fff}.progress{height:4px;overflow:hidden;border-radius:999px;background:#ffffff18}.progress span{height:100%;display:block;border-radius:inherit;background:var(--accent)}.workflow-card{margin-bottom:9px;padding:11px;display:grid;gap:8px;border-radius:8px;background:#ffffff09}.workflow-head{display:flex;align-items:center;gap:8px}.disclosure{margin-top:9px;border-radius:7px;background:#ffffff06}.disclosure-head{width:100%;display:flex;align-items:center;gap:5px;padding:8px;border:0;background:transparent;color:#dddde0;text-align:left;font-size:11px;font-weight:600}.disclosure-body{padding:3px 10px 10px 28px}.inline-date{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.production-head{display:flex;justify-content:space-between;gap:20px}.production-head h3{margin:0 0 3px;font-size:16px}.production-score{width:220px;display:grid;gap:5px;text-align:right}.step-editor{display:grid;grid-template-columns:150px 130px 1fr auto;align-items:center;gap:8px}.form-grid{margin:10px 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.data-row{margin-bottom:6px;padding:9px;display:grid;grid-template-columns:1fr 1fr auto;gap:16px;border-radius:6px;background:#ffffff09}.data-row>div{display:flex;flex-direction:column;gap:2px;font-size:11px}.json-editor{width:100%;min-height:130px;margin-bottom:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.narrow-select{width:260px}.model-form{margin-top:12px;display:grid;gap:10px}.code-panel{padding:10px;border-radius:6px;background:#171719;color:#b6b6bc;font-size:11px}.renamer-top{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(520px,1.3fr);gap:30px}.daily-id{margin:6px 0 4px;font-size:16px;font-weight:650}.file-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.file-card{padding:12px;border:1px solid var(--border);border-radius:7px;background:#ffffff05}.file-card-title{display:flex;align-items:center;gap:7px;font-size:12px}.file-card-title span{margin-left:auto;color:var(--muted);font-size:11px}.drop-zone{min-height:92px;margin:10px 0;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed rgba(255,255,255,.25);border-radius:8px;background:#ffffff07;color:var(--muted);font-size:11px}.file-actions{margin-bottom:8px;display:grid;grid-template-columns:1fr auto auto;gap:7px}.rule-line{display:flex;align-items:flex-start;gap:9px;font-size:12px}.rule-line svg{flex:none;margin-top:1px;color:var(--green)}@media(max-width:1250px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.condition-grid,.metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.top-actions .global-mode{display:none}}@media(max-width:1050px){.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.renamer-top{grid-template-columns:1fr}}
