:root{--color-primary: #009cb7;--color-primary-hover: #5eead4;--color-primary-light: rgba(45, 212, 191, .1);--color-accent: #22d3ee;--color-accent-hover: #67e8f9;--logo-filter: invert(1);--color-bg: #09090b;--color-surface: #131316;--color-surface-hover: #1c1c21;--color-surface-border: #27272a;--color-text: #e4e4e7;--color-text-muted: #a1a1aa;--color-text-heading: #fafafa;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--color-purple: #8b5cf6;--color-lime: #84cc16;--color-orange: #f97316;--color-level-a: #22c55e;--color-level-b: #84cc16;--color-level-c: #f59e0b;--color-level-d: #f97316;--color-level-e: #ef4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--transition-fast: .15s ease;--transition-base: .25s ease}[data-theme=light]{--logo-filter: invert(0);--color-bg: #f4f6f9;--color-surface: #ffffff;--color-surface-hover: #f0f1f4;--color-surface-border: #e2e5eb;--color-text: #1e293b;--color-text-muted: #64748b;--color-text-heading: #0f172a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}:root select{color-scheme:dark}[data-theme=light] select{color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);font-weight:600;line-height:1.3}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.card__header{margin-bottom:var(--spacing-md)}.card__title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-heading)}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.card__body{font-size:var(--font-size-base);color:var(--color-text)}.card__footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-surface-border)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary-light)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:var(--font-size-xs);font-weight:600;border-radius:9999px}.badge-success{background:#22c55e26;color:var(--color-success)}.badge-warning{background:#f59e0b26;color:var(--color-warning)}.badge-danger{background:#ef444426;color:var(--color-danger)}.badge-info{background:#3b82f626;color:var(--color-info)}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-surface-border)}.modal__title{font-size:var(--font-size-lg);color:var(--color-text-heading)}.modal__body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-surface-border)}.modal__error{padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-heading)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:4px;line-height:1.4}.form-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);font-family:var(--font-family);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-primary)}.form-input option{background:var(--color-surface);color:var(--color-text)}.assign-success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);font-weight:500;color:var(--color-success)}.assign-step{margin-bottom:var(--spacing-lg)}.assign-step__title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-heading);margin-bottom:var(--spacing-sm)}.assign-step__number{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:var(--font-size-xs);flex-shrink:0}.assign-step__selected{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm);flex-wrap:wrap}.assign-step__selected code{font-size:var(--font-size-xs);color:var(--color-text-muted)}.assign-step__plan-grid{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:250px;overflow-y:auto}.assign-step__plan-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.assign-step__plan-cat{align-self:flex-start;margin-bottom:2px}.assign-step__plan-btn{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text)}.assign-step__plan-btn:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.assign-step__plan-name{font-weight:500;font-size:var(--font-size-sm)}.assign-step__plan-code{font-family:monospace;font-size:var(--font-size-xs);color:var(--color-text-muted)}.assign-step__search{position:relative;margin-bottom:var(--spacing-sm)}.assign-step__search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.assign-step__search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 36px;background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);outline:none;transition:border-color var(--transition-fast)}.assign-step__search-input:focus{border-color:var(--color-primary)}.assign-step__search-input::placeholder{color:var(--color-text-muted)}.assign-step__targets{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;overflow-y:auto}.assign-step__target-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;color:var(--color-text)}.assign-step__target-btn:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.assign-step__target-info{display:flex;flex-direction:column;flex:1}.assign-step__target-label{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-heading)}.assign-step__target-sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.badge--sm{font-size:10px;padding:1px 5px}.btn--sm{padding:2px 8px;font-size:var(--font-size-xs)}.btn--xs{padding:2px 4px;font-size:var(--font-size-xs);min-width:unset;line-height:1}.org-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-md);max-height:300px;overflow-y:auto}.org-list__item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;color:var(--color-text)}.org-list__item:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-hover)}.org-list__item--active{border-color:var(--color-success);opacity:.7;cursor:default}.org-list__item:disabled{opacity:.5;cursor:not-allowed}.org-list__info{display:flex;flex-direction:column;flex:1}.org-list__name{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-heading)}.org-list__sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.org-new-form{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.org-new-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.chat-msg{display:flex;gap:var(--spacing-sm);max-width:90%}.chat-msg--user{align-self:flex-end;flex-direction:row-reverse}.chat-msg--user .chat-msg__text{background:var(--color-primary);color:#fff;border-radius:var(--radius-md) var(--radius-md) 0 var(--radius-md)}.chat-msg--user .chat-msg__icon{background:var(--color-primary);color:#fff}.chat-msg--assistant{align-self:flex-start}.chat-msg--assistant .chat-msg__text{background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 0}.chat-msg--assistant .chat-msg__icon{background:var(--color-bg);color:var(--color-text-muted)}.chat-msg__icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.chat-msg__text{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}
