html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}*{margin:0;padding:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:inline-block;max-width:100%;max-height:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ol,ul{list-style:none}#root,#__next{isolation:isolate}[data-theme=light],:root:not([data-theme]){--theme-primary: #2563eb;--theme-primary-text: #ffffff;--theme-secondary: #1bc237;--theme-secondary-text: #0f111e;--theme-tertiary: #279bde;--theme-tertiary-text: #0f111e;--theme-neutral-0: #ffffff;--theme-neutral-50: #f4fcff;--theme-neutral-100: #f3f4f6;--theme-neutral-200: #e5e6f0;--theme-neutral-500: #6b7280;--theme-neutral-700: #5b6b8c;--theme-neutral-900: #0f111e;--theme-neutral-950: #07080e;--theme-danger: #dc2626;--theme-success: #1bc237;--theme-warning: #e9cc3c}[data-theme=dark]{--theme-primary: #437ad1;--theme-primary-text: #ffffff;--theme-secondary: #108d3e;--theme-secondary-text: #ffffff;--theme-tertiary: #2a93c0;--theme-tertiary-text: #ffffff;--theme-neutral-0: #0a0b0f;--theme-neutral-50: #161821;--theme-neutral-100: #1f2937;--theme-neutral-200: #374151;--theme-neutral-500: #9ca3af;--theme-neutral-700: #d1d5db;--theme-neutral-900: #e5e7eb;--theme-neutral-950: #f9fafb;--theme-danger: #bd1818;--theme-success: #108d3e;--theme-warning: #b27c20}[data-theme=bw]{--theme-primary: #000000;--theme-secondary: #666666;--theme-tertiary: #999999;--theme-neutral-0: #ffffff;--theme-neutral-50: #f5f5f5;--theme-neutral-100: #e5e5e5;--theme-neutral-200: #d4d4d4;--theme-neutral-500: #737373;--theme-neutral-700: #404040;--theme-neutral-900: #171717;--theme-neutral-950: #000000;--theme-danger: #000000;--theme-success: #666666;--theme-warning: #999999}:root,[data-theme]{--color-primary: var(--theme-primary);--color-primary-text: var(--theme-primary-text);--color-secondary: var(--theme-secondary);--color-secondary-text: var(--theme-secondary-text);--color-tertiary: var(--theme-tertiary);--color-tertiary-text: var(--theme-tertiary-text);--bg-base: var(--theme-neutral-0);--bg-raised: var(--theme-neutral-50);--bg-overlay: var(--theme-neutral-0);--bg-inverse: var(--theme-neutral-900);--text-primary: var(--theme-neutral-900);--text-secondary: var(--theme-neutral-700);--text-muted: var(--theme-neutral-500);--text-inverse: var(--theme-neutral-0);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--color-border-base: var(--theme-neutral-200);--color-border-raised: var(--theme-neutral-200);--color-border-subtle: var(--theme-neutral-100);--color-border-emphasis: var(--theme-neutral-500);--border-on-base: 1px solid var(--color-border-base);--border-on-raised: 1px solid var(--color-border-base);--border-on-subtle: 1px solid var(--color-border-base);--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-full: 9999px;--border-radius: var(--border-radius-md);--shadow-color: var(--theme-neutral-900);--shadow-sm: 0 .0625rem .125rem 0 oklch(from var(--shadow-color) l c h / 25%);--shadow-md: 0 .25rem .375rem -.0625rem oklch(from var(--shadow-color) l c h / 25%);--shadow-lg: 0 .625rem .9375rem -.1875rem oklch(from var(--shadow-color) l c h / 25%), 0 .25rem .375rem -.125rem oklch(from var(--shadow-color) l c h / 15%);--bg-gradient-base: linear-gradient( to bottom, var(--bg-raised) 0%, var(--bg-base) 50% );--bg-gradient-raised: linear-gradient( to bottom, var(--bg-base) 0%, var(--bg-raised) 50% );--bg-gradient-subtle: transparent}:root,[data-theme]{--color-danger: var(--theme-danger);--color-success: var(--theme-success);--color-warning: var(--theme-warning);--color-info: var(--theme-primary);--danger-bg-subtle: color-mix( in srgb, var(--theme-danger) 10%, var(--bg-base) );--danger-text-on-subtle: var(--theme-danger);--danger-border: var(--theme-danger);--danger-bg-solid: var(--theme-danger);--danger-text-on-solid: var(--text-inverse);--danger-hover: color-mix( in srgb, var(--theme-danger) 85%, var(--text-primary) );--success-bg-subtle: color-mix( in srgb, var(--theme-success) 10%, var(--bg-base) );--success-text-on-subtle: var(--theme-success);--success-border: var(--theme-success);--success-bg-solid: var(--theme-success);--success-text-on-solid: var(--text-inverse);--success-hover: color-mix( in srgb, var(--theme-success) 85%, var(--text-primary) );--warning-bg-subtle: color-mix( in srgb, var(--theme-warning) 10%, var(--bg-base) );--warning-text-on-subtle: color-mix( in srgb, var(--theme-warning) 60%, var(--theme-neutral-900) );--warning-border: var(--theme-warning);--warning-bg-solid: var(--theme-warning);--warning-text-on-solid: var(--text-primary);--warning-hover: color-mix( in srgb, var(--theme-warning) 85%, var(--text-primary) );--info-bg-subtle: color-mix(in srgb, var(--color-info) 10%, var(--bg-base));--info-text-on-subtle: var(--color-info);--info-border: var(--color-info);--info-bg-solid: var(--color-info);--info-text-on-solid: var(--text-inverse)}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--text-primary)}.component-size-xs{--component-padding-x: .5rem;--component-padding-y: .25rem;--component-font-size: .75rem;--component-line-height: 1.2;--component-height: 1.5rem}.component-size-sm{--component-padding-x: .625rem;--component-padding-y: .3125rem;--component-font-size: .875rem;--component-line-height: 1.2;--component-height: 1.875rem}.component-size-md{--component-padding-x: .875rem;--component-padding-y: .4375rem;--component-font-size: 1rem;--component-line-height: 1.3;--component-height: 2.25rem}.component-size-lg{--component-padding-x: 1.125rem;--component-padding-y: .5625rem;--component-font-size: 1.125rem;--component-line-height: 1.4;--component-height: 2.625rem}.component-variant-on-base{--component-background: var(--bg-raised);--component-border: 1px solid var(--color-border-raised);--component-text: var(--text-primary);--component-bg-hover: color-mix(in srgb, var(--bg-raised) 90%, var(--color-primary) 10%);--component-border-hover: 1px solid var(--color-primary);--component-border-focus: 1px solid var(--color-primary)}.component-variant-on-raised{--component-background: var(--bg-base);--component-border: 1px solid var(--color-border-base);--component-text: var(--text-primary);--component-bg-hover: color-mix(in srgb, var(--bg-base) 90%, var(--color-primary) 10%);--component-border-hover: 1px solid var(--color-primary);--component-border-focus: 1px solid var(--color-primary)}.component-variant-unstyled{--component-background: transparent;--component-border: none;--component-text: var(--text-primary);--component-bg-hover: var(--bg-base);--component-border-hover: none;--component-border-focus: 1px solid var(--color-primary)}.component-color-primary{--component-color-bg: var(--color-primary);--component-color-bg-hover: color-mix( in srgb, var(--color-primary) 85%, var(--text-primary) );--component-color-text: var(--color-primary-text);--component-color-border: var(--color-primary);--component-color-accent: var(--color-primary)}.component-color-secondary{--component-color-bg: var(--color-secondary);--component-color-bg-hover: color-mix( in srgb, var(--color-secondary) 85%, var(--text-primary) );--component-color-text: var(--color-secondary-text);--component-color-border: var(--color-secondary);--component-color-accent: var(--color-secondary)}.component-color-tertiary{--component-color-bg: var(--color-tertiary);--component-color-bg-hover: color-mix( in srgb, var(--color-tertiary) 85%, var(--text-primary) );--component-color-text: var(--color-tertiary-text);--component-color-border: var(--color-tertiary);--component-color-accent: var(--color-tertiary)}.component-color-success{--component-color-bg: var(--success-bg-solid);--component-color-bg-hover: var(--success-hover);--component-color-text: var(--success-text-on-solid);--component-color-border: var(--success-border);--component-color-accent: var(--color-success)}.component-color-danger{--component-color-bg: var(--danger-bg-solid);--component-color-bg-hover: var(--danger-hover);--component-color-text: var(--danger-text-on-solid);--component-color-border: var(--danger-border);--component-color-accent: var(--color-danger)}.component-color-warning{--component-color-bg: var(--warning-bg-solid);--component-color-bg-hover: var(--warning-hover);--component-color-text: var(--warning-text-on-solid);--component-color-border: var(--warning-border);--component-color-accent: var(--color-warning)}.component-radius-sm{--component-border-radius: var(--border-radius-sm)}.component-radius-md{--component-border-radius: var(--border-radius-md)}.component-radius-lg{--component-border-radius: var(--border-radius-lg)}.component-radius-full{--component-border-radius: var(--border-radius-full)}.component-radius-none{--component-border-radius: 0}.component-shadow-none{--component-box-shadow: none}.component-shadow-sm{--component-box-shadow: var(--shadow-sm)}.component-shadow-md{--component-box-shadow: var(--shadow-md)}.component-shadow-lg{--component-box-shadow: var(--shadow-lg)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-primary)}h1{font-size:2rem;font-weight:700;line-height:1.2;margin:0}h2{font-size:1.5rem;font-weight:600;line-height:1.3;margin:0}h3{font-size:1.25rem;font-weight:600;line-height:1.4;margin:0}h4{font-size:1.125rem;font-weight:600;line-height:1.4;margin:0}h5{font-size:1rem;font-weight:600;line-height:1.5;margin:0}h6{font-size:.875rem;font-weight:600;line-height:1.5;margin:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.ruk-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--component-padding-y) var(--component-padding-x);font-size:var(--component-font-size);line-height:var(--component-line-height);border:var(--component-border);border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);text-decoration:none;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:inherit;background:var(--btn-bg);color:var(--btn-color)}.ruk-btn:hover:not(:disabled){background:var(--btn-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ruk-btn:active:not(:disabled){transform:translateY(0)}.ruk-btn:disabled{opacity:.5;cursor:not-allowed}.ruk-btn--loading{opacity:.7;cursor:wait}.ruk-btn--full-width{width:100%}.ruk-btn--solid{--btn-bg: var(--btn-color-bg);--btn-bg-hover: var(--btn-color-bg-hover);--btn-color: var(--btn-color-text);border:1px solid var(--btn-color-border)}.ruk-btn--outline{--btn-bg: transparent;--btn-bg-hover: var(--bg-raised);--btn-color: var(--btn-color-accent);--btn-hover-color: var(--btn-color-accent);border:1px solid var(--btn-color-border)}.ruk-btn--outline:hover:not(:disabled){border-color:var(--btn-color-accent);color:var(--btn-hover-color)}.ruk-btn--ghost{--btn-bg: transparent;--btn-bg-hover: var(--bg-raised);--btn-color: var(--btn-color-accent);--btn-hover-color: var(--btn-color-accent);border:none}.ruk-btn--ghost:hover:not(:disabled){color:var(--btn-hover-color)}.ruk-btn--link{--btn-bg: transparent;--btn-bg-hover: transparent;--btn-color: var(--btn-color-accent);--btn-hover-color: color-mix( in srgb, var(--btn-color-accent) 85%, var(--text-primary) );padding-left:0;padding-right:0;border:none;text-decoration:underline}.ruk-btn--link:hover:not(:disabled){color:var(--btn-hover-color);text-decoration:none;transform:none;box-shadow:none}.ruk-btn--color-primary{--btn-color-bg: var(--color-primary);--btn-color-bg-hover: color-mix( in srgb, var(--color-primary) 85%, var(--text-primary) );--btn-color-text: var(--color-primary-text);--btn-color-border: var(--color-primary);--btn-color-accent: var(--color-primary)}.ruk-btn--color-secondary{--btn-color-bg: var(--color-secondary);--btn-color-bg-hover: color-mix( in srgb, var(--color-secondary) 85%, var(--text-primary) );--btn-color-text: var(--color-secondary-text);--btn-color-border: var(--color-secondary);--btn-color-accent: var(--color-secondary)}.ruk-btn--color-tertiary{--btn-color-bg: var(--color-tertiary);--btn-color-bg-hover: color-mix( in srgb, var(--color-tertiary) 85%, var(--text-primary) );--btn-color-text: var(--color-tertiary-text);--btn-color-border: var(--color-tertiary);--btn-color-accent: var(--color-tertiary)}.ruk-btn--color-danger{--btn-color-bg: var(--danger-bg-solid);--btn-color-bg-hover: var(--danger-hover);--btn-color-text: var(--danger-text-on-solid);--btn-color-border: var(--danger-border);--btn-color-accent: var(--color-danger)}.ruk-btn--color-warning{--btn-color-bg: var(--warning-bg-solid);--btn-color-bg-hover: var(--warning-hover);--btn-color-text: var(--warning-text-on-solid);--btn-color-border: var(--warning-border);--btn-color-accent: var(--color-warning)}.ruk-btn--color-success{--btn-color-bg: var(--success-bg-solid);--btn-color-bg-hover: var(--success-hover);--btn-color-text: var(--success-text-on-solid);--btn-color-border: var(--success-border);--btn-color-accent: var(--color-success)}.ruk-checkbox{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:var(--spacing-sm);font-size:var(--component-font-size);line-height:var(--component-line-height);color:var(--text-primary);min-height:calc(var(--component-height))}.ruk-checkbox--disabled{opacity:.5;cursor:not-allowed}.ruk-checkbox__input{position:absolute;opacity:0;width:0;height:0}.ruk-checkbox__box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:calc(var(--component-height) * .7);height:calc(var(--component-height) * .7);background-color:var(--checkbox-bg);border:var(--checkbox-border);border-radius:var(--component-border-radius);transition:all .2s ease;flex-shrink:0}.ruk-checkbox:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box{background-color:var(--checkbox-hover-bg)}.ruk-checkbox__checkmark{opacity:0;transform:scale(.5);transition:all .2s ease;color:var(--checkbox-checkmark);font-size:calc(var(--component-height) * .5);line-height:1}.ruk-checkbox__input:checked+.ruk-checkbox__box .ruk-checkbox__checkmark{opacity:1;transform:scale(1)}.ruk-checkbox__input:checked+.ruk-checkbox__box{background-color:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-border)}.ruk-checkbox__input:focus-visible+.ruk-checkbox__box{outline:2px solid var(--color-primary);outline-offset:2px}.ruk-checkbox__input:disabled+.ruk-checkbox__box{cursor:not-allowed}.ruk-checkbox__label{font-size:var(--component-font-size);line-height:var(--component-line-height);color:var(--text-primary)}.ruk-checkbox--on-raised,.ruk-checkbox--on-base,.ruk-checkbox--floating{--checkbox-bg: var(--component-background);--checkbox-border: var(--component-border);--checkbox-checkmark: var(--text-inverse)}.ruk-checkbox--color-primary{--checkbox-border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border-base));--checkbox-hover-bg: color-mix(in srgb, var(--color-primary) 10%, var(--checkbox-bg));--checkbox-checked-bg: var(--color-primary);--checkbox-checked-border: var(--color-primary);--checkbox-checked-hover-bg: color-mix(in srgb, var(--color-primary) 85%, var(--text-primary))}.ruk-checkbox--color-secondary{--checkbox-border-color: color-mix(in srgb, var(--color-secondary) 40%, var(--color-border-base));--checkbox-hover-bg: color-mix(in srgb, var(--color-secondary) 10%, var(--checkbox-bg));--checkbox-checked-bg: var(--color-secondary);--checkbox-checked-border: var(--color-secondary);--checkbox-checked-hover-bg: color-mix(in srgb, var(--color-secondary) 85%, var(--text-primary))}.ruk-checkbox--color-tertiary{--checkbox-border-color: color-mix(in srgb, var(--color-tertiary) 40%, var(--color-border-base));--checkbox-hover-bg: color-mix(in srgb, var(--color-tertiary) 10%, var(--checkbox-bg));--checkbox-checked-bg: var(--color-tertiary);--checkbox-checked-border: var(--color-tertiary);--checkbox-checked-hover-bg: color-mix(in srgb, var(--color-tertiary) 85%, var(--text-primary))}.ruk-checkbox--color-success{--checkbox-border-color: color-mix(in srgb, var(--color-success) 40%, var(--color-border-base));--checkbox-hover-bg: color-mix(in srgb, var(--color-success) 10%, var(--checkbox-bg));--checkbox-checked-bg: var(--color-success);--checkbox-checked-border: var(--color-success);--checkbox-checked-hover-bg: color-mix(in srgb, var(--color-success) 85%, var(--text-primary))}.ruk-checkbox--color-danger{--checkbox-border-color: color-mix(in srgb, var(--color-danger) 40%, var(--color-border-base));--checkbox-hover-bg: color-mix(in srgb, var(--color-danger) 10%, var(--checkbox-bg));--checkbox-checked-bg: var(--color-danger);--checkbox-checked-border: var(--color-danger);--checkbox-checked-hover-bg: color-mix(in srgb, var(--color-danger) 85%, var(--text-primary))}.ruk-checkbox--color-warning{--checkbox-border-color: color-mix(in srgb, var(--color-warning) 40%, var(--color-border-base));--checkbox-hover-bg: color-mix(in srgb, var(--color-warning) 10%, var(--checkbox-bg));--checkbox-checked-bg: var(--color-warning);--checkbox-checked-border: var(--color-warning);--checkbox-checked-hover-bg: color-mix(in srgb, var(--color-warning) 85%, var(--text-primary))}.ruk-checkbox--color-primary .ruk-checkbox__box,.ruk-checkbox--color-secondary .ruk-checkbox__box,.ruk-checkbox--color-tertiary .ruk-checkbox__box,.ruk-checkbox--color-success .ruk-checkbox__box,.ruk-checkbox--color-danger .ruk-checkbox__box,.ruk-checkbox--color-warning .ruk-checkbox__box{border-color:var(--checkbox-border-color)}.ruk-checkbox--color-primary:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box,.ruk-checkbox--color-secondary:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box,.ruk-checkbox--color-tertiary:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box,.ruk-checkbox--color-success:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box,.ruk-checkbox--color-danger:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box,.ruk-checkbox--color-warning:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__box{background-color:var(--checkbox-hover-bg)}.ruk-checkbox--color-primary:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__input:checked+.ruk-checkbox__box,.ruk-checkbox--color-secondary:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__input:checked+.ruk-checkbox__box,.ruk-checkbox--color-tertiary:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__input:checked+.ruk-checkbox__box,.ruk-checkbox--color-success:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__input:checked+.ruk-checkbox__box,.ruk-checkbox--color-danger:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__input:checked+.ruk-checkbox__box,.ruk-checkbox--color-warning:hover:not(.ruk-checkbox--disabled) .ruk-checkbox__input:checked+.ruk-checkbox__box{background-color:var(--checkbox-checked-hover-bg)}.ruk-radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ruk-radio-group--row{flex-direction:row;flex-wrap:wrap}.ruk-radio-group--disabled{opacity:.5;cursor:not-allowed}.ruk-radio-group__radio{display:inline-flex;align-items:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none;gap:var(--spacing-sm);font-size:var(--component-font-size);line-height:var(--component-line-height);color:var(--text-primary)}.ruk-radio-group__radio:has(.ruk-radio-group__input:disabled){opacity:.5;cursor:not-allowed}.ruk-radio-group__input{position:absolute;opacity:0;width:0;height:0}.ruk-radio-group__circle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--component-font-size);height:var(--component-font-size);background-color:var(--radio-bg);border:var(--radio-border);border-radius:50%;transition:all .2s ease;flex-shrink:0;margin-top:calc((var(--component-line-height) - 1) * var(--component-font-size) / 2)}.ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle{background-color:var(--radio-hover-bg)}.ruk-radio-group__dot{width:.375rem;height:.375rem;background-color:var(--radio-dot);border-radius:50%;opacity:0;transform:scale(.5);transition:all .2s ease}.ruk-radio-group__input:checked+.ruk-radio-group__circle .ruk-radio-group__dot{opacity:1;transform:scale(1)}.ruk-radio-group__input:checked+.ruk-radio-group__circle{background-color:var(--radio-checked-bg);border-color:var(--radio-checked-border)}.ruk-radio-group__input:focus-visible+.ruk-radio-group__circle{outline:2px solid var(--color-primary);outline-offset:2px}.ruk-radio-group__label{font-size:var(--component-font-size);line-height:var(--component-line-height);color:var(--text-primary)}.ruk-radio-group--on-raised,.ruk-radio-group--on-base,.ruk-radio-group--floating{--radio-bg: var(--component-background);--radio-border: var(--component-border);--radio-dot: var(--text-inverse)}.ruk-radio-group--color-primary{--radio-border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border-base));--radio-hover-bg: color-mix(in srgb, var(--color-primary) 10%, var(--radio-bg));--radio-checked-bg: var(--color-primary);--radio-checked-border: var(--color-primary);--radio-checked-hover-bg: color-mix(in srgb, var(--color-primary) 85%, var(--text-primary))}.ruk-radio-group--color-secondary{--radio-border-color: color-mix(in srgb, var(--color-secondary) 40%, var(--color-border-base));--radio-hover-bg: color-mix(in srgb, var(--color-secondary) 10%, var(--radio-bg));--radio-checked-bg: var(--color-secondary);--radio-checked-border: var(--color-secondary);--radio-checked-hover-bg: color-mix(in srgb, var(--color-secondary) 85%, var(--text-primary))}.ruk-radio-group--color-tertiary{--radio-border-color: color-mix(in srgb, var(--color-tertiary) 40%, var(--color-border-base));--radio-hover-bg: color-mix(in srgb, var(--color-tertiary) 10%, var(--radio-bg));--radio-checked-bg: var(--color-tertiary);--radio-checked-border: var(--color-tertiary);--radio-checked-hover-bg: color-mix(in srgb, var(--color-tertiary) 85%, var(--text-primary))}.ruk-radio-group--color-success{--radio-border-color: color-mix(in srgb, var(--color-success) 40%, var(--color-border-base));--radio-hover-bg: color-mix(in srgb, var(--color-success) 10%, var(--radio-bg));--radio-checked-bg: var(--color-success);--radio-checked-border: var(--color-success);--radio-checked-hover-bg: color-mix(in srgb, var(--color-success) 85%, var(--text-primary))}.ruk-radio-group--color-danger{--radio-border-color: color-mix(in srgb, var(--color-danger) 40%, var(--color-border-base));--radio-hover-bg: color-mix(in srgb, var(--color-danger) 10%, var(--radio-bg));--radio-checked-bg: var(--color-danger);--radio-checked-border: var(--color-danger);--radio-checked-hover-bg: color-mix(in srgb, var(--color-danger) 85%, var(--text-primary))}.ruk-radio-group--color-warning{--radio-border-color: color-mix(in srgb, var(--color-warning) 40%, var(--color-border-base));--radio-hover-bg: color-mix(in srgb, var(--color-warning) 10%, var(--radio-bg));--radio-checked-bg: var(--color-warning);--radio-checked-border: var(--color-warning);--radio-checked-hover-bg: color-mix(in srgb, var(--color-warning) 85%, var(--text-primary))}.ruk-radio-group--color-primary .ruk-radio-group__circle,.ruk-radio-group--color-secondary .ruk-radio-group__circle,.ruk-radio-group--color-tertiary .ruk-radio-group__circle,.ruk-radio-group--color-success .ruk-radio-group__circle,.ruk-radio-group--color-danger .ruk-radio-group__circle,.ruk-radio-group--color-warning .ruk-radio-group__circle{border-color:var(--radio-border-color)}.ruk-radio-group--color-primary .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle,.ruk-radio-group--color-secondary .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle,.ruk-radio-group--color-tertiary .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle,.ruk-radio-group--color-success .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle,.ruk-radio-group--color-danger .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle,.ruk-radio-group--color-warning .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__circle{background-color:var(--radio-hover-bg)}.ruk-radio-group--color-primary .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__input:checked+.ruk-radio-group__circle,.ruk-radio-group--color-secondary .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__input:checked+.ruk-radio-group__circle,.ruk-radio-group--color-tertiary .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__input:checked+.ruk-radio-group__circle,.ruk-radio-group--color-success .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__input:checked+.ruk-radio-group__circle,.ruk-radio-group--color-danger .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__input:checked+.ruk-radio-group__circle,.ruk-radio-group--color-warning .ruk-radio-group__radio:hover:not(:has(.ruk-radio-group__input:disabled)) .ruk-radio-group__input:checked+.ruk-radio-group__circle{background-color:var(--radio-checked-hover-bg)}.ruk-container{display:flex;flex-direction:column;transition:all .2s ease;border:var(--component-border);border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);background:var(--component-background)}.ruk-container--hoverable:hover{border-color:var(--component-color-accent);transform:translateY(-2px);filter:brightness(1.02)}.ruk-container--interactive{cursor:pointer}.ruk-container--selected{border-color:var(--component-color-accent);position:relative}.ruk-container--selected:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--component-color-accent) 7%,transparent);border-radius:inherit;pointer-events:none;z-index:0}.ruk-container__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--component-padding-y) var(--component-padding-x);font-size:var(--component-font-size);line-height:var(--component-line-height);border-radius:var(--component-border-radius) var(--component-border-radius) 0 0}.ruk-container__header:not(.ruk-container__header--divider):not(.ruk-container__header--divider-inset){padding-bottom:var(--component-padding-y)}.ruk-container__header--on-raised{background:var(--bg-gradient-base)}.ruk-container__header--on-base{background:var(--bg-gradient-raised)}.ruk-container__header--unstyled{background:var(--bg-gradient-subtle)}.ruk-container__header--divider{border-bottom:var(--border-on-base)}.ruk-container__header--divider-inset{border-bottom:none;position:relative}.ruk-container__header--divider-inset:after{content:"";position:absolute;bottom:0;left:var(--component-padding-x);right:var(--component-padding-x);border-bottom:var(--border-on-base);z-index:1}.ruk-container__content{display:flex;flex-direction:column;flex:1;padding:var(--component-padding-y) var(--component-padding-x);min-height:0}.ruk-container__content:last-child{border-radius:0 0 var(--component-border-radius) var(--component-border-radius)}.ruk-container__content:first-child{border-radius:var(--component-border-radius) var(--component-border-radius) 0 0}.ruk-container__content:only-child{border-radius:var(--component-border-radius)}.ruk-container:has(.ruk-container__header:not(.ruk-container__header--divider):not(.ruk-container__header--divider-inset)) .ruk-container__content{padding-top:var(--component-padding-y)}.ruk-container__content--on-raised{background:var(--bg-base)}.ruk-container__content--on-base{background:var(--bg-raised)}.ruk-container__content--unstyled{background:transparent}.ruk-container__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--component-padding-y) var(--component-padding-x);border-radius:0 0 var(--component-border-radius) var(--component-border-radius)}.ruk-container__footer--on-raised{background:var(--bg-base)}.ruk-container__footer--on-base{background:var(--bg-raised)}.ruk-container__footer--unstyled{background:transparent}.ruk-container__footer--divider{border-top:var(--border-on-base)}.ruk-container__footer--divider-inset{border-top:none;position:relative}.ruk-container__footer--divider-inset:after{content:"";position:absolute;top:0;left:var(--component-padding-x);right:var(--component-padding-x);border-top:var(--border-on-base)}.ruk-input{display:inline-flex;align-items:center;gap:var(--spacing-xs);border:var(--input-border);border-radius:var(--component-border-radius);padding:var(--component-padding-y) var(--component-padding-x);background:var(--input-bg);color:var(--input-color);box-shadow:var(--component-box-shadow);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;font-size:var(--component-font-size);line-height:var(--component-line-height)}.ruk-input:hover:not(.ruk-input--disabled){background:var(--input-bg-hover);border:var(--input-border-hover)}.ruk-input--focused{border:var(--input-border-focus);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / 10%)}.ruk-input--disabled{opacity:.6;cursor:not-allowed}.ruk-input--full-width{width:100%}.ruk-input--multiline{align-items:flex-start}.ruk-input{--input-bg: var(--component-background);--input-bg-hover: var(--component-bg-hover);--input-color: var(--component-text);--input-border: var(--component-border);--input-border-hover: var(--component-border-hover);--input-border-focus: var(--component-border-focus)}.ruk-input--color-primary{--input-border-hover-color: var(--color-primary);--input-border-focus-color: var(--color-primary)}.ruk-input--color-secondary{--input-border-hover-color: var(--color-secondary);--input-border-focus-color: var(--color-secondary)}.ruk-input--color-tertiary{--input-border-hover-color: var(--color-tertiary);--input-border-focus-color: var(--color-tertiary)}.ruk-input--color-success{--input-border-hover-color: var(--color-success);--input-border-focus-color: var(--color-success)}.ruk-input--color-danger{--input-border-hover-color: var(--color-danger);--input-border-focus-color: var(--color-danger)}.ruk-input--color-warning{--input-border-hover-color: var(--color-warning);--input-border-focus-color: var(--color-warning)}.ruk-input__field{flex:1;border:none;outline:none;background:transparent;color:var(--input-color);font-size:var(--component-font-size);line-height:var(--component-line-height);font-family:inherit;min-width:0;padding:0}.ruk-input__field::placeholder{color:var(--text-muted)}.ruk-input__field:disabled{cursor:not-allowed}.ruk-input__textarea{flex:1;border:none;outline:none;background:transparent;color:var(--input-color);font-size:var(--component-font-size);line-height:var(--component-line-height);font-family:inherit;min-width:0;padding:0;resize:vertical}.ruk-input__textarea::placeholder{color:var(--text-muted)}.ruk-input__textarea:disabled{cursor:not-allowed}.ruk-input__clear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:background-color .15s ease,color .15s ease;flex-shrink:0;font-size:1rem;line-height:1}.ruk-input__clear-btn:hover{background:var(--bg-raised);color:var(--text-primary)}.ruk-input__clear-btn:active{transform:scale(.95)}.ruk-input__prefix,.ruk-input__suffix{color:var(--text-muted);font-size:var(--component-font-size);line-height:var(--component-line-height);flex-shrink:0;display:flex;align-items:center;max-height:100%}.ruk-input--status-danger{border-color:var(--color-danger)}.ruk-input--status-warning{border-color:var(--color-warning)}.ruk-input--status-success{border-color:var(--color-success)}.ruk-select{position:relative;display:inline-block}.ruk-select--full-width{width:100%}.ruk-select__button{width:100%;min-height:var(--component-height);padding:var(--component-padding-y) var(--component-padding-x);background:var(--select-bg);color:var(--select-color);border:var(--select-border);border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);font-size:var(--component-font-size);line-height:var(--component-line-height);text-align:left;transition:all .2s ease}.ruk-select__button:hover:not(:disabled){background:var(--select-bg-hover);border:var(--select-border-hover)}.ruk-select__button:focus{outline:none;border:var(--select-border-focus)}.ruk-select__button--open{border:var(--select-border-focus)}.ruk-select__button:disabled{opacity:.6;cursor:not-allowed}.ruk-select--disabled{opacity:.6}.ruk-select__button{--select-bg: var(--component-background);--select-bg-hover: var(--component-bg-hover);--select-color: var(--component-text);--select-border: var(--component-border);--select-border-hover: var(--component-border-hover);--select-border-focus: var(--component-border-focus)}.ruk-select--color-primary{--select-border-hover-color: var(--color-primary);--select-border-focus-color: var(--color-primary)}.ruk-select--color-secondary{--select-border-hover-color: var(--color-secondary);--select-border-focus-color: var(--color-secondary)}.ruk-select--color-tertiary{--select-border-hover-color: var(--color-tertiary);--select-border-focus-color: var(--color-tertiary)}.ruk-select--color-success{--select-border-hover-color: var(--color-success);--select-border-focus-color: var(--color-success)}.ruk-select--color-danger{--select-border-hover-color: var(--color-danger);--select-border-focus-color: var(--color-danger)}.ruk-select--color-warning{--select-border-hover-color: var(--color-warning);--select-border-focus-color: var(--color-warning)}.ruk-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ruk-select__arrow{font-size:.7em;color:var(--text-secondary);transition:transform .2s ease}.ruk-select__button--open .ruk-select__arrow{transform:rotate(180deg)}.ruk-select--status-danger{border-color:var(--color-danger)}.ruk-select--status-warning{border-color:var(--color-warning)}.ruk-select--status-success{border-color:var(--color-success)}.ruk-select__menu{position:fixed;background:var(--select-menu-bg, var(--bg-base));border:var(--select-menu-border, var(--border-on-base));border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);max-height:18.75rem;overflow-y:auto;z-index:9100;margin:0;padding:0;min-width:9.375rem;display:flex;flex-direction:column}.ruk-select__menu--on-raised{--select-menu-bg: var(--bg-base);--select-menu-border: var(--border-on-base)}.ruk-select__menu--on-base{--select-menu-bg: var(--bg-raised);--select-menu-border: var(--border-on-raised)}.ruk-select__menu--floating{--select-menu-bg: var(--bg-base);--select-menu-border: var(--border-on-subtle)}.ruk-select__search{position:sticky;top:0;background:var(--select-menu-bg);padding:var(--spacing-xs);border-bottom:var(--select-menu-border);z-index:1}.ruk-select__options{padding:var(--spacing-xs) 0;overflow-y:auto}.ruk-select__option{width:100%;padding:var(--component-padding-y) var(--component-padding-x);background:transparent;color:var(--text-primary);border:none;cursor:pointer;text-align:left;font-size:var(--component-font-size);line-height:var(--component-line-height);transition:background-color .15s ease;display:flex;align-items:center;gap:.5rem}.ruk-select__option{--select-option-hover-bg: color-mix( in srgb, var(--color-primary) 10%, transparent );--select-option-selected-bg: color-mix( in srgb, var(--color-primary) 15%, transparent );--select-option-selected-hover-bg: color-mix( in srgb, var(--color-primary) 25%, transparent )}.ruk-select__option:hover{background:var(--select-option-hover-bg)}.ruk-select__option--selected{background:var(--select-option-selected-bg);font-weight:500}.ruk-select__option--selected:hover{background:var(--select-option-selected-hover-bg)}.ruk-select__loading{padding:var(--spacing-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--component-font-size)}.ruk-select__spinner{width:1rem;height:1rem;border:2px solid var(--color-border-base);border-top-color:var(--color-primary);border-radius:50%;animation:ruk-select-spin .6s linear infinite}@keyframes ruk-select-spin{to{transform:rotate(360deg)}}.ruk-select__no-results{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--component-font-size)}.ruk-select__menu::-webkit-scrollbar,.ruk-select__options::-webkit-scrollbar{width:.5rem}.ruk-select__menu::-webkit-scrollbar-track,.ruk-select__options::-webkit-scrollbar-track{background:var(--bg-base);border-radius:var(--border-radius-sm)}.ruk-select__menu::-webkit-scrollbar-thumb,.ruk-select__options::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--border-radius-sm)}.ruk-select__menu::-webkit-scrollbar-thumb:hover,.ruk-select__options::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.ruk-select__multiple-values{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.ruk-select__button.component-size-sm{--tag-padding: .0625rem .25rem;--tag-font-size: .6875rem;--tag-line-height: 1.1}.ruk-select__button.component-size-md{--tag-padding: .125rem .375rem;--tag-font-size: .8125rem;--tag-line-height: 1.2}.ruk-select__button.component-size-lg{--tag-padding: .1875rem .5rem;--tag-font-size: .9375rem;--tag-line-height: 1.2}.ruk-select__selected-tag{display:inline-flex;align-items:center;gap:.25rem;padding:var(--tag-padding);background:color-mix(in srgb,var(--tag-color) 20%,transparent);color:color-mix(in srgb,var(--tag-color) 70%,var(--text-primary));border:1px solid var(--tag-color);border-radius:var(--border-radius-sm);font-size:var(--tag-font-size);line-height:var(--tag-line-height);font-weight:500;--tag-color: var(--color-primary)}.ruk-select--color-primary .ruk-select__selected-tag{--tag-color: var(--color-primary)}.ruk-select--color-secondary .ruk-select__selected-tag{--tag-color: var(--color-secondary)}.ruk-select--color-tertiary .ruk-select__selected-tag{--tag-color: var(--color-tertiary)}.ruk-select--color-success .ruk-select__selected-tag{--tag-color: var(--color-success)}.ruk-select--color-danger .ruk-select__selected-tag{--tag-color: var(--color-danger)}.ruk-select--color-warning .ruk-select__selected-tag{--tag-color: var(--color-warning)}.ruk-select__remove-tag{background:none;border:none;color:inherit;cursor:pointer;padding:0;margin:0;margin-left:.125rem;font-size:1em;line-height:1;opacity:.7;transition:opacity .15s ease;display:inline-flex;align-items:center}.ruk-select__remove-tag:hover{opacity:1}.ruk-select__checkbox{margin-right:.375rem;pointer-events:none}.ruk-select__option-label{flex:1;text-align:left}.ruk-select__option:has(.ruk-select__checkbox){padding-top:0;padding-bottom:0}.ruk-select__button--has-tags{padding-top:.25rem;padding-bottom:.25rem}.ruk-tag-input{display:inline-flex;min-height:var(--component-height);border:var(--input-border);border-radius:var(--component-border-radius);padding:var(--component-padding-y) var(--component-padding-x);background:var(--input-bg);color:var(--input-color);box-shadow:var(--component-box-shadow);font-size:var(--component-font-size);line-height:var(--component-line-height);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer;overflow-y:auto}.ruk-tag-input:hover:not(.ruk-tag-input--disabled){background:var(--input-bg-hover);border:var(--input-border-hover)}.ruk-tag-input--editing{border:var(--input-border-focus);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / 10%);cursor:text}.ruk-tag-input--disabled{opacity:.6;cursor:not-allowed}.ruk-tag-input--empty{justify-content:center;align-items:center}.ruk-tag-input--full-width{width:100%}.ruk-tag-input{--input-bg: var(--component-background);--input-bg-hover: var(--component-bg-hover);--input-color: var(--component-text);--input-border: var(--component-border);--input-border-hover: var(--component-border-hover);--input-border-focus: var(--component-border-focus)}.ruk-tag-input--color-primary{--input-border-hover-color: var(--color-primary);--input-border-focus-color: var(--color-primary);--tag-color: var(--color-primary)}.ruk-tag-input--color-secondary{--input-border-hover-color: var(--color-secondary);--input-border-focus-color: var(--color-secondary);--tag-color: var(--color-secondary)}.ruk-tag-input--color-tertiary{--input-border-hover-color: var(--color-tertiary);--input-border-focus-color: var(--color-tertiary);--tag-color: var(--color-tertiary)}.ruk-tag-input--color-success{--input-border-hover-color: var(--color-success);--input-border-focus-color: var(--color-success);--tag-color: var(--color-success)}.ruk-tag-input--color-danger{--input-border-hover-color: var(--color-danger);--input-border-focus-color: var(--color-danger);--tag-color: var(--color-danger)}.ruk-tag-input--color-warning{--input-border-hover-color: var(--color-warning);--input-border-focus-color: var(--color-warning);--tag-color: var(--color-warning)}.ruk-tag-input__content{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;width:100%;min-height:calc(var(--component-height) - var(--component-padding-y))}.ruk-tag-input.component-size-sm{--tag-padding: .0625rem .25rem;--tag-font-size: .6875rem;--tag-line-height: 1.1}.ruk-tag-input.component-size-md{--tag-padding: .125rem .375rem;--tag-font-size: .8125rem;--tag-line-height: 1.2}.ruk-tag-input.component-size-lg{--tag-padding: .1875rem .5rem;--tag-font-size: .9375rem;--tag-line-height: 1.2}.ruk-tag-input__tag{display:inline-flex;align-items:center;gap:.25rem;padding:var(--tag-padding);background:color-mix(in srgb,var(--tag-color) 20%,transparent);color:color-mix(in srgb,var(--tag-color) 70%,var(--text-primary));border:1px solid var(--tag-color);border-radius:var(--border-radius-sm);font-size:var(--tag-font-size);line-height:var(--tag-line-height);font-weight:500;--tag-color: var(--color-primary)}.ruk-tag-input__remove{background:none;border:none;color:inherit;cursor:pointer;padding:0;margin:0;margin-left:.125rem;font-size:1em;line-height:1;opacity:.7;transition:opacity .15s ease;display:inline-flex;align-items:center}.ruk-tag-input__remove:hover{opacity:1}.ruk-tag-input__input{flex:1;min-width:4rem;border:none;outline:none;background:transparent;color:var(--input-color);font-size:var(--component-font-size);line-height:var(--component-line-height);font-family:inherit;padding:0}.ruk-tag-input__input::placeholder{color:var(--text-muted)}.ruk-tag-input__input:disabled{cursor:not-allowed}.ruk-tag-input__placeholder{color:var(--text-muted);font-size:var(--component-font-size);line-height:var(--component-line-height)}.ruk-tag-input--has-tags{padding-top:.25rem;padding-bottom:.25rem}.ruk-tag-input::-webkit-scrollbar{width:.5rem}.ruk-tag-input::-webkit-scrollbar-track{background:transparent}.ruk-tag-input::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--border-radius-sm)}.ruk-tag-input::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.ruk-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--bg-inverse) 40%,transparent);display:flex;align-items:center;justify-content:center;z-index:9000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem)}.ruk-modal{background:var(--component-background);border:var(--component-border);border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);display:flex;flex-direction:column;max-height:90vh;width:100%;animation:ruk-modalSlideIn .2s ease-out}@keyframes ruk-modalSlideIn{0%{opacity:0;transform:translateY(-1.25rem)}to{opacity:1;transform:translateY(0)}}.ruk-modal--on-raised{--modal-header-bg: var(--bg-gradient-base)}.ruk-modal--on-base{--modal-header-bg: var(--bg-gradient-raised)}.ruk-modal--floating{--modal-header-bg: var(--bg-gradient-subtle)}.ruk-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--component-padding-y) var(--component-padding-x);background:var(--modal-header-bg);border-radius:var(--component-border-radius) var(--component-border-radius) 0 0;flex-shrink:0}.ruk-modal__close-btn{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:background-color .15s ease,color .15s ease;flex-shrink:0}.ruk-modal__close-btn:hover{background:var(--bg-raised);color:var(--text-primary)}.ruk-modal__content{padding:var(--component-padding-y) var(--component-padding-x);overflow-y:auto;flex:1;min-height:0}.ruk-modal__content:last-child{border-radius:0 0 var(--component-border-radius) var(--component-border-radius)}.ruk-modal__content:first-child{border-radius:var(--component-border-radius) var(--component-border-radius) 0 0}.ruk-modal__content:only-child{border-radius:var(--component-border-radius)}.ruk-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--component-padding-y) var(--component-padding-x);background:var(--modal-header-bg);border-radius:0 0 var(--component-border-radius) var(--component-border-radius);flex-shrink:0}@media(max-width:768px){.ruk-modal__overlay{padding:0}.ruk-modal{max-height:100vh;border-radius:0}}.ruk-table-wrapper{width:100%;overflow-x:auto;border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);border:var(--component-border)}.ruk-table{width:100%;border-collapse:collapse;border-spacing:0;background:var(--component-background);color:var(--text-primary);font-size:var(--component-font-size);line-height:var(--component-line-height)}.ruk-table thead{background:var(--table-header-bg);color:var(--table-header-text);font-weight:600}.ruk-table thead th{padding:var(--component-padding-y) var(--component-padding-x);text-align:left;border-bottom:var(--table-header-border);white-space:nowrap}.ruk-table thead th.ruk-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.ruk-table thead th.ruk-table__th--sortable:hover{background:var(--table-header-hover-bg)}.ruk-table tbody td{padding:var(--component-padding-y) var(--component-padding-x);border-bottom:var(--table-row-border)}.ruk-table tbody tr:last-child td{border-bottom:none}.ruk-table__empty{text-align:center;color:var(--text-muted);padding:calc(var(--component-padding-y) * 2) var(--component-padding-x)}.ruk-table--striped tbody tr:nth-child(odd){background:var(--table-stripe-even-bg)}.ruk-table--striped tbody tr:nth-child(2n){background:var(--table-stripe-odd-bg)}.ruk-table--hoverable tbody tr{transition:background-color .15s ease}.ruk-table--hoverable tbody tr:hover{background:var(--table-hover-bg)!important}.ruk-table--bordered thead th,.ruk-table--bordered tbody td{border-right:var(--table-column-border)}.ruk-table--bordered thead th:last-child,.ruk-table--bordered tbody td:last-child{border-right:none}.ruk-table--on-raised{--table-header-bg: var(--bg-gradient-base);--table-header-text: var(--text-primary);--table-header-border: 1px solid var(--color-border-base);--table-header-hover-bg: color-mix(in srgb, var(--bg-raised) 90%, var(--text-primary));--table-row-border: 1px solid var(--color-border-subtle);--table-column-border: 1px solid var(--color-border-subtle);--table-stripe-odd-bg: var(--bg-base);--table-stripe-even-bg: color-mix(in srgb, var(--bg-base) 97%, var(--text-primary));--table-hover-bg: color-mix(in srgb, var(--bg-base) 92%, var(--text-primary))}.ruk-table--on-base{--table-header-bg: var(--bg-gradient-raised);--table-header-text: var(--text-primary);--table-header-border: 1px solid var(--color-border-base);--table-header-hover-bg: color-mix(in srgb, var(--bg-base) 90%, var(--text-primary));--table-row-border: 1px solid var(--color-border-subtle);--table-column-border: 1px solid var(--color-border-subtle);--table-stripe-odd-bg: var(--bg-raised);--table-stripe-even-bg: color-mix(in srgb, var(--bg-raised) 97%, var(--text-primary));--table-hover-bg: color-mix(in srgb, var(--bg-raised) 92%, var(--text-primary))}.ruk-table--floating{--table-header-bg: var(--bg-gradient-subtle);--table-header-text: var(--text-primary);--table-header-border: 1px solid var(--color-border-base);--table-header-hover-bg: color-mix(in srgb, var(--bg-base) 90%, transparent);--table-row-border: 1px solid var(--color-border-subtle);--table-column-border: 1px solid var(--color-border-subtle);--table-stripe-odd-bg: transparent;--table-stripe-even-bg: color-mix(in srgb, var(--bg-base) 50%, transparent);--table-hover-bg: color-mix(in srgb, var(--bg-base) 70%, transparent)}.ruk-table-wrapper::-webkit-scrollbar{height:.5rem}.ruk-table-wrapper::-webkit-scrollbar-track{background:transparent}.ruk-table-wrapper::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--border-radius-sm)}.ruk-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.ruk-tab-panel{display:flex;flex-direction:column}.ruk-tab-panel__tab-group{display:flex}.ruk-tab-panel__tab-group>div:last-child{flex-grow:1;border-bottom:var(--tab-panel-border)}.ruk-tab-panel__tab{padding:var(--component-padding-y) var(--component-padding-x);background-color:var(--tab-panel-inactive-bg);cursor:pointer;border:none;outline:none;color:var(--text-primary);font-size:var(--component-font-size);line-height:var(--component-line-height);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.ruk-tab-panel__tab:disabled{cursor:not-allowed;opacity:.5}.ruk-tab-panel--disabled{pointer-events:none;opacity:.6}.ruk-tab-panel__content{display:flex;flex-direction:column;padding:var(--component-padding-y) var(--component-padding-x);overflow-y:auto;flex:1;min-height:0;background:var(--tab-panel-content-bg)}.ruk-tab-panel--fitted>.ruk-tab-panel__tab-group>button{flex:1;text-align:center}.ruk-tab-panel--fitted>.ruk-tab-panel__tab-group>div:last-child{display:none}.ruk-tab-panel--enclosed>.ruk-tab-panel__tab-group>button{border:1px dashed var(--tab-panel-border-color);border-top-left-radius:var(--component-border-radius);border-top-right-radius:var(--component-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:var(--tab-panel-border)}.ruk-tab-panel--enclosed>.ruk-tab-panel__tab-group>button:hover:not(.ruk-tab-panel__tab--active):not(:disabled){background-color:var(--tab-panel-hover-bg);color:var(--tab-panel-hover-color)}.ruk-tab-panel--enclosed>.ruk-tab-panel__tab-group>button.ruk-tab-panel__tab--active{font-weight:600;background:var(--tab-panel-active-bg);border:var(--tab-panel-border);border-top-left-radius:var(--component-border-radius);border-top-right-radius:var(--component-border-radius);color:var(--tab-panel-active-color);border-bottom:none}.ruk-tab-panel--enclosed>.ruk-tab-panel__content{border:var(--tab-panel-border);border-top:none;background:var(--tab-panel-content-bg);box-shadow:var(--component-box-shadow);border-bottom-left-radius:var(--component-border-radius);border-bottom-right-radius:var(--component-border-radius)}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group{background:var(--tab-panel-underline-header-bg);border:var(--tab-panel-border);border-bottom:var(--tab-panel-border);border-top-left-radius:var(--component-border-radius);border-top-right-radius:var(--component-border-radius)}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group>div:last-child{border-bottom:none}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group>button{border:none;border-radius:0;background:transparent;color:var(--text-secondary);position:relative}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group>button:after{content:"";position:absolute;bottom:0;left:.25rem;right:.25rem;height:.125rem;background:transparent;transition:background-color .2s ease}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group>button:hover:not(.ruk-tab-panel__tab--active):not(:disabled){color:var(--text-primary)}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group>button.ruk-tab-panel__tab--active:after{background:var(--tab-panel-active-color)}.ruk-tab-panel--underline>.ruk-tab-panel__tab-group>button.ruk-tab-panel__tab--active{color:var(--tab-panel-active-color);font-weight:500}.ruk-tab-panel--underline>.ruk-tab-panel__content{border:var(--tab-panel-border);border-top:none;border-bottom-left-radius:var(--component-border-radius);border-bottom-right-radius:var(--component-border-radius)}.ruk-tab-panel--on-raised{--tab-panel-border: var(--border-on-base);--tab-panel-border-color: var(--color-border-base);--tab-panel-inactive-bg: var(--bg-base);--tab-panel-hover-bg: var(--bg-raised);--tab-panel-active-bg: linear-gradient(var(--bg-raised), var(--bg-base));--tab-panel-content-bg: var(--bg-base);--tab-panel-underline-header-bg: linear-gradient(to bottom, var(--bg-raised), var(--bg-base))}.ruk-tab-panel--on-base{--tab-panel-border: var(--border-on-raised);--tab-panel-border-color: var(--color-border-base);--tab-panel-inactive-bg: var(--bg-raised);--tab-panel-hover-bg: color-mix(in srgb, var(--bg-raised) 95%, var(--text-primary));--tab-panel-active-bg: linear-gradient(var(--bg-base), var(--bg-raised));--tab-panel-content-bg: var(--bg-raised);--tab-panel-underline-header-bg: linear-gradient(to bottom, var(--bg-base), var(--bg-raised))}.ruk-tab-panel--unstyled{--tab-panel-border: none;--tab-panel-border-color: transparent;--tab-panel-inactive-bg: transparent;--tab-panel-hover-bg: var(--bg-raised);--tab-panel-active-bg: transparent;--tab-panel-content-bg: transparent;--tab-panel-underline-header-bg: transparent}.ruk-tab-panel--floating{--tab-panel-border: 1px solid var(--color-border-base);--tab-panel-border-color: var(--color-border-base);--tab-panel-inactive-bg: transparent;--tab-panel-hover-bg: var(--bg-base);--tab-panel-active-bg: linear-gradient(var(--bg-base), transparent);--tab-panel-content-bg: transparent;--tab-panel-underline-header-bg: linear-gradient(to bottom, var(--bg-base), transparent)}.ruk-tab-panel--color-primary{--tab-panel-active-color: var(--color-primary);--tab-panel-hover-color: var(--color-primary)}.ruk-tab-panel--color-secondary{--tab-panel-active-color: var(--color-secondary);--tab-panel-hover-color: var(--color-secondary)}.ruk-tab-panel--color-tertiary{--tab-panel-active-color: var(--color-tertiary);--tab-panel-hover-color: var(--color-tertiary)}.ruk-tab-panel--color-success{--tab-panel-active-color: var(--color-success);--tab-panel-hover-color: var(--color-success)}.ruk-tab-panel--color-danger{--tab-panel-active-color: var(--color-danger);--tab-panel-hover-color: var(--color-danger)}.ruk-tab-panel--color-warning{--tab-panel-active-color: var(--color-warning);--tab-panel-hover-color: var(--color-warning)}.ruk-tag{display:inline-flex;align-items:center;gap:.25rem;padding:var(--component-padding-y) var(--component-padding-x);font-size:var(--component-font-size);line-height:var(--component-line-height);border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);font-weight:500;border:1px solid var(--tag-border);background:var(--tag-bg);color:var(--tag-text);transition:all .2s ease}.ruk-tag__icon{display:flex;align-items:center;font-size:1em}.ruk-tag--interactive:hover{filter:brightness(.95)}.ruk-tag--clickable{cursor:pointer}.ruk-tag--clickable:hover{transform:translateY(-1px)}.ruk-tag__remove-btn{background:none;border:none;color:inherit;font-size:1rem;cursor:pointer;padding:0;margin:0;margin-left:.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:background-color .2s ease,opacity .2s ease;opacity:.7;flex-shrink:0}.ruk-tag__remove-btn:hover{opacity:1;background:color-mix(in srgb,currentColor 20%,transparent)}.ruk-tag--tinted{--tag-bg: var(--tag-color-bg-tinted);--tag-border: var(--tag-color-border);--tag-text: var(--tag-color-text)}.ruk-tag--outline{--tag-bg: transparent;--tag-border: var(--tag-color-border);--tag-text: var(--tag-color-text)}.ruk-tag--ghost{--tag-bg: transparent;--tag-border: transparent;--tag-text: var(--tag-color-text)}.ruk-tag--color-primary{--tag-color-bg-tinted: color-mix(in srgb, var(--color-primary) 20%, transparent);--tag-color-border: var(--color-primary);--tag-color-text: color-mix(in srgb, var(--color-primary) 70%, var(--text-primary))}.ruk-tag--color-secondary{--tag-color-bg-tinted: color-mix(in srgb, var(--color-secondary) 20%, transparent);--tag-color-border: var(--color-secondary);--tag-color-text: color-mix(in srgb, var(--color-secondary) 70%, var(--text-primary))}.ruk-tag--color-tertiary{--tag-color-bg-tinted: color-mix(in srgb, var(--color-tertiary) 20%, transparent);--tag-color-border: var(--color-tertiary);--tag-color-text: color-mix(in srgb, var(--color-tertiary) 70%, var(--text-primary))}.ruk-tag--color-success{--tag-color-bg-tinted: color-mix(in srgb, var(--success-bg-solid) 20%, transparent);--tag-color-border: var(--success-bg-solid);--tag-color-text: color-mix(in srgb, var(--success-bg-solid) 70%, var(--text-primary))}.ruk-tag--color-warning{--tag-color-bg-tinted: color-mix(in srgb, var(--warning-bg-solid) 20%, transparent);--tag-color-border: var(--warning-bg-solid);--tag-color-text: color-mix(in srgb, var(--warning-bg-solid) 70%, var(--text-primary))}.ruk-tag--color-danger{--tag-color-bg-tinted: color-mix(in srgb, var(--danger-bg-solid) 20%, transparent);--tag-color-border: var(--danger-bg-solid);--tag-color-text: color-mix(in srgb, var(--danger-bg-solid) 70%, var(--text-primary))}.ruk-toggle{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:var(--spacing-sm)}.ruk-toggle--disabled{opacity:.6;cursor:not-allowed}.ruk-toggle__input{position:absolute;opacity:0;width:0;height:0}.ruk-toggle__slider{position:relative;display:inline-block;width:calc(var(--component-height) * .6 * 1.8);height:calc(var(--component-height) * .6);background-color:var(--toggle-bg);border:var(--toggle-border);border-radius:var(--border-radius-full);transition:all .2s ease;flex-shrink:0}.ruk-toggle__slider:after{content:"";position:absolute;top:50%;left:10%;right:10%;height:2px;background-color:var(--toggle-track);transform:translateY(-50%);border-radius:1px;opacity:.3}.ruk-toggle__input:checked+.ruk-toggle__slider:after{background-color:var(--toggle-checked-track);opacity:.4}.ruk-toggle__slider:before{content:"";position:absolute;height:calc(var(--component-height) * .6 - .375rem);width:calc(var(--component-height) * .6 - .375rem);left:.125rem;top:.125rem;background-color:var(--toggle-knob);border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px oklch(from var(--text-primary) l c h / 20%);z-index:1;border:var(--toggle-knob-border, none)}.ruk-toggle:hover:not(.ruk-toggle--disabled) .ruk-toggle__slider{background-color:color-mix(in srgb,var(--toggle-color) 10%,var(--bg-base))}.ruk-toggle:hover:not(.ruk-toggle--disabled) .ruk-toggle__slider:before{background-color:var(--toggle-knob-hover)}.ruk-toggle__input:checked+.ruk-toggle__slider{background-color:var(--toggle-checked-bg);border-color:var(--toggle-checked-border)}.ruk-toggle:hover:not(.ruk-toggle--disabled) .ruk-toggle__input:checked+.ruk-toggle__slider{background-color:var(--toggle-checked-bg-hover)}.ruk-toggle__input:checked+.ruk-toggle__slider:before{transform:translate(calc(var(--component-height) * .6 * .8));background-color:var(--toggle-checked-knob);border:var(--toggle-checked-knob-border, none)}.ruk-toggle:hover:not(.ruk-toggle--disabled) .ruk-toggle__input:checked+.ruk-toggle__slider:before{background-color:var(--toggle-checked-knob-hover)}.ruk-toggle__input:focus-visible+.ruk-toggle__slider{outline:2px solid var(--color-primary);outline-offset:2px}.ruk-toggle__input:disabled+.ruk-toggle__slider{cursor:not-allowed}.ruk-toggle__label{font-size:var(--component-font-size);line-height:var(--component-line-height);color:var(--text-primary)}.ruk-toggle{--toggle-bg: var(--bg-base);--toggle-border: 1px solid color-mix(in srgb, var(--toggle-color) 35%, var(--color-border-base));--toggle-knob: color-mix(in srgb, var(--toggle-color) 30%, var(--bg-base));--toggle-knob-hover: color-mix(in srgb, var(--toggle-color) 45%, var(--bg-base));--toggle-track: var(--text-secondary)}.ruk-toggle--primary{--toggle-color: var(--color-primary);--toggle-checked-bg: color-mix(in srgb, var(--toggle-color) 20%, transparent);--toggle-checked-bg-hover: color-mix(in srgb, var(--toggle-color) 10%, transparent);--toggle-checked-border: var(--toggle-color);--toggle-checked-knob: var(--toggle-color);--toggle-checked-knob-hover: color-mix(in srgb, var(--toggle-color) 85%, var(--text-primary));--toggle-checked-track: var(--toggle-color)}.ruk-toggle--secondary{--toggle-color: var(--color-secondary);--toggle-checked-bg: color-mix(in srgb, var(--toggle-color) 20%, transparent);--toggle-checked-bg-hover: color-mix(in srgb, var(--toggle-color) 10%, transparent);--toggle-checked-border: var(--toggle-color);--toggle-checked-knob: var(--toggle-color);--toggle-checked-knob-hover: color-mix(in srgb, var(--toggle-color) 85%, var(--text-primary));--toggle-checked-track: var(--toggle-color)}.ruk-toggle--tertiary{--toggle-color: var(--color-tertiary);--toggle-checked-bg: color-mix(in srgb, var(--toggle-color) 20%, transparent);--toggle-checked-bg-hover: color-mix(in srgb, var(--toggle-color) 10%, transparent);--toggle-checked-border: var(--toggle-color);--toggle-checked-knob: var(--toggle-color);--toggle-checked-knob-hover: color-mix(in srgb, var(--toggle-color) 85%, var(--text-primary));--toggle-checked-track: var(--toggle-color)}.ruk-toggle--danger{--toggle-color: var(--danger-bg-solid);--toggle-checked-bg: color-mix(in srgb, var(--toggle-color) 20%, transparent);--toggle-checked-bg-hover: color-mix(in srgb, var(--toggle-color) 10%, transparent);--toggle-checked-border: var(--toggle-color);--toggle-checked-knob: var(--toggle-color);--toggle-checked-knob-hover: color-mix(in srgb, var(--toggle-color) 85%, var(--text-primary));--toggle-checked-track: var(--toggle-color)}.ruk-toggle--success{--toggle-color: var(--success-bg-solid);--toggle-checked-bg: color-mix(in srgb, var(--toggle-color) 20%, transparent);--toggle-checked-bg-hover: color-mix(in srgb, var(--toggle-color) 10%, transparent);--toggle-checked-border: var(--toggle-color);--toggle-checked-knob: var(--toggle-color);--toggle-checked-knob-hover: color-mix(in srgb, var(--toggle-color) 85%, var(--text-primary));--toggle-checked-track: var(--toggle-color)}.ruk-toggle--warning{--toggle-color: var(--warning-bg-solid);--toggle-checked-bg: color-mix(in srgb, var(--toggle-color) 20%, transparent);--toggle-checked-bg-hover: color-mix(in srgb, var(--toggle-color) 10%, transparent);--toggle-checked-border: var(--toggle-color);--toggle-checked-knob: var(--toggle-color);--toggle-checked-knob-hover: color-mix(in srgb, var(--toggle-color) 85%, var(--text-primary));--toggle-checked-track: var(--toggle-color)}.ruk-tooltip__trigger{display:inline-flex;width:fit-content}.ruk-tooltip{position:fixed;z-index:10000;padding:var(--component-padding-y) var(--component-padding-x);background:var(--component-background);color:var(--component-text);border:var(--component-border);border-radius:var(--component-border-radius);box-shadow:var(--component-box-shadow);font-size:var(--component-font-size);line-height:var(--component-line-height);max-width:18.75rem;word-wrap:break-word;pointer-events:none;animation:ruk-tooltipFadeIn .15s ease-out;top:-9999px;left:-9999px}@keyframes ruk-tooltipFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ruk-tooltip--top{transform-origin:bottom center}.ruk-tooltip--bottom{transform-origin:top center}.ruk-tooltip--left{transform-origin:right center}.ruk-tooltip--right{transform-origin:left center}[data-theme=dark]{--theme-primary: #5adceb;--theme-primary-text: #041018;--theme-secondary: #1e82a0;--theme-secondary-text: #ecf6fa;--theme-tertiary: #3aa8ff;--theme-tertiary-text: #041018;--theme-neutral-0: #060e1a;--theme-neutral-50: #0c2034;--theme-neutral-100: #102c44;--theme-neutral-200: #1d4e66;--theme-neutral-500: #82a8ba;--theme-neutral-700: #b7d2de;--theme-neutral-900: #ecf6fa;--theme-neutral-950: #ffffff;--theme-danger: #eb5f69;--theme-success: #50d296;--theme-warning: #f0b446}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg-base);color:var(--text-primary);font-family:Segoe UI,Bahnschrift,system-ui,-apple-system,Roboto,sans-serif}.muted{color:var(--text-muted);font-size:.85em}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--color-border-base);background:var(--bg-raised)}.app-header h1{margin:0;font-size:1.1rem}.app-header__spacer{flex:1}.app-main{flex:1;padding:1rem;min-width:0}.toolbar{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.add-card,.add-row{display:flex;gap:.5rem;align-items:center;margin:.4rem 0}.field{flex:1;min-width:0;padding:.4rem .6rem;background:var(--bg-base);color:var(--text-primary);border:1px solid var(--color-border-base);border-radius:var(--border-radius-sm, 4px);font:inherit}textarea.field{resize:vertical}.error-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.5rem .75rem;border:1px solid var(--color-danger);border-radius:var(--border-radius-sm, 4px);color:var(--color-danger)}.board{display:grid;grid-template-columns:repeat(6,minmax(240px,1fr));gap:.75rem;overflow-x:auto;align-items:start;padding-bottom:1rem}.lane{background:var(--bg-raised);border:1px solid var(--color-border-subtle, var(--color-border-base));border-radius:var(--border-radius-sm, 6px);padding:.5rem;min-height:8rem}.lane--over{border-color:var(--color-primary)}.lane__title{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;display:flex;justify-content:space-between}.lane__title .muted{color:var(--color-primary)}.card[data-lane=in_progress] .ruk-container{border-color:color-mix(in oklab,var(--color-primary) 45%,transparent)}.card[data-lane=ready] .ruk-container{border-color:color-mix(in oklab,var(--color-success) 35%,transparent)}.card[data-lane=in_review] .ruk-container{border-color:color-mix(in oklab,var(--color-warning) 45%,transparent)}.card[data-lane=blocked] .ruk-container{border-color:color-mix(in oklab,var(--color-danger) 50%,transparent)}.card[data-lane=done] .ruk-container{border-color:color-mix(in oklab,var(--color-success) 50%,transparent)}.lane__cards{display:flex;flex-direction:column;gap:.5rem}.card__name{display:block;margin-bottom:.35rem}.card__meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.bar{height:4px;margin-top:.5rem;border-radius:2px;background:var(--color-border-subtle, var(--color-border-base));overflow:hidden}.bar__fill{height:100%;background:var(--color-success)}.detail__title{display:flex;align-items:center;gap:.6rem}.detail__title h2{margin:0;font-size:1.15rem}.detail{display:flex;flex-direction:column;gap:.75rem}.detail h3{margin:.5rem 0 .25rem;font-size:.9rem}.detail__row{display:flex;align-items:center;gap:.75rem}.detail__row .field{flex:0 0 auto}.detail__col{display:flex;flex-direction:column;gap:.25rem}.tree .node--sub,.tree .node--step{margin-left:1.25rem}.node--task{margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border-subtle, var(--color-border-base))}.node__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.comment{padding:.35rem 0;border-bottom:1px solid var(--color-border-subtle, var(--color-border-base))}.ruk-modal{max-width:56rem}.ruk-modal__close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--border-radius-sm, 4px)}.app-nav{display:flex;gap:.25rem;margin-left:1rem}.issue-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-raised);border:1px solid var(--color-border-subtle, var(--color-border-base));border-radius:var(--border-radius-sm, 6px)}.issue-form__row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.issue__desc{white-space:pre-wrap}.gantt__help{margin:0 0 .5rem}.gantt__legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:.75rem;font-size:.85rem}.gantt__legend-item{display:inline-flex;align-items:center;gap:.35rem}.gantt__swatch{width:.9rem;height:.9rem;border-radius:3px;border:1px solid transparent}.bar--lane-backlog{--bar: var(--color-border-base)}.bar--lane-ready{--bar: var(--color-tertiary)}.bar--lane-in_progress{--bar: var(--color-primary)}.bar--lane-in_review{--bar: var(--color-warning)}.bar--lane-done{--bar: var(--color-success)}.bar--lane-blocked{--bar: var(--color-danger)}.gantt__swatch,.gantt__bar{background:color-mix(in oklab,var(--bar) 35%,transparent);border-color:var(--bar)}.gantt{border:1px solid var(--color-border-base);border-radius:var(--border-radius-sm, 6px);background:var(--bg-raised);overflow-x:auto}.gantt__table{width:100%;min-width:52rem;border-collapse:collapse;table-layout:fixed}.gantt__label>*{display:block}.gantt__table thead th{position:sticky;top:0;z-index:1;background:var(--bg-base);text-align:left;font-weight:600;padding:0}.gantt__table tbody tr+tr>*{border-top:1px solid var(--color-border-subtle, var(--color-border-base))}.gantt__label{width:18rem;padding:.4rem .75rem;text-align:left;font-weight:400;vertical-align:middle}.gantt__table thead .gantt__label{padding:.4rem .75rem;font-weight:600}.gantt__name{all:unset;cursor:pointer;font-weight:600;color:var(--text-primary)}.gantt__name:hover{color:var(--color-primary);text-decoration:underline}.gantt__name:focus-visible,.gantt__bar:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gantt__ticks{display:grid}.gantt__tick{padding:.4rem 0;text-align:center;font-size:.75rem;color:var(--text-muted);border-left:1px solid var(--color-border-subtle, var(--color-border-base))}.gantt__section{text-align:left;font-weight:400;padding:.35rem .75rem;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);background:var(--bg-base);border-top:1px solid var(--color-border-subtle, var(--color-border-base))}.gantt__track{position:relative;min-height:2.6rem;background-image:linear-gradient(to right,var(--color-border-subtle, var(--color-border-base)) 1px,transparent 1px);background-size:calc(100% / var(--units)) 100%}.gantt__bar{position:absolute;top:.45rem;bottom:.45rem;min-width:1.5rem;padding:0;border:1px solid var(--bar);border-radius:4px;cursor:pointer;overflow:hidden;color:var(--text-primary);font:inherit;font-size:.75rem;text-align:left}.gantt__fill{position:absolute;inset:0 auto 0 0;background:color-mix(in oklab,var(--bar) 75%,transparent)}.gantt__pct{position:relative;padding:0 .4rem;line-height:1.6rem}.gantt__unscheduled{margin-top:1.25rem}.gantt__unscheduled h2{font-size:.9rem;margin:0 0 .5rem}.gantt__unscheduled-list{display:flex;flex-direction:column;gap:.35rem}.gantt__unscheduled-item{display:flex;align-items:center;gap:.6rem}.detail__plan{flex-wrap:wrap}.detail__field{display:inline-flex;align-items:center;gap:.35rem}.detail__field .ruk-input{width:4.5rem}.detail__field--wide{flex:1;min-width:12rem}.detail__field--wide .ruk-input{width:100%}.app-account{display:flex;align-items:center;gap:8px;font-size:.875rem}.no-access{max-width:560px;margin:48px auto}
