:root{--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--header-h: 56px;--sidebar-w: 240px;--sidebar-collapsed-w: 64px}:root,[data-theme=light]{--color-bg: #F5F6F8;--color-surface: #F8F9FA;--color-surface-raised: #FFFFFF;--color-surface-hover: #F1F3F4;--color-surface-active: #E8EAED;--color-border: #D0D3D9;--color-border-light: #E8EAED;--color-border-focus: #B87333;--color-copper: #B87333;--color-copper-light: #D4903C;--color-copper-dark: #8B5E2A;--color-copper-dim: rgba(184, 115, 51, .08);--color-copper-hover: rgba(184, 115, 51, .12);--color-teal: #0D7377;--color-teal-light: #14A3A8;--color-teal-dim: rgba(13, 115, 119, .08);--color-success: #188038;--color-success-bg: #E6F4EA;--color-success-border: #A8DAB5;--color-error: #D93025;--color-error-bg: #FCE8E6;--color-error-border: #F5C6C2;--color-warning: #E37400;--color-warning-bg: #FEF7E0;--color-warning-border: #FBCB88;--color-info: #1A73E8;--color-info-light: #4285F4;--color-info-bg: #E8F0FE;--color-info-border: #AECBFA;--color-text: #202124;--color-text-secondary: #5F6368;--color-text-tertiary: #9AA0A6;--color-text-inverse: #FFFFFF;--color-text-link: #1A73E8;--header-bg: linear-gradient(135deg, #8B5E2A 0%, #B87333 60%, #0D7377 100%);--header-text: #FFFFFF;--sidebar-bg: #FFFFFF;--sidebar-border: #E8EAED;--sidebar-item-hover: rgba(184, 115, 51, .06);--sidebar-item-active: rgba(184, 115, 51, .1);--sidebar-active-indicator: #B87333;--card-bg: #FFFFFF;--card-border: #D9DCE1;--card-shadow: 0 1px 3px rgba(0, 0, 0, .1);--card-hover-shadow: 0 4px 12px rgba(0, 0, 0, .1);--table-header-bg: #F8F9FA;--table-row-hover: #F8F9FA;--table-border: #E8EAED;--input-bg: #FFFFFF;--input-border: #DADCE0;--input-focus-border: #B87333;--input-placeholder: #9AA0A6;--overlay-bg: rgba(0, 0, 0, .5);--tooltip-bg: #202124;--tooltip-text: #FFFFFF}[data-theme=dark]{--color-bg: #1A1A2E;--color-surface: #16213E;--color-surface-raised: #1E2A4A;--color-surface-hover: #253352;--color-surface-active: #2C3B5A;--color-border: #2C3B5A;--color-border-light: #253352;--color-border-focus: #D4903C;--color-copper: #D4903C;--color-copper-light: #E8A84C;--color-copper-dark: #B87333;--color-copper-dim: rgba(212, 144, 60, .12);--color-copper-hover: rgba(212, 144, 60, .18);--color-teal: #14A3A8;--color-teal-light: #1FC4CA;--color-teal-dim: rgba(20, 163, 168, .12);--color-success: #34A853;--color-success-bg: rgba(52, 168, 83, .12);--color-success-border: rgba(52, 168, 83, .3);--color-error: #F28B82;--color-error-bg: rgba(242, 139, 130, .12);--color-error-border: rgba(242, 139, 130, .3);--color-warning: #FDD663;--color-warning-bg: rgba(253, 214, 99, .12);--color-warning-border: rgba(253, 214, 99, .3);--color-info: #8AB4F8;--color-info-light: #AECBFA;--color-info-bg: rgba(138, 180, 248, .12);--color-info-border: rgba(138, 180, 248, .3);--color-text: #E8EAED;--color-text-secondary: #BDC1C6;--color-text-tertiary: #9AA0A6;--color-text-inverse: #202124;--color-text-link: #8AB4F8;--header-bg: linear-gradient(135deg, #1E2A4A 0%, #2C3B5A 60%, #0D7377 100%);--header-text: #E8EAED;--sidebar-bg: #16213E;--sidebar-border: #2C3B5A;--sidebar-item-hover: rgba(212, 144, 60, .08);--sidebar-item-active: rgba(212, 144, 60, .14);--sidebar-active-indicator: #D4903C;--card-bg: #1E2A4A;--card-border: #2C3B5A;--card-shadow: 0 1px 3px rgba(0, 0, 0, .3);--card-hover-shadow: 0 4px 12px rgba(0, 0, 0, .4);--table-header-bg: #16213E;--table-row-hover: #253352;--table-border: #2C3B5A;--input-bg: #1E2A4A;--input-border: #2C3B5A;--input-focus-border: #D4903C;--input-placeholder: #9AA0A6;--overlay-bg: rgba(0, 0, 0, .7);--tooltip-bg: #E8EAED;--tooltip-text: #202124;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4), 0 4px 6px rgba(0, 0, 0, .3)}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-base),color var(--transition-base)}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:root{--accent: var(--color-copper);--bg: var(--color-bg);--surface: var(--color-surface-raised);--border: var(--color-border);--text: var(--color-text);--muted: var(--color-text-secondary);--critical: var(--color-error);--warn: var(--color-warning);--calm: var(--color-success);--done: var(--color-text-tertiary);--shadow: var(--shadow-sm)}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:var(--text-base)}.app{min-height:100vh}.content{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:.6rem}.header-logo{height:26px;width:auto;display:block}.login-logo{height:44px;width:auto;display:block;margin:0 auto .75rem}.header-title{font-weight:700;font-size:1.05rem;color:var(--accent)}.header-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-full);padding:.1rem .5rem}.header-right{display:flex;align-items:center;gap:1rem}.header-refresh{color:var(--muted);font-variant-numeric:tabular-nums}.header-user{color:var(--text)}.header-logout{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);padding:.3rem .7rem;cursor:pointer;color:var(--text)}.header-logout:hover{border-color:var(--accent)}.stale-banner{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning);padding:.6rem 1.25rem;font-size:.9rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow)}.card-derived{border-style:dashed}.card-value{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums}.card-label{color:var(--muted);margin-top:.2rem}.caption{color:var(--muted);font-size:.75rem;margin:.4rem 0 0;font-style:italic}.pipeline,.touch{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem;box-shadow:var(--shadow)}.pipeline-head,.touch-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.pipeline-head h2,.touch-head h2{margin:0;font-size:1.05rem}.toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.toggle button{border:none;background:var(--surface);padding:.4rem .9rem;cursor:pointer;color:var(--muted);font-size:.85rem}.toggle button.toggle-on{background:var(--accent);color:var(--color-text-inverse)}.grid{width:100%;border-collapse:collapse}.grid th,.grid td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.grid th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.grid .num,.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.col-desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-ref{font-variant-numeric:tabular-nums;white-space:nowrap}.col-attention{white-space:nowrap}.reason{margin-left:.5rem;color:var(--muted);font-size:.85rem}.day-row td{background:var(--color-surface-active);font-weight:600;color:var(--accent)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle}.dot-critical{background:var(--critical)}.dot-warn{background:var(--warn)}.dot-calm{background:var(--calm)}.dot-done{background:var(--done)}.row-attention{background:var(--color-warning-bg)}.attn-warn{color:var(--color-warning);font-weight:600}.empty,.loading{color:var(--muted);padding:.75rem 0}.badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:var(--radius-full)}.badge-muted{background:var(--color-surface-active);color:var(--muted)}.touch-form{display:flex;gap:.6rem;border:none;padding:0;margin:0;opacity:.55}.touch-form select,.touch-form input,.touch-form button{padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font:inherit}.touch-form input{flex:1}.touch-form button{cursor:not-allowed}.error-box{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);border-radius:var(--radius-md);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}.error-box button{border:1px solid var(--color-error);background:transparent;color:var(--color-error);border-radius:var(--radius-md);padding:.3rem .8rem;cursor:pointer}.tabs{max-width:1180px;margin:1.25rem auto 0;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tabs-list{display:inline-flex;gap:.25rem;border-bottom:1px solid var(--border)}.tab{border:none;background:transparent;padding:.55rem .9rem;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;font-size:.9rem}.tab-on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.export-btn{border:1px solid var(--accent);background:var(--accent);color:var(--color-text-inverse);border-radius:var(--radius-md);padding:.4rem .9rem;cursor:pointer;font-size:.85rem}.export-btn:disabled{opacity:.6;cursor:default}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem;box-shadow:var(--shadow)}.panel h2{margin:0 0 .5rem;font-size:1.05rem}.subhead{margin:1.5rem 0 .25rem;font-size:.95rem;color:var(--accent)}.muted{color:var(--muted)}.approx{color:var(--warn);font-size:.8rem}.grid.compact th,.grid.compact td{padding:.4rem .5rem;font-size:.85rem}.clickable{cursor:pointer}.clickable:hover td{background:var(--table-row-hover)}.funnel{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.funnel-row{display:grid;grid-template-columns:160px 1fr 48px;align-items:center;gap:.75rem}.funnel-label{color:var(--muted);font-size:.85rem}.funnel-bar-track{background:var(--color-surface-active);border-radius:var(--radius-sm);height:18px;overflow:hidden}.funnel-bar{display:block;height:100%;background:var(--accent);min-width:2px}.funnel-value{text-align:right;font-variant-numeric:tabular-nums}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);display:flex;justify-content:flex-end;z-index:50}.drawer{width:min(560px,94vw);height:100%;background:var(--surface);box-shadow:var(--shadow-lg);overflow-y:auto;padding:1.25rem 1.5rem 3rem}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between}.drawer-head h2{margin:0;color:var(--accent)}.drawer-desc{margin:.2rem 0 0;color:var(--muted)}.drawer-close{border:none;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}.drawer-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin:1rem 0}.drawer-meta div{display:flex;flex-direction:column}.drawer-meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.drawer-meta dd{margin:.1rem 0 0}.drawer-section{border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}.drawer-section h3{margin:0 0 .5rem;font-size:.95rem}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.timeline li{display:grid;grid-template-columns:130px 1fr auto;gap:.5rem;font-size:.85rem;border-left:2px solid var(--border);padding-left:.6rem}.timeline-when{color:var(--muted);font-variant-numeric:tabular-nums}.timeline-who{color:var(--muted)}.login,.splash{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.splash span{color:var(--muted);font-weight:600;letter-spacing:.02em}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.25rem 2rem;box-shadow:var(--shadow);width:min(380px,92vw);text-align:center}.login-title{color:var(--accent);margin:0 0 .25rem}.login-sub{color:var(--muted);margin:0 0 1.5rem}.login-button{display:flex;justify-content:center;min-height:44px}.login-error{color:var(--critical);font-size:.85rem;margin-top:1rem}.login-foot{color:var(--muted);font-size:.75rem;margin-top:1.5rem}
