:root,[data-theme=light]{--color-scheme:light;--color-accent:#6B7C45;--color-accent-hover:#7D9150;--color-accent-pressed:#5A6A38;--color-accent-light:#E8EDE0;--color-accent-subtle:#F2F5EC;--color-accent-text:#FFFFFF;--color-sidebar-bg:#141414;--color-sidebar-hover:#1E1E1E;--color-sidebar-active:#272727;--color-sidebar-active-accent:#1A2010;--color-sidebar-border:#272727;--color-sidebar-text:#888888;--color-sidebar-text-active:#F0F0F0;--color-sidebar-text-hover:#CCCCCC;--color-sidebar-label:#444444;--color-sidebar-icon:#666666;--color-sidebar-icon-active:#6B7C45;--color-sidebar-logo-text:#FFFFFF;--color-bg-main:#F6F6F4;--color-bg-card:#FFFFFF;--color-bg-card-hover:#FAFAF8;--color-bg-input:#FFFFFF;--color-bg-subtle:#F0F0EE;--color-bg-header:#FFFFFF;--color-bg-overlay:rgba(0,0,0,0.40);--color-bg-tooltip:#1A1A1A;--color-text-primary:#161616;--color-text-secondary:#585858;--color-text-tertiary:#9A9A9A;--color-text-disabled:#C8C8C8;--color-text-inverse:#FFFFFF;--color-text-tooltip:#FFFFFF;--color-text-link:#6B7C45;--color-border:#E8E8E6;--color-border-strong:#D4D4D2;--color-border-focus:#6B7C45;--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 rgba(0,0,0,0.04);--shadow-sm:0 1px 4px rgba(0,0,0,0.06),0 2px 8px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.08),0 2px 4px rgba(0,0,0,0.04);--shadow-lg:0 8px 24px rgba(0,0,0,0.10),0 4px 8px rgba(0,0,0,0.05);--shadow-xl:0 16px 48px rgba(0,0,0,0.12),0 8px 16px rgba(0,0,0,0.06);--shadow-modal:0 24px 64px rgba(0,0,0,0.16);--shadow-accent:0 0 0 3px rgba(107,124,69,0.20);--shadow-card-hover:0 8px 28px rgba(0,0,0,0.09)}[data-theme=dark]{--color-scheme:dark;--color-accent:#7D9150;--color-accent-hover:#8EA35C;--color-accent-pressed:#6B7C45;--color-accent-light:#1E2614;--color-accent-subtle:#181F10;--color-accent-text:#FFFFFF;--color-sidebar-bg:#0D0D0D;--color-sidebar-hover:#161616;--color-sidebar-active:#1C1C1C;--color-sidebar-active-accent:#182010;--color-sidebar-border:#1E1E1E;--color-sidebar-text:#666666;--color-sidebar-text-active:#E8E8E8;--color-sidebar-text-hover:#AAAAAA;--color-sidebar-label:#383838;--color-sidebar-icon:#555555;--color-sidebar-icon-active:#7D9150;--color-sidebar-logo-text:#FFFFFF;--color-bg-main:#111111;--color-bg-card:#181818;--color-bg-card-hover:#1E1E1E;--color-bg-input:#1C1C1C;--color-bg-subtle:#161616;--color-bg-header:#141414;--color-bg-overlay:rgba(0,0,0,0.65);--color-bg-tooltip:#2A2A2A;--color-text-primary:#E8E8E8;--color-text-secondary:#A0A0A0;--color-text-tertiary:#606060;--color-text-disabled:#404040;--color-text-inverse:#111111;--color-text-tooltip:#E8E8E8;--color-text-link:#8EA35C;--color-border:#222222;--color-border-strong:#303030;--color-border-focus:#7D9150;--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 rgba(0,0,0,0.20);--shadow-sm:0 1px 4px rgba(0,0,0,0.30),0 2px 8px rgba(0,0,0,0.20);--shadow-md:0 4px 12px rgba(0,0,0,0.40),0 2px 4px rgba(0,0,0,0.20);--shadow-lg:0 8px 24px rgba(0,0,0,0.50),0 4px 8px rgba(0,0,0,0.30);--shadow-xl:0 16px 48px rgba(0,0,0,0.60),0 8px 16px rgba(0,0,0,0.40);--shadow-modal:0 24px 64px rgba(0,0,0,0.70);--shadow-accent:0 0 0 3px rgba(125,145,80,0.25);--shadow-card-hover:0 8px 28px rgba(0,0,0,0.40)}: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:-0.02em;--letter-spacing-normal:0em;--letter-spacing-wide:0.04em;--letter-spacing-label:0.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:120ms;--duration-base:200ms;--duration-slow:350ms;--duration-slower:500ms;--ease-base:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.34,1.56,0.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}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}ol,ul{list-style:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}button{background:none;border:none;cursor:pointer}html{color-scheme:var(--color-scheme,light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}body,html{font-size:var(--font-size-base)}body{font-family:var(--font-family-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);overflow-x:hidden;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);-webkit-transition:background var(--duration-base);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)}*,:after,:before{transition-property:background-color,border-color,color,fill,stroke;transition-duration:var(--duration-slow);transition-timing-function:var(--ease-in-out)}[role=button],a,button,input,select,textarea{transition-duration:var(--duration-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only,.text-nowrap{white-space:nowrap}.hidden{display:none!important}.invisible{visibility:hidden}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-col{display:flex;flex-direction:column}.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{width:100%;height:1px;border:none;margin:var(--space-4) 0}.divider,.divider-vertical{background-color:var(--color-border)}.divider-vertical{width:1px;height:100%;flex-shrink:0}.text-h1,h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.text-h1,.text-h2,h1,h2{line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.text-h2,h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.text-h3,h3{font-size:var(--font-size-xl);line-height:1.3;letter-spacing:var(--letter-spacing-tight)}.text-h3,.text-h4,h3,h4{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.text-h4,h4{font-size:var(--font-size-lg);line-height:1.35}.text-h5,h5{font-size:var(--font-size-md)}.text-h5,.text-h6,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);color:var(--color-text-primary)}.text-h6,h6{font-size:var(--font-size-base)}p{font-size:var(--font-size-base)}.text-lead,p{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)}.text-small{font-size:var(--font-size-sm)}.text-small,.text-xs{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)}.label,label{display:block;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)}.label-uppercase{color:var(--color-text-tertiary)}.label-uppercase,.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}.sidebar-label{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;overflow:hidden;transition:color var(--duration-base) var(--ease-in-out),opacity var(--duration-slow) var(--ease-base)}.text-mono,code,kbd,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-base)}code{color:var(--color-accent);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}code,pre{background-color:var(--color-bg-subtle)}pre{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{opacity:1}.link-subtle:hover,.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{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.text-metric{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1;color:var(--color-text-primary)}.text-metric-sm{line-height:1}.page-title,.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)}.page-title{line-height:1.2}.page-subtitle{font-weight:var(--font-weight-regular);color:var(--color-text-tertiary);margin-top:var(--space-1)}.btn,.page-subtitle{font-size:var(--font-size-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;border:var(--border-width) solid transparent;text-decoration:none;position:relative;overflow:hidden;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)}.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{background-color:transparent;color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background-color:var(--color-bg-subtle);border-color:var(--color-text-tertiary)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-danger{background-color:transparent;color:var(--color-error);border-color:var(--color-error-border)}.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:transparent}.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{width:36px;height:36px;min-height:36px;padding:0;border-radius:var(--radius-md)}.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:transparent}.card-interactive{cursor:pointer}.card-interactive:hover{background-color:var(--color-bg-card-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-1px);border-color:var(--color-border-strong)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.card-header-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.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);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-sm{padding:var(--space-4);border-radius:var(--radius-md)}.card-flat{background-color:var(--color-bg-subtle);border-color:transparent}.card-flat:hover{border-color:var(--color-border)}.card-flat:hover,.kpi-card{background-color:var(--color-bg-card)}.kpi-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;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)}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-header{display:flex;align-items:center;justify-content:space-between}.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{width:34px;height:34px;border-radius:var(--radius-md);background-color:var(--color-accent-light);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.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{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.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{width:12px;height:12px;stroke-width:2}.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);display:flex;flex-direction:column;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)}.project-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);border-color:var(--color-border-strong)}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.project-card-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0;margin-top:4px}.project-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3;flex:1 1;min-width:0}.project-card-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-base);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.project-progress{display:flex;flex-direction:column;gap:var(--space-2)}.project-progress-bar{height:4px;background-color:var(--color-bg-subtle);border-radius:var(--radius-full);overflow:hidden}.project-progress-fill{height:100%;background-color:var(--color-accent);border-radius:var(--radius-full);transition:width var(--duration-slower) var(--ease-base)}.project-progress-label{display:flex;justify-content:space-between;align-items:center}.badge{display:inline-flex;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);line-height:1;white-space:nowrap}.badge svg{width:10px;height:10px;stroke-width:2}.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{background-color:transparent;border:var(--border-width) solid;opacity:.8}.badge-count{min-width:18px;height:18px;padding:0 5px;background-color:var(--color-accent);color:white;font-size:10px;font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center}.badge-count,.status-dot{border-radius:var(--radius-full)}.status-dot{width:8px;height:8px;flex-shrink:0}.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{display:inline-flex;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)}.tag.active,.tag:hover{border-color:var(--color-accent);color:var(--color-accent)}.tag.active{background-color:var(--color-accent-light)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.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);outline:none;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)}.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{position:relative;display:flex;align-items:center}.input-icon-left{position:absolute;left:var(--space-3);color:var(--color-text-tertiary);display:flex;align-items:center;pointer-events:none}.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);outline:none;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)}.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);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;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)}.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{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:var(--border-width) solid var(--color-border);background-color:var(--color-bg-card)}.table{width:100%;border-collapse:collapse;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{display:flex;align-items:center;gap:var(--space-2);opacity:0;transition:opacity var(--duration-fast) var(--ease-in-out)}.table tbody tr:hover .table-actions{opacity:1}.tabs{gap:var(--space-1);border-bottom:var(--border-width) solid var(--color-border);margin-bottom:var(--space-6)}.tab-item,.tabs{display:flex;align-items:center}.tab-item{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;margin-bottom:-1px;white-space:nowrap;transition:color var(--duration-fast) var(--ease-in-out),border-color var(--duration-fast) var(--ease-in-out)}.tab-item.active,.tab-item:hover{color:var(--color-text-primary)}.tab-item.active{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);display:inline-flex;gap:var(--space-1)}.tabs-pills,.tabs-pills .tab-item{border-bottom:none;margin-bottom:0}.tabs-pills .tab-item{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);color:var(--color-text-tertiary)}.tabs-pills .tab-item.active{background-color:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm);border-color:transparent}.avatar{width:36px;height:36px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;background-color:var(--color-accent-light);display:flex;align-items:center;justify-content:center;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)}.avatar img{width:100%;height:100%;object-fit:cover}.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{display:flex;align-items:center}.avatar-group .avatar{margin-left:-8px;transition:transform var(--duration-fast) var(--ease-in-out)}.avatar-group .avatar:first-child{margin-left:0}.avatar-group .avatar:hover{transform:translateY(-2px);z-index:1}.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{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--color-border);position:relative}.activity-item:last-child{border-bottom:none}.activity-icon{width:32px;height:32px;border-radius:var(--radius-full);background-color:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);flex-shrink:0;border:var(--border-width) solid var(--color-border)}.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:transparent}.activity-content{flex:1 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{width:100%;height:6px;background-color:var(--color-bg-subtle);overflow:hidden}.progress,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;background-color:var(--color-accent);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{flex-direction:column;text-align:center;padding:var(--space-16) var(--space-8);gap:var(--space-4)}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:52px;height:52px;border-radius:var(--radius-lg);background-color:var(--color-bg-subtle);color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.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);position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translateX(-50%);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)}[data-tooltip]:hover:after{opacity:1}.dropdown-menu{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:180px;background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) var(--ease-in-out)}.dropdown-menu.open{opacity:1;transform:translateY(0);pointer-events:all}.dropdown-item{display:flex;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)}.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{height:1px;background-color:var(--color-border);margin:var(--space-2) 0}.dropdown-wrapper{position:relative;display:inline-flex}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);flex-direction:column;z-index:var(--z-toast);pointer-events:none}.toast,.toast-container{display:flex;gap:var(--space-3)}.toast{align-items:flex-start;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);min-width:280px;max-width:380px;pointer-events:all;animation:toastIn var(--duration-slow) var(--ease-bounce)}.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 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{display:flex;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)}.divider-text:after,.divider-text:before{content:"";flex:1 1;height:1px;background-color:var(--color-border)}