:root{--color-primary: #1B5E20;--color-primary-light: #2E7D32;--color-secondary: #4CAF50;--color-secondary-light: #66BB6A;--color-accent: #FF8F00;--color-accent-light: #FFA726;--color-background: #FAFAF5;--color-surface: #FFFFFF;--color-text: #263238;--color-text-secondary: #546E7A;--color-text-muted: #90A4AE;--color-border: #E0E0E0;--color-border-light: #EEEEEE;--color-danger: #D32F2F;--color-danger-light: #FFEBEE;--color-warning: #F57F17;--color-warning-light: #FFF8E1;--color-success: #2E7D32;--color-success-light: #E8F5E9;--sidebar-bg: #1B3A26;--sidebar-text: #E8F5E9;--sidebar-hover: rgba(255, 255, 255, .08);--sidebar-active-bg: rgba(76, 175, 80, .15);--sidebar-width: 260px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1), 0 4px 8px rgba(0, 0, 0, .05);--transition-fast: .15s ease;--transition-normal: .25s ease;--color-info: #1565C0;--color-info-light: #E3F2FD;--color-tertiary: #7B1FA2;--color-tertiary-light: #F3E5F5;--color-overlay: rgba(38, 50, 56, .55);--color-text-on-primary: #FFFFFF;--color-warning-text: #B45C09;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-full: 999px;--color-danger-dark: #C62828;--color-danger-border: rgba(211, 47, 47, .25);--color-success-border: rgba(46, 125, 50, .25);--color-primary-tint: rgba(46, 125, 50, .08);--color-accent-tint: rgba(255, 143, 0, .06);--color-accent-ring: rgba(255, 143, 0, .35);--row-hover: rgba(76, 175, 80, .04);--focus-ring: rgba(76, 175, 80, .12);--color-warning-bg: rgba(181, 118, 31, .08);--color-production: #E65100;--color-production-light: #FFF3E0;--sidebar-border: rgba(255, 255, 255, .1);--sidebar-text-secondary: rgba(232, 245, 233, .6);--sidebar-text-muted: rgba(232, 245, 233, .45);--sidebar-text-disabled: rgba(232, 245, 233, .35);--sidebar-scrollbar-thumb: rgba(255, 255, 255, .15);--sidebar-footer-bg: rgba(0, 0, 0, .15);--sidebar-avatar-border: rgba(255, 255, 255, .2);--print-ink: #111111;--print-ink-muted: #444444;--print-rule: #999999;--print-rule-light: #BBBBBB;--print-text-secondary: #333333;--color-timeline-line: #C8E6C9;--color-timeline-badge-border: #81C784;--color-submitted: #00796B;--color-submitted-light: #E0F2F1;--color-ledger: #303F9F;--zone-1: #C8422F;--zone-2: #C2851A;--zone-3: #3F7D4E;--zone-4: #6B4E9B;--zone-5: #83897F;--color-ledger-light: #E8EAF6;--color-credit: #5D4037;--color-credit-light: #EFEBE9}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-background);color:var(--color-text);line-height:1.5;min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-light)}button,input,select,textarea{font-family:var(--font-sans)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.app-shell{display:flex;min-height:100vh;background:var(--color-background);color:var(--color-text);font-family:var(--font-sans)}.app-main{flex:1;display:flex;flex-direction:column;padding:1.5rem;min-width:0}.app-loading,.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background:var(--color-background);color:var(--color-text);font-family:var(--font-sans)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;text-align:center;max-width:24rem}.button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);padding:.625rem 1.25rem;font:inherit;cursor:pointer;transition:background var(--transition-fast)}.button-primary:hover{background:var(--color-primary-light)}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;padding:1rem 0}.sidebar-brand{font-weight:600;padding:0 1rem 1rem;color:var(--sidebar-text)}.sidebar-list{list-style:none;margin:0;padding:0;flex:1}.sidebar-link{display:block;padding:.5rem 1rem;color:var(--sidebar-text-secondary);text-decoration:none;transition:background var(--transition-fast)}.sidebar-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.sidebar-link-active{background:var(--sidebar-active-bg);color:var(--sidebar-text)}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:var(--sidebar-footer-bg)}.sidebar-viewer{font-size:.8125rem;color:var(--sidebar-text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-signout{flex-shrink:0;padding:.25rem .5rem;font:inherit;font-size:.8125rem;color:var(--sidebar-text-secondary);background:transparent;border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.sidebar-signout:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.screen-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filters input,.filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.375rem .5rem;font:inherit;background:var(--color-surface);color:var(--color-text)}.hint{color:var(--color-text-secondary);background:var(--color-info-light);border-radius:var(--radius-sm);padding:.625rem .75rem}.error-text{color:var(--color-danger);background:var(--color-danger-light);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:.625rem .75rem}.screen-section{margin-top:1.5rem}.scorecard{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.scorecard>div{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.75rem 1rem;min-width:9rem;display:flex;flex-direction:column}.metric-label{font-size:.8125rem;color:var(--color-text-muted)}.metric-value{font-size:1.375rem;font-weight:600}.table-scroll{overflow-x:auto;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface)}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th,.data-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-light)}.data-table tbody tr:hover{background:var(--row-hover)}.align-right{text-align:right}.table-empty{color:var(--color-text-secondary);padding:1rem 0}.error-details{margin-top:.75rem;background:var(--color-danger-light);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:.625rem .75rem}.error-details summary{cursor:pointer;font-weight:600;color:var(--color-danger)}.error-details ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.9375rem}.error-details li{margin-bottom:.25rem;overflow-wrap:anywhere}.access-list{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.access-list ul{list-style:none;margin:.5rem 0;padding:0}.access-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0}.access-note,.access-empty,.access-updated{color:var(--color-text-secondary);font-size:.875rem}.access-needed{max-width:34rem}.access-needed-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem}.app-footer{margin-top:auto;padding-top:1.5rem;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8125rem;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.terminal{margin-top:1rem;padding:.75rem;max-height:60vh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.8125rem}.terminal-empty{color:var(--color-text-muted)}.terminal-asked,.terminal-answer{display:flex;gap:.5rem;padding:.375rem 0}.terminal-asked+.terminal-answer{border-bottom:1px solid var(--color-border-light);padding-bottom:.75rem;margin-bottom:.25rem}.terminal-asked{color:var(--color-text)}.terminal-answer{color:var(--color-text-secondary)}.terminal-marker{flex:0 0 auto;color:var(--color-text-muted)}.terminal pre{margin:0;white-space:pre-wrap;overflow-x:auto;font:inherit}.terminal-prompt{display:flex;gap:.5rem;margin-top:.75rem}.terminal-prompt input{flex:1 1 auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .625rem;font-family:var(--font-mono);font-size:.875rem;background:var(--color-surface);color:var(--color-text)}
