:root{color-scheme:dark;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;background:#07111f;color:#eef6ff;--page: #07111f;--sidebar: #071322;--sidebar-deep: #050c17;--panel: rgba(18, 34, 53, .84);--panel-strong: rgba(23, 43, 66, .94);--panel-soft: rgba(30, 51, 76, .66);--ink: #eef6ff;--muted: #9fb1c5;--subtle: #6f8298;--line: rgba(144, 166, 190, .24);--line-strong: rgba(159, 180, 204, .36);--accent: #2f87ff;--accent-strong: #1976f3;--accent-soft: rgba(47, 135, 255, .16);--accent-2: #21b47b;--green-soft: rgba(33, 180, 123, .16);--amber: #d79b32;--amber-soft: rgba(215, 155, 50, .16);--red: #ef6b73;--red-soft: rgba(239, 107, 115, .16);--shadow: 0 22px 70px rgba(0, 0, 0, .34);--radius: 12px}*{box-sizing:border-box}html{background:var(--page)}body{background:linear-gradient(180deg,#0b1827fa,#07111f 46%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 64px);margin:0;min-width:1120px}button,input,select,textarea{font:inherit}button,.button{align-items:center;background:linear-gradient(180deg,#338dff,#176bd6);border:1px solid rgba(130,190,255,.42);border-radius:7px;box-shadow:0 12px 26px #1264dc47;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:8px;justify-content:center;letter-spacing:0;min-height:40px;padding:0 15px;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}button:hover,.button:hover{border-color:#bddcffb8;box-shadow:0 16px 34px #1264dc57;transform:translateY(-1px)}button.secondary,.button.secondary{background:#273a50e6;border-color:#9ab1ca47;box-shadow:none;color:#d8e8fb}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#101f32fa,#060d18fa),var(--sidebar);border-right:1px solid rgba(104,130,160,.24);color:#eaf4ff;display:flex;flex-direction:column;padding:24px 14px;position:sticky;top:0;height:100vh}.brand{align-items:center;display:flex;gap:12px;margin-bottom:34px;padding:0 10px}.brand svg{color:#d7e8ff;filter:drop-shadow(0 0 12px rgba(47,135,255,.34))}.brand strong,.brand span{display:block}.brand strong{font-size:16px;line-height:1.2}.brand span{color:#94a9c0;font-size:12px;margin-top:4px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{background:transparent;border:1px solid transparent;box-shadow:none;color:#a9bad0;justify-content:flex-start;min-height:46px;padding:0 12px;transform:none}.sidebar nav button.active,.sidebar nav button:hover{background:linear-gradient(180deg,#318cff,#1974ed);border-color:#8ec6ff94;box-shadow:0 14px 30px #1974ed4d;color:#fff}.storage-note{align-items:center;border-top:1px solid rgba(159,180,204,.16);color:#90a5bc;display:flex;font-size:13px;gap:9px;margin-top:auto;padding:16px 8px 0}main{background:linear-gradient(180deg,#0a162594,#07111fdb);min-width:0;padding:24px 24px 34px;position:relative}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.topbar h1{color:#f2f7ff;font-size:27px;line-height:1.16;margin:0 0 6px;text-shadow:0 18px 42px rgba(0,0,0,.26)}.topbar p{color:var(--muted);font-size:13px;margin:0}.topbar-actions{display:flex;gap:10px}.topbar select,.search-row select,.column-select select,.field select,.field input,.field textarea,.search-row input,.import-panel textarea{background:#0d1a2bdb;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:40px;outline:none;padding:9px 11px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.topbar select{background:#1b2d43eb;min-width:220px}.topbar select:focus,.search-row select:focus,.column-select select:focus,.field select:focus,.field input:focus,.field textarea:focus,.search-row input:focus,.import-panel textarea:focus{border-color:#5fa3ffb8;box-shadow:0 0 0 3px #2f87ff29}input::placeholder,textarea::placeholder{color:#6f8298}select option{background:#102136;color:#edf6ff}.icon-button{aspect-ratio:1;min-height:40px;padding:0;width:40px}.icon-button.danger{background:var(--red-soft);border-color:#ef6b7357;box-shadow:none;color:#ff9aa0}.toast{background:#101f32fa;border:1px solid rgba(118,150,184,.34);border-radius:9px;box-shadow:var(--shadow);color:#fff;padding:12px 14px;position:fixed;right:24px;top:22px;z-index:20}.loading-line{animation:load 1.2s infinite linear;background:linear-gradient(90deg,transparent,#4da1ff,transparent);height:3px;left:236px;position:fixed;right:0;top:0}@keyframes load{0%{transform:translate(-40%)}to{transform:translate(40%)}}.screen-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-all{grid-column:1 / -1}.band,.panel,.metric,.form-panel{background:linear-gradient(180deg,#182b41e0,#112032e0);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink)}.overview-band{align-items:center;display:flex;justify-content:space-between;min-height:112px;padding:22px}.overview-band h2,.form-panel h2,.section-title h2{color:#f4f8ff;font-size:18px;font-weight:850;margin:0}.overview-band p{color:var(--muted);margin:8px 0 0}.quick-actions,.button-row{display:flex;gap:10px}.metric{min-height:126px;padding:20px;position:relative;overflow:hidden}.metric:after{background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);content:"";height:100%;position:absolute;right:0;top:0;width:1px}.metric span{color:var(--muted);display:block;font-size:13px}.metric strong{display:block;font-size:38px;line-height:1;margin-top:22px}.metric.blue strong{color:#64a8ff}.metric.green strong{color:#38c58e}.metric.amber strong{color:#d79b32}.metric.purple strong{color:#b889ff}.metric.orange strong{color:#ff9f43}.panel{min-height:190px;padding:18px}.section-title{align-items:center;color:#d9e8f8;display:flex;gap:9px;margin-bottom:14px}.section-title svg{color:#cfe4fb}.compact-title{margin:18px 0 10px}.workspace{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr)}.workspace-main,.workspace-side{min-width:0}.workspace-main{display:flex;flex-direction:column}.workspace-side{background:linear-gradient(180deg,#182b41e0,#112032e0);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:220px;padding:18px}.evidence-workspace .workspace-side{margin-top:54px}.project-gate-panel{align-content:start;display:grid;min-height:300px}.project-gate-panel h2{color:#f4f8ff;font-size:22px;line-height:1.3;margin:22px 0 8px}.project-gate-panel p,.project-gate-side p{color:var(--muted);font-size:14px;line-height:1.7;margin:0;max-width:620px}.project-gate-panel button{justify-self:start;margin-top:24px}.tabs{display:flex;gap:8px;margin-bottom:14px}.tabs button{background:#1c2f46db;border-color:#90a6be38;box-shadow:none;color:#b7cae0}.tabs button.active{background:linear-gradient(180deg,#338dff,#176bd6);border-color:#8ec6ff94;color:#fff}.form-panel{flex:1;padding:20px}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.field{display:grid;gap:7px}.field.full{margin-top:14px}.field span,.column-select span{color:#b7c9df;font-size:13px;font-weight:800}.field textarea,.import-panel textarea{line-height:1.55;min-height:100px;resize:vertical}.check-field{align-items:center;color:#c4d5e9;display:flex;font-size:14px;font-weight:800;gap:9px;padding-top:27px}.check-field input{accent-color:var(--accent)}.file-drop{align-items:center;background:#0c192ab8;border:1px dashed rgba(139,165,194,.48);border-radius:10px;color:#b9cbe0;cursor:pointer;display:grid;gap:4px;grid-template-columns:24px 1fr;margin-top:14px;padding:14px;transition:border-color .16s ease,background .16s ease}.file-drop:hover{background:#14273dd6;border-color:#5da3ffb8}.file-drop svg{color:#bcd3ea}.file-drop strong{color:#f2f7ff;font-size:13px;font-weight:800;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop input,.file-button input{display:none}.submit-button{margin-top:16px}.form-hint{color:var(--muted);font-size:13px;margin:10px 0 0}.form-hint.warning{color:#ffd076}.form-hint.error{color:#ff9ba2}.ai-recognize-button{margin-top:12px}.ai-result-note{background:#21b47b1f;border:1px solid rgba(33,180,123,.28);border-radius:8px;color:#bcebd7;display:grid;gap:5px;margin-top:10px;padding:10px 12px}.ai-result-note.error{background:var(--red-soft);border-color:#ef6b7357;color:#ffb3b8}.ai-result-note strong,.ai-result-note span{display:block;font-size:13px}.evidence-list,.session-list,.link-list,.manual-list{display:grid;gap:10px}.evidence-list article{background:#0d1b2d9e;border:1px solid var(--line);border-radius:10px;padding:12px}.evidence-list.compact article{padding:10px}.evidence-list article div{align-items:center;display:flex;gap:8px}.evidence-list strong{color:#f2f7ff;font-size:14px}.evidence-list p,.evidence-list span,.empty-text{color:var(--muted);font-size:13px;margin:7px 0 0}.status-dot{border-radius:999px;display:inline-block;height:9px;width:9px}.status-dot.variation{background:var(--amber)}.status-dot.hidden{background:var(--accent-2)}.status-dot.material{background:#b889ff}.status-dot.monthly{background:#ff9f43}.status-dot.supplemental{background:var(--red)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list.vertical{align-items:flex-start;flex-direction:column}.tag-list span{background:#354d67d1;border:1px solid rgba(151,177,204,.18);border-radius:999px;color:#c9dcf1;font-size:13px;padding:7px 10px}.session-list button,.manual-list button{background:#0f1e31b8;border:1px solid var(--line);box-shadow:none;color:#d7e7f8;justify-content:flex-start;overflow-wrap:anywhere;text-align:left;transform:none}.session-list button:hover,.manual-list button:hover{background:#213852db;border-color:#60a3ff75}.package-layout{align-items:start;display:grid;gap:16px;grid-template-areas:"stage stage" "command work" "tree tree";grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.package-stage{background:linear-gradient(180deg,#13273de6,#0c1a2ce6);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:1px;grid-area:stage;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.package-step{align-items:center;background:#0d1b2d94;display:grid;gap:10px;grid-template-columns:auto auto 1fr;min-height:72px;padding:14px 18px}.package-step.active{background:linear-gradient(180deg,#2f87ff2e,#162f4bc2)}.package-step>span{color:#5fa8ff;font-size:12px;font-weight:900}.package-step svg{color:#cfe4fb}.package-step strong,.package-step small{display:block}.package-step strong{color:#f2f7ff;font-size:14px}.package-step small{color:var(--muted);font-size:12px;margin-top:3px}.package-command-panel{grid-area:command;position:sticky;top:24px}.package-stack{display:grid;gap:16px;grid-area:work;min-width:0}.package-result-panel,.package-review-panel{min-width:0}.panel-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.panel-heading .section-title{margin-bottom:0}.summary-chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.summary-chips span{background:#354d67bd;border:1px solid rgba(151,177,204,.22);border-radius:999px;color:#cde0f4;font-size:12px;font-weight:850;padding:6px 9px}.import-panel textarea{min-height:150px;width:100%}.package-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.package-ai-actions{margin-bottom:12px}.package-actions button,.package-actions .button{padding-inline:10px;width:100%}.mapping-box{background:#0915257a;border:1px solid rgba(139,165,194,.18);border-top:1px solid var(--line);border-radius:10px;display:grid;gap:10px;margin-top:14px;padding:14px}.mapping-box h3{color:#f4f8ff;font-size:15px;margin:0}.column-select{align-items:center;display:grid;gap:8px;grid-template-columns:92px 1fr}.settlement-table{min-height:308px}.settlement-scroll{border:1px solid rgba(139,165,194,.18);border-radius:10px;max-height:376px;overflow:auto}table{border-collapse:collapse;min-width:700px;width:100%}.package-result-panel table{min-width:600px;table-layout:fixed}.package-result-panel th:nth-child(1),.package-result-panel td:nth-child(1){width:58px}.package-result-panel th:nth-child(4),.package-result-panel td:nth-child(4){width:154px}.package-result-panel th:nth-child(5),.package-result-panel td:nth-child(5){width:92px}th,td{border-bottom:1px solid var(--line);color:#d7e5f4;font-size:13px;padding:13px 10px;text-align:left;vertical-align:top}th{background:#0d1b2dfa;color:#a9bad0;font-weight:900;position:sticky;top:0;z-index:1}tbody tr{cursor:pointer}tbody tr:hover{background:#27446566}tr.selected{background:#2f87ff24}.status-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:5px 8px;white-space:nowrap}.status-badge.matched,.status-badge.auto,.status-badge.manual{background:var(--green-soft);color:#62dfab}.status-badge.partial,.status-badge.candidate{background:var(--amber-soft);color:#ffd076}.status-badge.unmatched{background:var(--red-soft);color:#ff9ba2}.completeness-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:5px 8px;white-space:nowrap}.completeness-badge.complete{background:var(--green-soft);color:#62dfab}.completeness-badge.incomplete{background:var(--amber-soft);color:#ffd076}.completeness-badge.critical{background:var(--red-soft);color:#ff9ba2}.completeness-badge.muted{background:#354d6794;color:var(--muted)}.active-item{align-content:start;background:#0d1b2d9e;border:1px solid var(--line);border-radius:10px;display:grid;gap:8px;min-height:156px;padding:14px}.active-item strong{color:#f4f8ff;font-size:16px;line-height:1.35}.active-item span,.active-item small{color:var(--muted);font-size:13px}.review-grid{display:grid;gap:14px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.review-links,.manual-block{min-width:0}.review-links h3{color:#f4f8ff;font-size:14px;margin:0 0 10px}.link-row{align-items:center;background:#0d1b2d9e;border:1px solid var(--line);border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:11px}.link-row strong,.link-row span{display:block}.link-row strong{color:#f2f7ff}.link-row span{color:var(--muted);font-size:12px;margin-top:4px}.row-actions{display:flex;flex:none;gap:6px}.review-tools{border-top:1px solid var(--line);display:grid;gap:14px;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);margin-top:14px;padding-top:14px}.supplemental{margin:0}.supplemental .file-drop{margin-top:0}.supplemental button{margin-top:10px;width:100%}.manual-block .compact-title{margin:0 0 10px}.manual-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:172px;overflow:auto;padding-right:4px}.sticky-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:14px;padding-top:14px}.tree-panel{grid-area:tree;grid-column:1 / -1}.tree-root{background:#07111f;border:1px solid rgba(139,165,194,.22);border-radius:8px;color:#fff;display:inline-flex;font-weight:900;margin-bottom:12px;padding:10px 12px}.tree-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.tree-folder{background:#0d1b2d94;border:1px solid var(--line);border-radius:10px;display:grid;gap:7px;padding:12px}.tree-folder strong{color:#f2f7ff;overflow-wrap:anywhere}.tree-folder span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.search-row{display:grid;gap:10px;grid-template-columns:1fr 160px 110px;margin-top:14px}.toggle-field{align-items:center;color:#c9dcf1;display:inline-flex;font-size:13px;font-weight:800;gap:8px;margin-top:12px}.toggle-field input{accent-color:var(--accent)}.ai-status-box{background:#0d1b2d9e;border:1px solid var(--line);border-radius:10px;color:var(--muted);display:grid;gap:7px;padding:12px}.ai-status-box strong{color:#f2f7ff}.ai-status-box span,.ai-status-box p{font-size:13px;margin:0}.ai-settings-form{background:#0d1b2d9e;border:1px solid var(--line);border-radius:10px;display:grid;gap:10px;padding:12px}.ai-status-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.ai-status-head strong{color:#f2f7ff}.ai-status-head span{color:var(--muted);font-size:12px}.ai-settings-form .field{gap:6px}.ai-settings-form .field input,.ai-settings-form .field select{min-height:36px}.ai-feature-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-feature-grid label{align-items:center;color:#c9dcf1;display:inline-flex;font-size:13px;font-weight:800;gap:7px}.ai-feature-grid input{accent-color:var(--accent)}.ai-settings-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-settings-actions button{padding-inline:10px;width:100%}.assistant-widget{bottom:24px;display:grid;gap:12px;justify-items:end;position:fixed;right:24px;z-index:35}.assistant-bubble{border-radius:999px;box-shadow:0 18px 42px #1974ed6b;height:58px;padding:0;width:58px}.assistant-panel{background:linear-gradient(180deg,#182b41fa,#0c1a2cfa);border:1px solid rgba(144,166,190,.32);border-radius:12px;box-shadow:0 28px 80px #00000075;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:70vh;overflow:hidden;width:380px}.assistant-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px}.assistant-head span,.assistant-head strong{display:flex}.assistant-head span{align-items:center;color:#8fc2ff;font-size:12px;font-weight:900;gap:6px;margin-bottom:4px}.assistant-head strong{color:#f4f8ff;font-size:15px}.assistant-messages{display:grid;gap:10px;overflow:auto;padding:14px}.assistant-hint{background:var(--amber-soft);border:1px solid rgba(215,155,50,.28);border-radius:9px;color:#ffd076;font-size:13px;line-height:1.55;margin:0;padding:10px}.assistant-quick-actions{display:flex;justify-content:flex-end}.assistant-quick-actions button{min-height:34px;padding-inline:11px}.assistant-message{border-radius:10px;display:grid;gap:7px;max-width:92%;padding:10px 11px}.assistant-message p{font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere}.assistant-message small{color:var(--subtle);font-size:11px}.assistant-basis{background:#5fa3ff1f;border:1px solid rgba(95,163,255,.24);border-radius:999px;color:#9fc9ff;display:inline-flex;font-size:11px;font-weight:850;justify-self:start;padding:4px 8px}.assistant-message.assistant{background:#0d1b2db8;border:1px solid var(--line);color:#d9e8f8;justify-self:start}.assistant-message.user{background:linear-gradient(180deg,#338dff,#176bd6);border:1px solid rgba(142,198,255,.42);color:#fff;justify-self:end}.assistant-message.error{background:var(--red-soft);border-color:#ef6b7357;color:#ffb3b8}.assistant-draft{background:#07111fb8;border:1px solid rgba(95,163,255,.24);border-radius:9px;display:grid;gap:5px;padding:10px}.assistant-draft strong,.assistant-draft span,.assistant-draft em{display:block;font-size:12px}.assistant-draft strong{color:#f2f7ff}.assistant-draft span{color:#9fc9ff}.assistant-draft em{color:#ffd076;font-style:normal;line-height:1.45}.assistant-draft button{margin-top:4px;min-height:34px;width:100%}.assistant-input-row{border-top:1px solid var(--line);display:grid;gap:8px;grid-template-columns:1fr 40px;padding:12px}.assistant-input-row input{background:#0d1a2bdb;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:40px;outline:none;padding:9px 11px}.assistant-input-row input:focus{border-color:#5fa3ffb8;box-shadow:0 0 0 3px #2f87ff29}@media(max-width:900px){body{min-width:0}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-note{display:none}main{padding:18px 16px 28px}.topbar,.overview-band{align-items:stretch;flex-direction:column;gap:12px}.topbar-actions,.quick-actions,.button-row{flex-wrap:wrap}.topbar select{min-width:0;width:100%}.screen-grid,.workspace,.package-layout,.form-grid,.tree-grid,.search-row{grid-template-columns:1fr}.package-layout{grid-template-areas:"stage" "command" "work" "tree"}.package-stage,.review-grid,.review-tools{grid-template-columns:1fr}.package-command-panel{position:static}.panel-heading{display:grid}.summary-chips{justify-content:flex-start}.package-actions{grid-template-columns:1fr}.span-2{grid-column:span 1}.column-select{grid-template-columns:1fr}.assistant-widget{bottom:16px;left:16px;right:16px}.assistant-widget:not(.open){left:auto}.assistant-panel{border-radius:12px 12px 10px 10px;max-height:72vh;width:100%}.assistant-bubble{height:54px;width:54px}}
