@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
[data-theme=light],:root{--color-scheme:light;--color-accent:#8a5a12;--color-accent-hover:#98620f;--color-accent-pressed:#744708;--color-accent-light:#f7ebcb;--color-accent-subtle:#fcf6e8;--color-accent-text:#fff;--color-sidebar-bg:#fffdf8;--color-sidebar-hover:#f7f0df;--color-sidebar-active:#f4e8cb;--color-sidebar-active-accent:#f8edcf;--color-sidebar-border:#e9dfc8;--color-sidebar-text:#625b50;--color-sidebar-text-active:#241d14;--color-sidebar-text-hover:#3a3329;--color-sidebar-label:#8c7a5c;--color-sidebar-icon:#8b806e;--color-sidebar-icon-active:#8a5a12;--color-sidebar-logo-text:#211a11;--color-bg-main:#f6f6f4;--color-bg-card:#fff;--color-bg-card-hover:#fafaf8;--color-bg-input:#fff;--color-bg-subtle:#f0f0ee;--color-bg-header:#fff;--color-bg-overlay:#0006;--color-bg-tooltip:#1a1a1a;--color-text-primary:#161616;--color-text-secondary:#585858;--color-text-tertiary:#9a9a9a;--color-text-disabled:#c8c8c8;--color-text-inverse:#fff;--color-text-tooltip:#fff;--color-text-link:#8a5a12;--color-border:#e8e8e6;--color-border-strong:#d4d4d2;--color-border-focus:#8a5a12;--color-border-input:#ddddd8;--color-success:#4a7c59;--color-success-bg:#eaf3ee;--color-success-border:#b8d9c4;--color-warning:#9a7230;--color-warning-bg:#fdf4e3;--color-warning-border:#e8cfa0;--color-error:#a04040;--color-error-bg:#fae8e8;--color-error-border:#e8b8b8;--color-info:#3a6080;--color-info-bg:#e5eff5;--color-info-border:#a8c8dc;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 4px #0000000f, 0 2px 8px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #0000001a, 0 4px 8px #0000000d;--shadow-xl:0 16px 48px #0000001f, 0 8px 16px #0000000f;--shadow-modal:0 24px 64px #00000029;--shadow-accent:0 0 0 3px #c58a2438;--shadow-card-hover:0 8px 28px #00000017}[data-theme=dark]{--color-scheme:dark;--color-accent:#e7c36a;--color-accent-hover:#f2d58a;--color-accent-pressed:#c58a24;--color-accent-light:#2a200d;--color-accent-subtle:#20180b;--color-accent-text:#1d170b;--color-sidebar-bg:#0d0d0d;--color-sidebar-hover:#161616;--color-sidebar-active:#1c1c1c;--color-sidebar-active-accent:#21180a;--color-sidebar-border:#1e1e1e;--color-sidebar-text:#666;--color-sidebar-text-active:#e8e8e8;--color-sidebar-text-hover:#aaa;--color-sidebar-label:#383838;--color-sidebar-icon:#555;--color-sidebar-icon-active:#e7c36a;--color-sidebar-logo-text:#fff;--color-bg-main:#111;--color-bg-card:#181818;--color-bg-card-hover:#1e1e1e;--color-bg-input:#1c1c1c;--color-bg-subtle:#161616;--color-bg-header:#141414;--color-bg-overlay:#000000a6;--color-bg-tooltip:#2a2a2a;--color-text-primary:#e8e8e8;--color-text-secondary:#a0a0a0;--color-text-tertiary:#606060;--color-text-disabled:#404040;--color-text-inverse:#111;--color-text-tooltip:#e8e8e8;--color-text-link:#f2d58a;--color-border:#222;--color-border-strong:#303030;--color-border-focus:#e7c36a;--color-border-input:#282828;--color-success:#5a9068;--color-success-bg:#0e1f14;--color-success-border:#1e4028;--color-warning:#b08840;--color-warning-bg:#1f1608;--color-warning-border:#3d2e10;--color-error:#c05050;--color-error-bg:#200e0e;--color-error-border:#401818;--color-info:#5080a0;--color-info-bg:#0a1520;--color-info-border:#142030;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 4px #0000004d, 0 2px 8px #0003;--shadow-md:0 4px 12px #0006, 0 2px 4px #0003;--shadow-lg:0 8px 24px #00000080, 0 4px 8px #0000004d;--shadow-xl:0 16px 48px #0009, 0 8px 16px #0006;--shadow-modal:0 24px 64px #000000b3;--shadow-accent:0 0 0 3px #e7c36a40;--shadow-card-hover:0 8px 28px #0006}:root{--font-family-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-family-mono:"JetBrains Mono", "Fira Code", "SF Mono", "Courier New", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:36px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--line-height-relaxed:1.7;--letter-spacing-tight:-.02em;--letter-spacing-normal:0em;--letter-spacing-wide:.04em;--letter-spacing-label:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--border-width:1px;--border-width-thick:2px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.35s;--duration-slower:.5s;--ease-base:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--transition-base:all var(--duration-base) var(--ease-in-out);--transition-fast:all var(--duration-fast) var(--ease-in-out);--transition-slow:all var(--duration-slow) var(--ease-base);--sidebar-width:240px;--sidebar-width-collapsed:64px;--sidebar-transition:width var(--duration-slow) var(--ease-base);--header-height:60px;--content-max-width:1280px;--content-padding:var(--space-8);--icon-size-xs:14px;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-size-xl:32px;--icon-stroke:1.5;--z-base:1;--z-header:90;--z-sidebar:100;--z-dropdown:200;--z-modal:300;--z-tooltip:400;--z-toast:500}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}img,video,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}button{cursor:pointer;background:0 0;border:none}html{color-scheme:var(--color-scheme,light);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-main);transition:background-color var(--duration-slow) var(--ease-in-out), color var(--duration-slow) var(--ease-in-out);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);transition:background var(--duration-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:var(--color-sidebar-border)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-sidebar-label)}::selection{background-color:var(--color-accent-light);color:var(--color-accent-pressed)}:focus{outline:none}:focus-visible{outline:var(--border-width-thick) solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}*,:before,:after{transition-property:background-color,border-color,color,fill,stroke;transition-duration:var(--duration-slow);transition-timing-function:var(--ease-in-out)}button,a,input,select,textarea,[role=button]{transition-duration:var(--duration-base)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-nowrap{white-space:nowrap}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hidden{display:none!important}.invisible{visibility:hidden}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.divider{background-color:var(--color-border);width:100%;height:1px;margin:var(--space-4) 0;border:none}.divider-vertical{background-color:var(--color-border);flex-shrink:0;width:1px;height:100%}
h1,.text-h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h2,.text-h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h3,.text-h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);line-height:1.3}h4,.text-h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.35}h5,.text-h5{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);color:var(--color-text-primary)}h6,.text-h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);color:var(--color-text-primary)}p{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.text-lead{font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.text-small{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-tertiary)}.text-xs{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-tertiary)}label,.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);color:var(--color-text-secondary);margin-bottom:var(--space-2);display:block}.label-uppercase{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--color-text-tertiary)}.sidebar-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--color-sidebar-label);padding:var(--space-5) var(--space-4) var(--space-2);display:block}.sidebar-item-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-sidebar-text);white-space:nowrap;transition:color var(--duration-base) var(--ease-in-out), opacity var(--duration-slow) var(--ease-base);overflow:hidden}code,kbd,pre,.text-mono{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-base)}code{background-color:var(--color-bg-subtle);color:var(--color-accent);border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:2px 6px}pre{background-color:var(--color-bg-subtle);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto}a{color:var(--color-text-link);font-weight:var(--font-weight-medium);transition:color var(--duration-fast) var(--ease-in-out), opacity var(--duration-fast) var(--ease-in-out)}a:hover{opacity:.75}.link-subtle{color:var(--color-text-secondary);font-weight:var(--font-weight-regular);text-decoration:none}.link-subtle:hover{color:var(--color-text-primary);opacity:1}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-disabled{color:var(--color-text-disabled)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-inverse{color:var(--color-text-inverse)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.text-metric{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);line-height:1}.text-metric-sm{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);line-height:1}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);line-height:1.2}.page-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-tertiary);margin-top:var(--space-1)}
.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;border:var(--border-width) solid transparent;min-height:36px;transition:background-color var(--duration-fast) var(--ease-in-out), color var(--duration-fast) var(--ease-in-out), border-color var(--duration-fast) var(--ease-in-out), box-shadow var(--duration-fast) var(--ease-in-out), transform var(--duration-fast) var(--ease-in-out), opacity var(--duration-fast) var(--ease-in-out);line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.98)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.btn svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-stroke);flex-shrink:0}.btn-primary{background-color:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-sm)}.btn-primary:active{background-color:var(--color-accent-pressed)}.btn-secondary{color:var(--color-text-primary);border-color:var(--color-border-strong);background-color:#0000}.btn-secondary:hover{background-color:var(--color-bg-subtle);border-color:var(--color-text-tertiary)}.btn-ghost{color:var(--color-text-secondary);background-color:#0000;border-color:#0000}.btn-ghost:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-danger{color:var(--color-error);border-color:var(--color-error-border);background-color:#0000}.btn-danger:hover{background-color:var(--color-error-bg);border-color:var(--color-error)}.btn-accent-subtle{background-color:var(--color-accent-light);color:var(--color-accent);border-color:#0000}.btn-accent-subtle:hover{background-color:var(--color-accent-subtle);box-shadow:var(--shadow-accent)}.btn-sm{min-height:30px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-lg{min-height:44px;padding:var(--space-3) var(--space-7);font-size:var(--font-size-md)}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;min-height:36px;padding:0}.btn-icon.btn-sm{width:30px;height:30px;min-height:30px}.btn-icon svg{width:var(--icon-size-md);height:var(--icon-size-md)}.btn-full{width:100%}.card{background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:background-color var(--duration-slow) var(--ease-in-out), border-color var(--duration-slow) var(--ease-in-out), box-shadow var(--duration-base) var(--ease-in-out), transform var(--duration-base) var(--ease-in-out)}.card-shadow{box-shadow:var(--shadow-sm);border-color:#0000}.card-interactive{cursor:pointer}.card-interactive:hover{background-color:var(--color-bg-card-hover);box-shadow:var(--shadow-card-hover);border-color:var(--color-border-strong);transform:translateY(-1px)}.card-interactive:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.card-header-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.card-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-sm{padding:var(--space-4);border-radius:var(--radius-md)}.card-flat{background-color:var(--color-bg-subtle);border-color:#0000}.card-flat:hover{background-color:var(--color-bg-card);border-color:var(--color-border)}.kpi-card{background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-3);transition:box-shadow var(--duration-base) var(--ease-in-out), transform var(--duration-base) var(--ease-in-out), border-color var(--duration-slow) var(--ease-in-out), background-color var(--duration-slow) var(--ease-in-out);flex-direction:column;display:flex}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-header{justify-content:space-between;align-items:center;display:flex}.kpi-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}.kpi-icon{border-radius:var(--radius-md);background-color:var(--color-accent-light);width:34px;height:34px;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.kpi-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-stroke)}.kpi-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:1}.kpi-change{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);display:flex}.kpi-change.up{color:var(--color-success)}.kpi-change.down{color:var(--color-error)}.kpi-change.neutral{color:var(--color-text-tertiary)}.kpi-change svg{stroke-width:2px;width:12px;height:12px}.project-card{background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-4);cursor:pointer;transition:box-shadow var(--duration-base) var(--ease-in-out), transform var(--duration-base) var(--ease-in-out), border-color var(--duration-base) var(--ease-in-out), background-color var(--duration-slow) var(--ease-in-out);flex-direction:column;display:flex}.project-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-border-strong);transform:translateY(-2px)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.project-card-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px;margin-top:4px}.project-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1;min-width:0;line-height:1.3}.project-card-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.project-progress{gap:var(--space-2);flex-direction:column;display:flex}.project-progress-bar{background-color:var(--color-bg-subtle);border-radius:var(--radius-full);height:4px;overflow:hidden}.project-progress-fill{background-color:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slower) var(--ease-base)}.project-progress-label{justify-content:space-between;align-items:center;display:flex}.badge{align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;line-height:1;display:inline-flex}.badge svg{stroke-width:2px;width:10px;height:10px}.badge-default{background-color:var(--color-bg-subtle);color:var(--color-text-secondary)}.badge-accent{background-color:var(--color-accent-light);color:var(--color-accent)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info)}.badge-outline{border:var(--border-width) solid currentColor;opacity:.8;background-color:#0000}.badge-count{border-radius:var(--radius-full);background-color:var(--color-accent);color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:var(--font-weight-bold);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.status-dot.active{background-color:var(--color-success)}.status-dot.warning{background-color:var(--color-warning)}.status-dot.error{background-color:var(--color-error)}.status-dot.idle{background-color:var(--color-text-disabled)}.tag{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background-color:var(--color-bg-subtle);color:var(--color-text-secondary);border:var(--border-width) solid var(--color-border);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-in-out), border-color var(--duration-fast) var(--ease-in-out), color var(--duration-fast) var(--ease-in-out);display:inline-flex}.tag:hover{border-color:var(--color-accent);color:var(--color-accent)}.tag.active{background-color:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.input{width:100%;min-height:38px;padding:var(--space-2) var(--space-4);background-color:var(--color-bg-input);border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-text-primary);transition:border-color var(--duration-fast) var(--ease-in-out), box-shadow var(--duration-fast) var(--ease-in-out), background-color var(--duration-slow) var(--ease-in-out);outline:none}.input::placeholder{color:var(--color-text-tertiary)}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-accent)}.input:disabled{background-color:var(--color-bg-subtle);color:var(--color-text-disabled);cursor:not-allowed}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon-left{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;align-items:center;display:flex;position:absolute}.input-icon-left svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-stroke)}.input-wrapper .input{padding-left:var(--space-9,36px)}.textarea{width:100%;min-height:100px;padding:var(--space-3) var(--space-4);background-color:var(--color-bg-input);border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-text-primary);resize:vertical;line-height:var(--line-height-relaxed);transition:border-color var(--duration-fast) var(--ease-in-out), box-shadow var(--duration-fast) var(--ease-in-out), background-color var(--duration-slow) var(--ease-in-out);outline:none}.textarea::placeholder{color:var(--color-text-tertiary)}.textarea:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-accent)}.select{width:100%;min-height:38px;padding:var(--space-2) var(--space-4);padding-right:var(--space-8);background-color:var(--color-bg-input);border:var(--border-width) solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239A9A9A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;transition:border-color var(--duration-fast) var(--ease-in-out), box-shadow var(--duration-fast) var(--ease-in-out);outline:none}.select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-accent)}.input-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.input-hint.error{color:var(--color-error)}.input-hint.success{color:var(--color-success)}.input.input-error{border-color:var(--color-error-border)}.input.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-bg)}.table-wrapper{border-radius:var(--radius-lg);border:var(--border-width) solid var(--color-border);background-color:var(--color-bg-card);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.table thead{background-color:var(--color-bg-subtle);border-bottom:var(--border-width) solid var(--color-border)}.table th{padding:var(--space-3) var(--space-5);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;white-space:nowrap}.table tbody tr{border-bottom:var(--border-width) solid var(--color-border);transition:background-color var(--duration-fast) var(--ease-in-out)}.table tbody tr:last-child{border-bottom:none}.table tbody tr:hover{background-color:var(--color-bg-subtle)}.table td{padding:var(--space-4) var(--space-5);color:var(--color-text-secondary);vertical-align:middle}.table td:first-child{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.table-actions{align-items:center;gap:var(--space-2);opacity:0;transition:opacity var(--duration-fast) var(--ease-in-out);display:flex}.table tbody tr:hover .table-actions{opacity:1}.tabs{align-items:center;gap:var(--space-1);border-bottom:var(--border-width) solid var(--color-border);margin-bottom:var(--space-6);display:flex}.tab-item{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);cursor:pointer;border-bottom:var(--border-width-thick) solid transparent;white-space:nowrap;transition:color var(--duration-fast) var(--ease-in-out), border-color var(--duration-fast) var(--ease-in-out);margin-bottom:-1px;display:flex}.tab-item:hover{color:var(--color-text-primary)}.tab-item.active{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.tab-item svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-stroke)}.tabs-pills{background-color:var(--color-bg-subtle);padding:var(--space-1);border-radius:var(--radius-md);gap:var(--space-1);border-bottom:none;margin-bottom:0;display:inline-flex}.tabs-pills .tab-item{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);color:var(--color-text-tertiary);border-bottom:none;margin-bottom:0}.tabs-pills .tab-item.active{background-color:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm);border-color:#0000}.avatar{border-radius:var(--radius-full);background-color:var(--color-accent-light);width:36px;height:36px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent);border:var(--border-width-thick) solid var(--color-bg-card);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:26px;height:26px;font-size:var(--font-size-xs)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-lg)}.avatar-xl{width:64px;height:64px;font-size:var(--font-size-xl)}.avatar-group{align-items:center;display:flex}.avatar-group .avatar{transition:transform var(--duration-fast) var(--ease-in-out);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.avatar-group .avatar:hover{z-index:1;transform:translateY(-2px)}.avatar-more{background-color:var(--color-bg-subtle);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border:var(--border-width-thick) solid var(--color-bg-card)}.activity-list{flex-direction:column;gap:0;display:flex}.activity-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--color-border);display:flex;position:relative}.activity-item:last-child{border-bottom:none}.activity-icon{border-radius:var(--radius-full);background-color:var(--color-bg-subtle);width:32px;height:32px;color:var(--color-text-tertiary);border:var(--border-width) solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-stroke)}.activity-icon.accent{background-color:var(--color-accent-light);color:var(--color-accent);border-color:#0000}.activity-content{flex:1;min-width:0}.activity-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-base)}.activity-text strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.activity-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.progress{background-color:var(--color-bg-subtle);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background-color:var(--color-accent);height:100%;transition:width var(--duration-slower) var(--ease-base)}.progress-fill.success{background-color:var(--color-success)}.progress-fill.warning{background-color:var(--color-warning)}.progress-fill.error{background-color:var(--color-error)}.progress-thin{height:3px}.empty-state{text-align:center;padding:var(--space-16) var(--space-8);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.empty-state-icon{border-radius:var(--radius-lg);background-color:var(--color-bg-subtle);width:52px;height:52px;color:var(--color-text-tertiary);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.empty-state-icon svg{width:var(--icon-size-lg);height:var(--icon-size-lg);stroke-width:var(--icon-stroke)}.empty-state-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.empty-state-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);max-width:340px;line-height:var(--line-height-relaxed)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + var(--space-2));background-color:var(--color-bg-tooltip);color:var(--color-text-tooltip);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-in-out);z-index:var(--z-tooltip);box-shadow:var(--shadow-md);position:absolute;left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1}.dropdown-menu{top:calc(100% + var(--space-2));background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);min-width:180px;padding:var(--space-2);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-in-out), transform var(--duration-fast) var(--ease-in-out);position:absolute;left:0;transform:translateY(-6px)}.dropdown-menu.open{opacity:1;pointer-events:all;transform:translateY(0)}.dropdown-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-in-out), color var(--duration-fast) var(--ease-in-out);display:flex}.dropdown-item:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.dropdown-item.danger:hover{background-color:var(--color-error-bg);color:var(--color-error)}.dropdown-item svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-stroke);color:var(--color-text-tertiary);flex-shrink:0}.dropdown-separator{background-color:var(--color-border);height:1px;margin:var(--space-2) 0}.dropdown-wrapper{display:inline-flex;position:relative}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-3);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);pointer-events:all;min-width:280px;max-width:380px;animation:toastIn var(--duration-slow) var(--ease-bounce);display:flex}.toast-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.toast-icon svg{width:18px;height:18px;stroke-width:var(--icon-stroke)}.toast.toast-success .toast-icon{color:var(--color-success)}.toast.toast-error .toast-icon{color:var(--color-error)}.toast.toast-warning .toast-icon{color:var(--color-warning)}.toast.toast-info .toast-icon{color:var(--color-info)}.toast-content{flex:1;min-width:0}.toast-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.toast-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.divider-text{align-items:center;gap:var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);display:flex}.divider-text:before,.divider-text:after{content:"";background-color:var(--color-border);flex:1;height:1px}.universal-panel{gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-subtle);display:grid}.universal-panel-header h3,.universal-tool summary{align-items:center;gap:var(--space-2);display:flex}.universal-panel-header h3{margin:0}.universal-panel-header h3 svg,.universal-tool summary svg{width:18px;height:18px}.universal-panel-header span,.universal-list article span,.universal-results span,.universal-panel>span{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.universal-message{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-info-bg);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.universal-list,.universal-results,.universal-mini-list{gap:var(--space-2);display:grid}.universal-list article{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);display:flex}.universal-list article>div{flex:1;min-width:0;display:grid}.universal-list button,.universal-inline-form button,.universal-mini-list button{color:var(--color-accent);cursor:pointer;background:0 0;border:0}.universal-list button svg{width:16px;height:16px}.universal-tool{padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card)}.universal-tool summary{cursor:pointer;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.universal-tool[open] summary{margin-bottom:var(--space-3)}.universal-form,.universal-inline-form{gap:var(--space-2);display:grid}.universal-form textarea{min-height:90px}.universal-check{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex}.universal-results{margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.universal-results button{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-primary);text-align:left;cursor:pointer;gap:2px;display:grid}.universal-columns{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.universal-mini-list span{justify-content:space-between;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-xs);display:flex}.universal-inline-form{margin-top:var(--space-2);grid-template-columns:minmax(0,1fr) auto}.universal-inline-form button{padding-inline:var(--space-2)}.universal-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.universal-chips button{background:var(--color-bg-subtle);color:var(--color-text-secondary);cursor:pointer;border:0;border-radius:999px;padding:4px 8px}@media (max-width:720px){.universal-columns{grid-template-columns:1fr}}
