:root{color-scheme:light;--bg:#f5f1e7;--bg-strong:#e7dcc2;--surface:rgba(255,250,240,0.82);--surface-strong:#fff8ec;--border:rgba(79,54,22,0.14);--text:#24180c;--muted:#6a5947;--accent:#0f766e;--accent-strong:#0a4d48;--danger:#b45309;--shadow:0 18px 50px rgba(61,45,24,0.12);--radius:22px;--sidebar-width:280px;font-family:Segoe UI,Noto Sans TC,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(15,118,110,.13),transparent 28%),radial-gradient(circle at bottom right,rgba(180,83,9,.12),transparent 30%),var(--bg);color:var(--text)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:var(--sidebar-width) 1fr}.app-shell,.auth-shell{display:grid;min-height:100vh}.auth-shell{place-items:center;padding:28px}.auth-card{width:min(460px,100%);display:grid;grid-gap:16px;gap:16px;padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,248,236,.92);box-shadow:var(--shadow)}.auth-card h2{margin:0}.auth-field{display:grid;grid-gap:6px;gap:6px}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100dvh;min-height:100vh;padding:28px;overflow-y:auto;scrollbar-gutter:stable;border-right:1px solid var(--border);background:linear-gradient(180deg,rgba(255,248,236,.95),rgba(245,236,217,.92));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-title{margin:8px 0;font-size:2rem;line-height:1.05}.sidebar-subtitle{margin:0;color:var(--muted);line-height:1.6}.nav-list{display:grid;grid-gap:10px;gap:10px;margin-top:0;padding-bottom:24px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid transparent;border-radius:16px;color:var(--muted);transition:.16s ease}.nav-item.active,.nav-item:hover{color:var(--text);border-color:rgba(15,118,110,.2);background:rgba(15,118,110,.08)}.sidebar-footer{display:grid;grid-gap:12px;gap:12px;position:static;margin-top:auto;padding-top:24px;border-top:1px solid rgba(79,54,22,.12);color:var(--muted);font-size:.92rem}@media (max-height:920px){.sidebar{gap:20px;padding:22px}.sidebar-title{font-size:1.75rem}.sidebar-subtitle{line-height:1.45}.nav-list{gap:8px;padding-bottom:16px}.nav-item{padding:12px 14px}.sidebar-footer{gap:10px;padding-top:18px}}@media (max-height:780px){.sidebar{gap:16px;padding:18px}.sidebar-title{font-size:1.55rem}.sidebar-subtitle{font-size:.92rem;line-height:1.35}.nav-item{padding:10px 12px}.sidebar-footer{font-size:.86rem}.role-badge{font-size:.72rem}}.sidebar-actions,.sidebar-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sidebar-actions{justify-content:space-between}.role-badge{padding:6px 10px;border-radius:999px;background:rgba(15,118,110,.12);color:var(--accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.08em}.status-dot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 6px rgba(15,118,110,.12)}.content-shell{padding:28px}.page{display:grid;grid-gap:22px;gap:22px}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.page-header h2{margin:4px 0 0;font-size:2rem}.eyebrow{margin:0;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700}.page-subtitle{margin:8px 0 0;color:var(--muted);max-width:65ch;line-height:1.6}.page-header>div{min-width:0}.drawer,.muted-box,.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:22px}.muted-box{padding:18px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading h3{margin:4px 0 0}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.stat-card{padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(255,252,246,.9),rgba(239,230,212,.8));border:1px solid var(--border)}.stat-card strong{display:block;margin-top:6px;font-size:1.6rem}.split-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:22px;gap:22px;align-items:flex-start}.stack{display:grid;grid-gap:16px;gap:16px}.form-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.select-input,.text-input,.textarea-input{width:100%;border:1px solid rgba(79,54,22,.18);background:rgba(255,252,246,.95);border-radius:14px;padding:12px 14px;color:var(--text)}.textarea-input{min-height:120px;resize:vertical}.ghost-button,.primary-button,.secondary-button{border-radius:14px;padding:12px 16px;border:1px solid transparent;cursor:pointer;transition:.16s ease}.primary-button{background:var(--accent);color:white}.primary-button:hover{background:var(--accent-strong)}.secondary-button{background:rgba(36,24,12,.06);border-color:var(--border)}.ghost-button{background:transparent;border-color:var(--border)}.button-row{display:flex;flex-wrap:wrap;gap:10px}.review-button-row{align-items:center}.chat-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.temp-doc-privacy{padding:12px 14px;border-radius:14px;border:1px solid rgba(15,118,110,.18);background:rgba(232,252,249,.7);color:#0a4d48;line-height:1.55}.temp-doc-grid{display:grid;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(160px,220px));grid-gap:12px;gap:12px;align-items:stretch}.temp-doc-answer,.temp-doc-ask,.temp-doc-source-card,.temp-doc-status,.temp-doc-upload{display:grid;grid-gap:10px;gap:10px}.temp-doc-upload{grid-template-columns:max-content max-content minmax(160px,1fr);align-items:center}.temp-doc-status{padding:12px;border-radius:14px;border:1px solid rgba(79,54,22,.1);background:rgba(255,252,246,.72);color:var(--muted)}.temp-doc-status strong{color:var(--text);font-size:1rem}.temp-doc-sources{display:grid;grid-gap:10px;gap:10px}.temp-doc-source-card{padding:12px;border-radius:14px;border:1px solid rgba(79,54,22,.1);background:rgba(255,252,246,.72)}.temp-doc-source-card span{color:var(--muted);font-size:.88rem}.temp-doc-source-card pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text)}.chat-mode{min-width:220px;align-self:flex-start}.chat-mode,.chat-submit-group{display:grid;grid-gap:6px;gap:6px}.chat-submit-group{justify-items:start}.chat-context-meter{display:grid;grid-gap:2px;gap:2px;min-width:120px;color:var(--muted);font-size:.84rem;line-height:1.15}.chat-context-meter strong{color:var(--accent-strong);font-size:.95rem}.error-banner{padding:14px 16px;border-radius:14px;border:1px solid rgba(180,83,9,.18);color:#8d4c05;background:rgba(255,242,229,.92)}.success-banner{padding:14px 16px;border-radius:14px;border:1px solid rgba(15,118,110,.2);color:#0a4d48;background:rgba(232,252,249,.92)}.review-feedback-stack{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.chat-log{align-content:flex-start}.chat-input-zone,.chat-log{display:grid;grid-gap:12px;gap:12px}.chat-input-zone{padding:14px;border:1px dashed rgba(15,118,110,.2);border-radius:18px;background:rgba(255,252,246,.7);transition:.16s ease}.chat-input-zone.dragging{border-color:rgba(15,118,110,.48);background:rgba(227,247,244,.92)}.chat-upload-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.chat-pending-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,320px));grid-gap:12px;gap:12px;justify-content:flex-start}.chat-pending-card{display:grid;grid-gap:10px;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(79,54,22,.12);background:rgba(255,248,236,.92)}.chat-pending-icon,.chat-pending-image{width:100%;height:clamp(132px,22vw,220px);border-radius:14px}.chat-pending-image{object-fit:contain;background:rgba(255,255,255,.92);padding:8px;border:1px solid rgba(79,54,22,.08)}.chat-pending-icon{display:grid;place-items:center;border:1px dashed rgba(79,54,22,.18);background:rgba(245,241,231,.96);color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.08em}.chat-pending-meta{display:grid;grid-gap:4px;gap:4px}.chat-attachment-chip,.chat-bubble,.chat-pending-meta strong{overflow-wrap:anywhere}.chat-bubble{max-width:72ch;padding:16px;border-radius:20px;line-height:1.65;align-self:flex-start;white-space:pre-wrap}.chat-bubble.user{justify-self:end;background:rgba(15,118,110,.12)}.chat-bubble.assistant{background:rgba(255,250,240,.95);border:1px solid var(--border)}.chat-attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chat-debug-panel{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(79,54,22,.18)}.chat-debug-meta{color:var(--muted);font-size:.88rem}.chat-debug-context-list{display:grid;grid-gap:10px;gap:10px}.chat-debug-context-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:14px;border:1px solid rgba(79,54,22,.1);background:rgba(255,252,246,.72)}.chat-debug-context-excerpt{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text)}.chat-debug-note{color:var(--muted);font-size:.84rem;line-height:1.5}.chat-scroll-bottom-button{position:fixed;right:32px;bottom:32px;z-index:20;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(79,54,22,.14);border-radius:999px;background:rgba(255,248,236,.94);box-shadow:0 18px 32px rgba(61,45,24,.18);color:var(--accent-strong);font-size:1.5rem;line-height:1;cursor:pointer;transition:.16s ease}.chat-scroll-bottom-button:hover{transform:translateY(-2px);background:rgba(232,252,249,.98)}.chat-attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(36,24,12,.08);color:var(--muted);font-size:.82rem}.battery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.battery-card{display:grid;grid-gap:18px;gap:18px;padding:18px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,252,246,.94),rgba(241,235,221,.88));text-align:left;color:inherit;box-shadow:var(--shadow)}.battery-card-header{display:flex;justify-content:space-between;gap:12px}.battery-card-header h3,.drawer-header h2{margin:0}.battery-card-header p{margin:6px 0 0;color:var(--muted)}.metric-list{display:grid;grid-gap:10px;gap:10px;margin:0}.detail-row,.metric-list div{display:flex;justify-content:space-between;gap:12px}.detail-row span,.metric-list dt{color:var(--muted)}.status-pill{height:-moz-fit-content;height:fit-content;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:700}.status-pill.complete{color:#0a4d48;background:rgba(15,118,110,.12)}.status-pill.missing{color:#8d4c05;background:rgba(180,83,9,.14)}.drawer{position:-webkit-sticky;position:sticky;top:28px;padding:22px;height:-moz-fit-content;height:fit-content;max-height:calc(100vh - 56px);overflow:auto}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.drawer-subtitle{margin:6px 0 0;color:var(--muted)}.detail-grid{display:grid;grid-gap:12px;gap:12px}.detail-row{align-items:flex-start}.detail-row strong{max-width:58%;text-align:right;overflow-wrap:anywhere}.md-maintenance{display:grid;grid-gap:12px;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(79,54,22,.12)}.md-maintenance-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.md-maintenance-header h3{margin:2px 0 0}.md-backup-note,.md-maintenance-header p{margin:6px 0 0;color:var(--muted);overflow-wrap:anywhere}.md-editor{min-height:360px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.55;white-space:pre;overflow:auto}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{padding:14px 12px;border-bottom:1px solid rgba(79,54,22,.1);text-align:left;white-space:nowrap}.data-table th{color:var(--muted);font-weight:600}.empty-cell{text-align:center;color:var(--muted)}.upload-zone{display:grid;place-items:center;min-height:160px;padding:18px;border-radius:18px;border:1px dashed rgba(15,118,110,.3);background:rgba(245,255,253,.7);margin-bottom:16px;text-align:center}.upload-zone input{display:none}.review-list{display:grid;grid-gap:12px;gap:12px}.review-list-horizontal{grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);overflow-x:auto;align-items:stretch;padding-bottom:4px}.review-list button{width:100%;padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,252,246,.9);text-align:left}.review-list button.active{border-color:rgba(15,118,110,.28);background:rgba(15,118,110,.08)}.review-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.review-workspace{grid-template-columns:1.05fr 1fr 1fr;grid-gap:18px}.review-footer,.review-workspace{display:grid;gap:18px;align-items:start}.review-footer{grid-template-columns:minmax(0,.92fr) minmax(300px,460px);grid-gap:18px}.review-actions-panel{min-height:100%;min-width:0}.db-connection-panel{width:100%;display:grid;grid-gap:10px;gap:10px;align-self:flex-start;padding:18px;min-width:0}.db-connection-header{margin-bottom:0}.db-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 14px;gap:10px 14px;min-width:0}.db-connection-field{display:grid;grid-template-columns:68px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;min-width:0}.db-connection-label{color:var(--text);white-space:nowrap}.db-connection-field .text-input{width:100%;min-width:0;padding:10px 12px}.db-connection-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.db-connection-actions .muted-text{flex:1 1 220px;min-width:0;margin:0;font-size:.9rem}.review-pane{min-height:720px;display:grid;grid-template-rows:auto 1fr}.review-pane-scroll{min-height:0;max-height:640px;overflow:auto}.markdown-preview{white-space:pre-wrap;line-height:1.65;max-height:720px;overflow:auto}.review-md-sheet{padding:18px;border-radius:18px;background:rgba(255,252,246,.72);border:1px solid rgba(79,54,22,.08)}.review-detail-preview{display:grid;grid-gap:18px;gap:18px}.review-detail-header{margin-bottom:0}.pdf-preview-frame{width:100%;min-height:640px;border:1px solid rgba(79,54,22,.12);border-radius:18px;background:white}.review-form{display:grid;grid-gap:12px;gap:12px}.field-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid rgba(79,54,22,.12);border-radius:16px;background:rgba(255,252,246,.85)}.field-card label{display:grid;grid-gap:6px;gap:6px}.source-copy{color:var(--muted);font-size:.9rem}.muted-text{margin-top:6px;color:rgba(79,54,22,.58);font-size:.84rem}.review-field-input::placeholder{color:rgba(79,54,22,.24)}.source-copy-muted{color:rgba(79,54,22,.45);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.muted-box a{display:inline-block;margin-left:8px}.chip-list{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:8px 12px;border-radius:999px;background:rgba(36,24,12,.06);color:var(--muted)}.management-account-list{display:grid;grid-gap:12px;gap:12px}.management-account-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.management-prompt{min-height:320px}.inline-toggle{display:flex;align-items:flex-start;gap:10px;color:var(--muted);line-height:1.5}.inline-toggle input{margin-top:3px}@media (max-width:1100px){.app-shell,.review-footer,.review-grid,.review-workspace,.split-grid{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar-footer{position:static;margin-top:28px}.form-row,.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.temp-doc-grid,.temp-doc-upload{grid-template-columns:1fr}}@media (max-width:720px){.content-shell,.sidebar{padding:18px}.form-row,.hero-stats{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.review-button-row{align-items:stretch}.db-connection-grid,.db-connection-panel,.management-account-row{width:100%;grid-template-columns:1fr}.db-connection-field{grid-template-columns:1fr;gap:6px}.db-connection-actions{align-items:flex-start;flex-direction:column}.temp-doc-upload .primary-button,.temp-doc-upload .secondary-button{width:100%}.chat-scroll-bottom-button{right:18px;bottom:18px;width:48px;height:48px}}