.cookie-banner{background:var(--color-bg-elevated);border-top:2px solid var(--color-primary);box-shadow:var(--shadow-lg);z-index:var(--z-modal);animation:cookieBannerSlideUp var(--duration-slow)ease-out;position:fixed;bottom:0;left:0;right:0}@keyframes cookieBannerSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-banner-content{max-width:var(--container-max-width);padding:var(--space-6);gap:var(--space-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.cookie-banner-text{flex:1}.cookie-banner-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2)0}.cookie-banner-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}.cookie-banner-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:underline}.cookie-banner-link:hover{color:var(--color-primary-hover)}.cookie-banner-actions{gap:var(--space-4);flex-shrink:0;display:flex}.cookie-modal-overlay{background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-modal) + 1);padding:var(--space-6);animation:fadeIn var(--duration-normal)ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cookie-modal{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);width:100%;max-width:600px;max-height:90vh;animation:scaleIn var(--duration-slow)ease-out;overflow-y:auto}.cookie-modal-header{padding:var(--space-6);border-bottom:2px solid var(--color-border-default);justify-content:space-between;align-items:center;display:flex}.cookie-modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.cookie-modal-body{padding:var(--space-6)}.cookie-modal-intro{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0 0 var(--space-6)0}.cookie-preference-item{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-default)}.cookie-preference-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.cookie-preference-header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.cookie-preference-info{flex:1}.cookie-preference-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2)0}.cookie-preference-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}.cookie-toggle{flex-shrink:0;width:52px;height:28px;position:relative}.cookie-toggle input{opacity:0;width:0;height:0;position:absolute}.cookie-toggle-slider{cursor:pointer;background-color:var(--color-border-default);transition:var(--transition-base);border-radius:var(--radius-full);position:absolute;inset:0}.cookie-toggle-slider:before{content:"";background-color:var(--color-bg-primary);width:20px;height:20px;transition:var(--transition-base);box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;bottom:4px;left:4px}.cookie-toggle input:checked+.cookie-toggle-slider{background-color:var(--color-primary)}.cookie-toggle input:checked+.cookie-toggle-slider:before{transform:translate(24px)}.cookie-toggle-disabled{opacity:.6;cursor:not-allowed}.cookie-toggle-disabled .cookie-toggle-slider{cursor:not-allowed;background-color:var(--color-success)}.cookie-modal-footer{justify-content:flex-end;gap:var(--space-4);padding:var(--space-6);border-top:2px solid var(--color-border-default);display:flex}@media (min-width:768px) and (max-width:1023px){.cookie-banner-content{flex-direction:column;align-items:flex-start}.cookie-banner-actions{justify-content:flex-start;width:100%}}@media (max-width:767px){.cookie-banner-content{padding:var(--space-5);flex-direction:column;align-items:flex-start}.cookie-banner-title{font-size:var(--font-size-lg)}.cookie-banner-description{font-size:var(--font-size-sm)}.cookie-banner-actions{flex-direction:column;width:100%}.cookie-modal-overlay{padding:var(--space-4)}.cookie-modal{max-height:95vh}.cookie-modal-header,.cookie-modal-body,.cookie-modal-footer{padding:var(--space-5)}.cookie-modal-title{font-size:var(--font-size-xl)}.cookie-preference-header{gap:var(--space-4);flex-direction:column}.cookie-toggle{align-self:flex-start}.cookie-modal-footer{flex-direction:column-reverse}}.cookie-toggle input:focus+.cookie-toggle-slider{box-shadow:0 0 0 3px var(--color-primary-light)}
:root{--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1e40af;--color-primary-800:#1e3a8a;--color-primary-900:#1e3061;--color-primary-950:#1a237e;--color-primary:var(--color-primary-700);--color-primary-hover:var(--color-primary-800);--color-primary-active:var(--color-primary-900);--color-primary-light:var(--color-primary-100);--color-primary-lighter:var(--color-primary-50);--color-primary-dark:var(--color-primary-800);--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-600);--color-text-tertiary:var(--color-neutral-500);--color-text-muted:var(--color-neutral-400);--color-text-inverse:#fff;--color-text-link:var(--color-primary);--color-text-link-hover:var(--color-primary-800);--color-bg-primary:#fff;--color-bg-secondary:var(--color-neutral-50);--color-bg-tertiary:var(--color-neutral-100);--color-bg-elevated:#fff;--color-bg-overlay:#0f172a80;--color-border-light:var(--color-neutral-200);--color-border-default:var(--color-neutral-300);--color-border-strong:var(--color-neutral-400);--color-border-focus:var(--color-primary);--color-success-50:#f0fdf4;--color-success-100:#dcfce7;--color-success-200:#bbf7d0;--color-success-500:#22c55e;--color-success-600:#16a34a;--color-success-700:#15803d;--color-success-text:#166534;--color-success:var(--color-success-600);--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-200:#fde68a;--color-warning-400:#fbbf24;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-warning-text:#92400e;--color-warning:var(--color-warning-600);--color-error-50:#fef2f2;--color-error-100:#fee2e2;--color-error-200:#fecaca;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-error-text:#991b1b;--color-error:var(--color-error-600);--color-info-50:#eff6ff;--color-info-100:#dbeafe;--color-info-200:#bfdbfe;--color-info-500:#3b82f6;--color-info-600:#2563eb;--color-info-700:#1d4ed8;--color-info-text:#1e40af;--color-info:var(--color-info-600);--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-500:#a855f7;--color-purple-600:#9333ea;--color-purple-700:#7c3aed;--color-purple-text:#7c3aed;--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",Consolas,monospace;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--space-0:0;--space-px:1px;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-3-5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d,0 2px 4px #0000000a;--shadow-lg:0 10px 15px #0000000d,0 4px 6px #00000008;--shadow-xl:0 20px 25px #0000000f,0 8px 10px #0000000a;--shadow-2xl:0 25px 50px #00000014;--shadow-primary-xs:0 1px 2px #1e40af14;--shadow-primary-sm:0 2px 4px #1e40af1a;--shadow-primary-md:0 4px 12px #1e40af1f;--shadow-primary-lg:0 8px 24px #1e40af26;--shadow-primary-xl:0 12px 32px #1e40af2e;--shadow-card:0 1px 3px #0000000a,0 4px 12px #1e40af0f;--shadow-card-hover:0 4px 8px #0000000a,0 12px 32px #1e40af1a;--shadow-inner:inset 0 2px 4px #0000000a;--shadow-inner-sm:inset 0 1px 2px #00000008;--shadow-focus:0 0 0 3px var(--color-primary-100);--shadow-focus-error:0 0 0 3px var(--color-error-100);--shadow-focus-success:0 0 0 3px var(--color-success-100);--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-full:9999px;--z-base:0;--z-docked:10;--z-dropdown:100;--z-sticky:200;--z-banner:250;--z-fixed:300;--z-overlay:400;--z-modal:500;--z-popover:600;--z-toast:700;--z-tooltip:800;--duration-fastest:50ms;--duration-faster:.1s;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.4s;--duration-slowest:.5s;--transition-fast:var(--duration-fast)ease;--transition-base:var(--duration-normal)ease;--transition-slow:var(--duration-slow)ease;--ease-linear:linear;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--ease-elastic:cubic-bezier(.68,-.6,.32,1.6);--container-xs:320px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1440px;--container-3xl:1600px;--content-prose:65ch;--content-narrow:480px;--content-medium:720px;--content-wide:960px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1440px;--btn-padding-x:var(--space-6);--btn-padding-y:var(--space-3);--btn-padding-x-sm:var(--space-4);--btn-padding-y-sm:var(--space-2);--btn-padding-x-lg:var(--space-8);--btn-padding-y-lg:var(--space-4);--btn-min-height:44px;--btn-min-height-sm:36px;--btn-min-height-lg:52px;--btn-radius:var(--radius-lg);--btn-border-width:1px;--btn-font-weight:var(--font-weight-semibold);--input-padding-x:var(--space-4);--input-padding-y:var(--space-3);--input-radius:var(--radius-lg);--input-border-width:1px;--input-min-height:44px;--card-padding:var(--space-6);--card-padding-sm:var(--space-4);--card-padding-lg:var(--space-8);--card-radius:var(--radius-xl);--card-radius-lg:var(--radius-2xl);--modal-padding:var(--space-6);--modal-radius:var(--radius-2xl);--modal-max-width:560px;--modal-max-width-sm:400px;--modal-max-width-lg:720px;--badge-padding-x:var(--space-3);--badge-padding-y:var(--space-1);--badge-radius:var(--radius-md);--badge-font-size:var(--font-size-sm);--table-cell-padding-x:var(--space-4);--table-cell-padding-y:var(--space-3);--table-header-bg:var(--color-bg-secondary);--nav-height:64px;--nav-height-mobile:56px;--modal-width-sm:var(--modal-max-width-sm);--modal-width-md:var(--modal-max-width);--modal-width-lg:var(--modal-max-width-lg);--modal-width-xl:900px;--modal-header-padding:var(--space-5)var(--modal-padding);--modal-body-padding:var(--modal-padding);--modal-footer-padding:var(--space-4)var(--modal-padding);--container-max-width:var(--container-xl);--container-width-sm:var(--container-sm);--container-width-md:var(--container-md);--container-width-lg:var(--container-lg);--container-width-xl:var(--container-xl);--container-width-2xl:var(--container-2xl);--color-success-400:#4ade80;--color-success-800:#166534;--color-warning-300:#fcd34d;--color-warning-800:#92400e;--color-error-800:#991b1b;--color-purple-300:#d8b4fe;--ring-primary:0 0 0 3px var(--color-primary-100);--color-secondary:var(--color-neutral-600)}
.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--btn-padding-y)var(--btn-padding-x);min-height:var(--btn-min-height);border-radius:var(--btn-radius);font-size:var(--font-size-base);font-weight:var(--btn-font-weight);letter-spacing:var(--letter-spacing-wide);cursor:pointer;transition:all var(--transition-base)var(--ease-out);touch-action:manipulation;white-space:nowrap;border:1px solid #0000;font-family:inherit;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn svg,.btn .icon{color:currentColor;width:18px;height:18px;transition:transform var(--transition-fast);flex-shrink:0}.btn:hover:not(:disabled) svg,.btn:hover:not(:disabled) .icon{transform:scale(1.05)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:var(--shadow-primary-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-primary-sm);transform:translateY(0)}.btn-primary:focus-visible{box-shadow:var(--shadow-focus),var(--shadow-primary-sm)}.btn-secondary{background-color:var(--color-bg-primary);color:var(--color-primary);border-color:var(--color-primary-300);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-50);border-color:var(--color-primary);color:var(--color-primary-800);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){background-color:var(--color-primary-100);box-shadow:var(--shadow-xs);transform:translateY(0)}.btn-secondary:focus-visible{box-shadow:var(--shadow-focus),var(--shadow-xs)}.btn-danger{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error-600);box-shadow:0 2px 4px #dc262626}.btn-danger:hover:not(:disabled){background:var(--color-error-500);transform:translateY(-1px);box-shadow:0 4px 8px #dc262640}.btn-danger:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #dc262626}.btn-danger:focus-visible{box-shadow:var(--shadow-focus-error),0 2px 4px #dc262626}.btn-danger-outline{background-color:var(--color-bg-primary);color:var(--color-error-600);border-color:var(--color-error-200);box-shadow:var(--shadow-xs)}.btn-danger-outline:hover:not(:disabled){background-color:var(--color-error-50);border-color:var(--color-error-600);color:var(--color-error-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-danger-outline:active:not(:disabled){background-color:var(--color-error-100);transform:translateY(0)}.btn-danger-outline:focus-visible{box-shadow:var(--shadow-focus-error)}.btn-success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success-600);box-shadow:0 2px 4px #16a34a26}.btn-success:hover:not(:disabled){background:var(--color-success-500);transform:translateY(-1px);box-shadow:0 4px 8px #16a34a40}.btn-success:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #16a34a26}.btn-success:focus-visible{box-shadow:var(--shadow-focus-success),0 2px 4px #16a34a26}.btn-warning{background:var(--color-warning);color:var(--color-text-inverse);border-color:var(--color-warning-600);box-shadow:0 2px 4px #d9770626}.btn-warning:hover:not(:disabled){background:var(--color-warning-500);transform:translateY(-1px);box-shadow:0 4px 8px #d9770640}.btn-warning:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #d9770626}.btn-warning:focus-visible{box-shadow:var(--shadow-focus),0 2px 4px #d9770626}.btn-ghost{color:var(--color-primary);box-shadow:none;background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-800)}.btn-ghost:active:not(:disabled){background-color:var(--color-primary-100)}.btn-sm{padding:var(--btn-padding-y-sm)var(--btn-padding-x-sm);min-height:var(--btn-min-height-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);gap:var(--space-1-5)}.btn-sm svg,.btn-sm .icon{width:16px;height:16px}.btn-lg{padding:var(--btn-padding-y-lg)var(--btn-padding-x-lg);min-height:var(--btn-min-height-lg);font-size:var(--font-size-lg);border-radius:var(--radius-xl);gap:var(--space-3)}.btn-lg svg,.btn-lg .icon{width:22px;height:22px}.btn-block{width:100%;display:flex}.btn-icon-only{padding:var(--space-3);min-width:var(--btn-min-height);aspect-ratio:1}.btn-icon-only.btn-sm{padding:var(--space-2);min-width:var(--btn-min-height-sm)}.btn-icon-only.btn-lg{padding:var(--space-4);min-width:var(--btn-min-height-lg)}.btn-loading{pointer-events:none;position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid;border-color:var(--color-text-inverse);border-radius:var(--radius-full);border-top-color:#0000;width:18px;height:18px;margin-top:-9px;margin-left:-9px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}.btn-secondary.btn-loading:after,.btn-ghost.btn-loading:after,.btn-danger-outline.btn-loading:after{border-color:var(--color-primary);border-top-color:#0000}.btn-group{gap:var(--space-3);flex-wrap:wrap;display:flex}.btn-group .btn{flex:1;min-width:fit-content}.btn-group-vertical{flex-direction:column}.btn-group-vertical .btn{width:100%}.btn-group-joined{gap:0}.btn-group-joined .btn{border-radius:0}.btn-group-joined .btn:first-child{border-radius:var(--btn-radius)0 0 var(--btn-radius)}.btn-group-joined .btn:last-child{border-radius:0 var(--btn-radius)var(--btn-radius)0}.btn-group-joined .btn:not(:last-child){border-right-width:0}@media (max-width:640px){.btn{min-height:48px;padding:var(--space-3)var(--space-5)}.btn-sm{min-height:40px;padding:var(--space-2-5)var(--space-4)}.btn-icon-only{min-width:44px;min-height:44px;padding:var(--space-2-5);aspect-ratio:1;flex-shrink:0}.btn-icon-only.btn-sm{min-width:36px;min-height:36px;padding:var(--space-2)}.btn-group{flex-direction:column}.btn-group .btn{width:100%}.btn-group-horizontal-mobile{flex-direction:row}.btn-group-horizontal-mobile .btn{flex:1;width:auto}}
.chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);border-radius:var(--radius-full);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;display:inline-flex}.chip-success{background-color:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-200)}.chip-warning{background-color:var(--color-warning-50);color:var(--color-warning-700);border-color:var(--color-warning-200)}.chip-danger{background-color:var(--color-error-50);color:var(--color-error-700);border-color:var(--color-error-200)}.chip-info{background-color:var(--color-primary-50);color:var(--color-primary-700);border-color:var(--color-primary-200)}.chip-neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-200)}.chip-purple{background-color:var(--color-purple-50);color:var(--color-purple-700);border-color:var(--color-purple-200)}.chip-interactive{cursor:pointer;transition:all var(--transition-fast)}.chip-interactive:hover{filter:brightness(.95)}.chip-interactive.selected{font-weight:var(--font-weight-bold)}.chip-interactive.chip-success.selected{background-color:var(--color-success-100);border-color:var(--color-success-600)}.chip-interactive.chip-warning.selected{background-color:var(--color-warning-100);border-color:var(--color-warning-600)}.chip-interactive.chip-danger.selected{background-color:var(--color-error-100);border-color:var(--color-error-600)}.chip-interactive.chip-info.selected{background-color:var(--color-primary-100);border-color:var(--color-primary-600)}.chip-interactive.chip-neutral.selected{background-color:var(--color-neutral-200);border-color:var(--color-neutral-400)}.chip-interactive.chip-purple.selected{background-color:var(--color-purple-100);border-color:var(--color-purple-600)}
.badge{align-items:center;gap:var(--space-1);padding:var(--badge-padding-y)var(--badge-padding-x);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap;transition:all var(--transition-fast);display:inline-flex}.badge svg,.badge .icon{color:currentColor;flex-shrink:0;width:14px;height:14px}.badge-success{background-color:var(--color-success-100);color:var(--color-success-text)}.badge-warning{background-color:var(--color-warning-100);color:var(--color-warning-text)}.badge-danger,.badge-error{background-color:var(--color-error-100);color:var(--color-error-text)}.badge-info{background-color:var(--color-info-100);color:var(--color-info-text)}.badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.badge-purple{background-color:var(--color-purple-100);color:var(--color-purple-text)}.badge-solid-success{background-color:var(--color-success-600);color:var(--color-text-inverse)}.badge-solid-warning{background-color:var(--color-warning-600);color:var(--color-text-inverse)}.badge-solid-danger,.badge-solid-error{background-color:var(--color-error-600);color:var(--color-text-inverse)}.badge-solid-info{background-color:var(--color-info-600);color:var(--color-text-inverse)}.badge-solid-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.badge-solid-neutral{background-color:var(--color-neutral-600);color:var(--color-text-inverse)}.badge-outline-success{color:var(--color-success-600);border:1px solid var(--color-success-300);background-color:#0000}.badge-outline-warning{color:var(--color-warning-600);border:1px solid var(--color-warning-300);background-color:#0000}.badge-outline-danger,.badge-outline-error{color:var(--color-error-600);border:1px solid var(--color-error-300);background-color:#0000}.badge-outline-info{color:var(--color-info-600);border:1px solid var(--color-info-300);background-color:#0000}.badge-outline-primary{color:var(--color-primary);border:1px solid var(--color-primary-300);background-color:#0000}.badge-outline-neutral{color:var(--color-neutral-600);border:1px solid var(--color-neutral-300);background-color:#0000}.badge-training{background-color:var(--color-primary-100);color:var(--color-primary)}.badge-medical{background-color:var(--color-purple-100);color:var(--color-purple-text)}.badge-vehicle{background-color:var(--color-success-100);color:var(--color-success-text)}.badge-equipment-tool{background-color:var(--color-warning-100);color:var(--color-warning-text)}.badge-generic{background-color:var(--color-info-100);color:var(--color-info-text)}.badge-valid,.badge-active{background-color:var(--color-success-100);color:var(--color-success-text)}.badge-expiring{background-color:var(--color-warning-100);color:var(--color-warning-text)}.badge-expired{background-color:var(--color-error-100);color:var(--color-error-text)}.badge-pending{background-color:var(--color-warning-100);color:var(--color-warning-text)}.badge-draft{background-color:var(--color-neutral-100);color:var(--color-neutral-600)}.badge-xs{padding:var(--space-0-5)var(--space-2);font-size:var(--font-size-xs);gap:var(--space-0-5)}.badge-xs svg,.badge-xs .icon{width:12px;height:12px}.badge-sm{padding:var(--space-0-5)var(--space-2);font-size:var(--font-size-xs)}.badge-sm svg,.badge-sm .icon{width:12px;height:12px}.badge-lg{padding:var(--space-1-5)var(--space-4);font-size:var(--font-size-base);gap:var(--space-2)}.badge-lg svg,.badge-lg .icon{width:18px;height:18px}.badge-dot:before{content:"";border-radius:var(--radius-full);background-color:currentColor;flex-shrink:0;width:6px;height:6px}.badge-dot-success:before{background-color:var(--color-success-500)}.badge-dot-warning:before{background-color:var(--color-warning-500)}.badge-dot-error:before{background-color:var(--color-error-500)}.badge-dot-info:before{background-color:var(--color-info-500)}.badge-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.badge-clickable{cursor:pointer}.badge-clickable:hover{filter:brightness(.95)}.badge-clickable:active{transform:scale(.98)}.badge-removable{padding-right:var(--space-1)}.badge-remove{width:16px;height:16px;margin-left:var(--space-1);border-radius:var(--radius-full);cursor:pointer;color:currentColor;opacity:.6;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.badge-remove:hover{opacity:1;background:#0000001a}.badge-remove svg{width:12px;height:12px}.badge-sources{background-color:var(--color-neutral-100);color:var(--color-neutral-700);cursor:pointer;position:relative}.badge-sources:hover{background-color:var(--color-neutral-200)}.badge-conflict{background-color:var(--color-warning-100);color:var(--color-warning-text);cursor:pointer;position:relative}.badge-conflict:hover{background-color:var(--color-warning-200)}
.form-group{margin-bottom:var(--space-6)}.form-group:last-child{margin-bottom:0}.form-group-inline{align-items:flex-start;gap:var(--space-4);display:flex}.form-group-inline .form-group{flex:1;margin-bottom:0}.form-label{margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-primary);display:block}.form-label-required:after{content:" *";color:var(--color-error-500)}.form-label-optional:after{content:" (opzionale)";color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.form-control{width:100%;padding:var(--input-padding-y)var(--input-padding-x);border:var(--input-border-width)solid var(--color-border-strong);border-radius:var(--input-radius);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:var(--input-min-height);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-inner-sm);font-family:inherit}.form-control::placeholder{color:var(--color-text-muted)}.form-control:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.form-control:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.form-control:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.form-control:read-only{background-color:var(--color-bg-secondary)}textarea.form-control{resize:vertical;min-height:120px;line-height:var(--line-height-relaxed)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3)center;padding-right:var(--space-10);background-repeat:no-repeat;background-size:20px}.form-control-sm{padding:var(--space-2)var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md);min-height:36px}.form-control-lg{padding:var(--space-4)var(--space-5);font-size:var(--font-size-lg);border-radius:var(--radius-xl);min-height:52px}.form-control.is-invalid,.form-control-error{border-color:var(--color-error-500);background-color:var(--color-error-50)}.form-control.is-invalid:focus,.form-control-error:focus{box-shadow:var(--shadow-focus-error);border-color:var(--color-error-500)}.form-control.is-valid,.form-control-success{border-color:var(--color-success-500);background-color:var(--color-success-50)}.form-control.is-valid:focus,.form-control-success:focus{box-shadow:var(--shadow-focus-success);border-color:var(--color-success-500)}.form-error{align-items:center;gap:var(--space-1);color:var(--color-error-text);font-size:var(--font-size-sm);margin-top:var(--space-1);display:flex}.form-error svg{flex-shrink:0;width:14px;height:14px}.form-help{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--space-1);line-height:var(--line-height-normal)}.form-success{align-items:center;gap:var(--space-1);color:var(--color-success-text);font-size:var(--font-size-sm);margin-top:var(--space-1);display:flex}.form-input-wrapper{position:relative}.form-input-icon{left:var(--space-4);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-input-icon svg{width:18px;height:18px}.form-input-wrapper .form-control{padding-left:var(--space-11)}.form-input-icon-right{left:auto;right:var(--space-4)}.form-input-wrapper.has-icon-right .form-control{padding-left:var(--input-padding-x);padding-right:var(--space-11)}.input-group{align-items:stretch;display:flex}.input-group .form-control{border-radius:0;flex:1}.input-group .form-control:first-child{border-radius:var(--input-radius)0 0 var(--input-radius)}.input-group .form-control:last-child{border-radius:0 var(--input-radius)var(--input-radius)0}.input-group-prepend,.input-group-append{padding:0 var(--space-4);background-color:var(--color-bg-tertiary);border:var(--input-border-width)solid var(--color-border-strong);color:var(--color-text-secondary);font-size:var(--font-size-sm);align-items:center;display:flex}.input-group-prepend{border-radius:var(--input-radius)0 0 var(--input-radius);border-right:0}.input-group-append{border-radius:0 var(--input-radius)var(--input-radius)0;border-left:0}.form-check{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.form-check:last-child{margin-bottom:0}.form-check-input{border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);cursor:pointer;width:18px;height:18px;transition:all var(--transition-fast);appearance:none;flex-shrink:0;margin-top:2px}.form-check-input[type=radio]{border-radius:var(--radius-full)}.form-check-input:hover{border-color:var(--color-primary)}.form-check-input:focus{box-shadow:var(--shadow-focus);border-color:var(--color-primary);outline:none}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:12px}.form-check-input[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}.form-check-input:disabled{opacity:.5;cursor:not-allowed}.form-check-label{font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;line-height:var(--line-height-normal)}.form-check-label-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-0-5);display:block}.form-switch{align-items:center;gap:var(--space-3);display:flex}.form-switch-input{border-radius:var(--radius-full);background-color:var(--color-neutral-300);cursor:pointer;width:44px;height:24px;transition:background-color var(--transition-fast);appearance:none;border:none;flex-shrink:0;position:relative}.form-switch-input:after{content:"";border-radius:var(--radius-full);background-color:var(--color-bg-primary);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);position:absolute;top:2px;left:2px}.form-switch-input:checked{background-color:var(--color-primary)}.form-switch-input:checked:after{transform:translate(20px)}.form-switch-input:focus{box-shadow:var(--shadow-focus);outline:none}.form-switch-input:disabled{opacity:.5;cursor:not-allowed}.form-row{gap:var(--space-4);display:grid}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-4{grid-template-columns:repeat(4,1fr)}.form-fieldset{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6)}.form-fieldset legend{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:0 var(--space-2);font-size:var(--font-size-sm)}@media (max-width:640px){.form-group-inline{flex-direction:column}.form-row-2,.form-row-3,.form-row-4{grid-template-columns:1fr}}
.card{background:var(--color-bg-elevated);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);transition:all var(--transition-base)var(--ease-out);position:relative}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-static{background:var(--color-bg-elevated);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.card-static:hover{box-shadow:var(--shadow-sm);transform:none}.card-bordered{background:var(--color-bg-elevated);border-radius:var(--card-radius);padding:var(--card-padding);border:1px solid var(--color-border-default);box-shadow:none}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.card-header-centered{align-items:center}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.card-title-lg{font-size:var(--font-size-xl)}.card-subtitle{margin:var(--space-1)0 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.card-body{gap:var(--space-4);flex-direction:column;display:flex}.card-body p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.card-body p:last-child{margin-bottom:0}.card-footer{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);display:flex}.card-footer-right{justify-content:flex-end}.card-footer-between{justify-content:space-between;align-items:center}.card-sm{padding:var(--card-padding-sm);border-radius:var(--radius-lg)}.card-sm .card-title{font-size:var(--font-size-base)}.card-lg{padding:var(--card-padding-lg);border-radius:var(--card-radius-lg)}.card-lg .card-title{font-size:var(--font-size-xl)}.card-dashboard{background:var(--color-bg-elevated);border-radius:var(--card-radius-lg);padding:var(--card-padding);box-shadow:var(--shadow-card);transition:all var(--transition-slow)var(--ease-out);border:none;position:relative;overflow:hidden}.card-dashboard:before{content:"";background:var(--color-primary);opacity:0;height:3px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.card-dashboard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.card-dashboard:hover:before{opacity:1}.stat-card{background:var(--color-bg-elevated);padding:var(--space-6);border-radius:var(--card-radius);box-shadow:var(--shadow-card);transition:all var(--transition-slow)var(--ease-out);text-align:center;border:none;position:relative;overflow:hidden}.stat-card:before{content:"";height:4px;transition:height var(--transition-base);position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.stat-card:hover:before{height:6px}.stat-icon{border-radius:var(--radius-lg);width:48px;height:48px;margin:0 auto var(--space-4);justify-content:center;align-items:center;display:flex}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-none)}.stat-card.stat-blue:before,.stat-card.stat-primary:before{background:var(--color-primary)}.stat-card.stat-blue .stat-value,.stat-card.stat-primary .stat-value{background:var(--color-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card.stat-blue .stat-icon,.stat-card.stat-primary .stat-icon{background:var(--color-primary-100);color:var(--color-primary)}.stat-card.stat-green:before,.stat-card.stat-success:before,.stat-card.valid:before{background:var(--color-success)}.stat-card.stat-green .stat-value,.stat-card.stat-success .stat-value,.stat-card.valid .stat-value{background:var(--color-success);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card.stat-green .stat-icon,.stat-card.stat-success .stat-icon,.stat-card.valid .stat-icon{background:var(--color-success-100);color:var(--color-success-600)}.stat-card.stat-yellow:before,.stat-card.stat-warning:before,.stat-card.warning:before{background:var(--color-warning)}.stat-card.stat-yellow .stat-value,.stat-card.stat-warning .stat-value,.stat-card.warning .stat-value{background:var(--color-warning);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card.stat-yellow .stat-icon,.stat-card.stat-warning .stat-icon,.stat-card.warning .stat-icon{background:var(--color-warning-100);color:var(--color-warning-600)}.stat-card.stat-red:before,.stat-card.stat-error:before,.stat-card.stat-danger:before,.stat-card.danger:before,.stat-card.error:before{background:var(--color-error)}.stat-card.stat-red .stat-value,.stat-card.stat-error .stat-value,.stat-card.stat-danger .stat-value,.stat-card.danger .stat-value,.stat-card.error .stat-value{background:var(--color-error);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card.stat-red .stat-icon,.stat-card.stat-error .stat-icon,.stat-card.stat-danger .stat-icon,.stat-card.danger .stat-icon,.stat-card.error .stat-icon{background:var(--color-error-100);color:var(--color-error-600)}.stat-card.stat-purple:before{background:var(--color-purple-600)}.stat-card.stat-purple .stat-value{background:var(--color-purple-600);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card.stat-purple .stat-icon{background:var(--color-purple-100);color:var(--color-purple-600)}.card-feature{background:var(--color-bg-elevated);border-radius:var(--card-radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md);text-align:center;transition:all var(--transition-slow)var(--ease-out)}.card-feature:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.card-feature-icon{width:64px;height:64px;margin:0 auto var(--space-6);background:var(--color-bg-secondary);border-radius:var(--radius-xl);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.card-feature-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3)0}.card-feature-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}@media (max-width:640px){.card{padding:var(--space-4)}.card-lg{padding:var(--space-5)}.stat-card{padding:var(--space-4)}.stat-value{font-size:var(--font-size-2xl)}.stat-icon{width:40px;height:40px}.card-feature{padding:var(--space-6)}}@media (max-width:380px){.stat-card{text-align:left;justify-content:space-between;align-items:center;gap:var(--space-4);flex-direction:row}.stat-icon{flex-shrink:0;margin:0}.stat-label{margin-bottom:var(--space-1)}.stat-value{font-size:var(--font-size-2xl)}}
.alert{padding:var(--space-4)var(--space-5);border-radius:var(--radius-lg);margin:var(--space-4)0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);align-items:flex-start;gap:var(--space-3);display:flex}.alert svg,.alert .icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.alert p{margin:0}.alert-success{background-color:var(--color-success-50);color:var(--color-success-text)}.alert-success svg{color:var(--color-success-500)}.alert-error,.alert-danger{background-color:var(--color-error-50);color:var(--color-error-text)}.alert-error svg,.alert-danger svg{color:var(--color-error-500)}.alert-warning{background-color:var(--color-warning-50);color:var(--color-warning-text)}.alert-warning svg{color:var(--color-warning-500)}.alert-info{background-color:var(--color-info-50);color:var(--color-info-text)}.alert-info svg{color:var(--color-info-500)}.box{align-items:center;gap:var(--space-3);padding:var(--space-3-5)var(--space-5);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);display:flex}.box p{margin:0}.box svg,.box .icon{flex-shrink:0;width:18px;height:18px}.box-multiline{align-items:flex-start}.box-multiline svg,.box-multiline .icon{margin-top:2px}.box-red,.box-error,.box-danger{background-color:var(--color-error-50);color:var(--color-error-text)}.box-red svg,.box-error svg,.box-danger svg{color:var(--color-error-500)}.box-yellow,.box-warning{background-color:var(--color-warning-50);color:var(--color-warning-text)}.box-yellow svg,.box-warning svg{color:var(--color-warning-500)}.box-green,.box-success{background-color:var(--color-success-50);color:var(--color-success-text)}.box-green svg,.box-success svg{color:var(--color-success-500)}.box-blue,.box-info{background-color:var(--color-info-50);color:var(--color-info-text)}.box-blue svg,.box-info svg{color:var(--color-info-500)}.box-gray,.box-neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.box-gray svg,.box-neutral svg{color:var(--color-neutral-500)}.box-violet,.box-purple{background-color:var(--color-purple-50);color:var(--color-purple-text)}.box-violet svg,.box-purple svg{color:var(--color-purple-500)}.box-sm{padding:var(--space-2-5)var(--space-4);font-size:var(--font-size-xs);gap:var(--space-2)}.box-sm svg,.box-sm .icon{width:16px;height:16px}.box-lg{padding:var(--space-4)var(--space-6);font-size:var(--font-size-base);gap:var(--space-4)}.box-lg svg,.box-lg .icon{width:20px;height:20px}.box-bordered{border:1px solid #0000}.box-error.box-bordered,.box-red.box-bordered,.box-danger.box-bordered{border-color:var(--color-error-200)}.box-warning.box-bordered,.box-yellow.box-bordered{border-color:var(--color-warning-200)}.box-success.box-bordered,.box-green.box-bordered{border-color:var(--color-success-200)}.box-info.box-bordered,.box-blue.box-bordered{border-color:var(--color-info-200)}.box-neutral.box-bordered,.box-gray.box-bordered{border-color:var(--color-neutral-300)}.box-purple.box-bordered,.box-violet.box-bordered{border-color:var(--color-purple-200)}.box-stacked{flex-direction:column;align-items:stretch}.box-centered{text-align:center;justify-content:center}.alert-dismissible,.box-dismissible{padding-right:var(--space-12);position:relative}.alert-close,.box-close{top:var(--space-3);right:var(--space-3);padding:var(--space-1);cursor:pointer;color:currentColor;opacity:.5;transition:opacity var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;position:absolute}.alert-close:hover,.box-close:hover{opacity:1;background:#0000000d}.alert-close svg,.box-close svg{width:16px;height:16px}.toast{align-items:center;gap:var(--space-3);padding:var(--space-4)var(--space-5);border-radius:var(--radius-xl);background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-light);max-width:400px;display:flex}.toast-success{border-left:4px solid var(--color-success-500)}.toast-error{border-left:4px solid var(--color-error-500)}.toast-warning{border-left:4px solid var(--color-warning-500)}.toast-info{border-left:4px solid var(--color-info-500)}.toast-content{flex:1}.toast-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.toast-message{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.inline-message{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-flex}.inline-message svg{width:16px;height:16px}.inline-message-success{color:var(--color-success-text)}.inline-message-error{color:var(--color-error-text)}.inline-message-warning{color:var(--color-warning-text)}.inline-message-info{color:var(--color-info-text)}
.table-container{background:var(--color-bg-elevated);border-radius:var(--card-radius);-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);margin-bottom:var(--space-8);overflow:auto hidden}.table-container table{border-collapse:collapse;min-width:100%}.table-container thead{background:var(--table-header-bg)}.table-container th{height:40px;padding:0 var(--table-cell-padding-x);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-default);white-space:nowrap;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);vertical-align:middle;position:relative}.table-container th:after{content:"";cursor:col-resize;border-right:1px solid var(--color-border-light);box-sizing:border-box;width:6px;transition:border-color var(--transition-fast);position:absolute;top:0;bottom:0;right:0}.table-container th:hover:after{border-right-color:var(--color-border-default)}.table-container th.th-resizing:after{border-right-color:var(--color-primary)}.table-container th:last-child:after{display:none}.table-container th input[type=checkbox]{vertical-align:middle;margin:0}.table-container th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.table-container th.sortable:hover{background:var(--color-neutral-200)}.table-container th.sortable.active{color:var(--color-primary);background:var(--color-primary-50)}.table-container td{padding:var(--table-cell-padding-y)var(--table-cell-padding-x);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);font-size:var(--font-size-base);vertical-align:middle}.table-container tbody tr{transition:background var(--transition-fast)}.table-container tbody tr:hover{background:var(--color-bg-secondary)}.table-container tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.table-striped tbody tr:nth-child(2n):hover{background:var(--color-neutral-100)}.table-container td.actions{text-align:center;white-space:nowrap}.table-container td.actions>*{vertical-align:middle;margin:0 var(--space-1);display:inline-flex}.table-container .no-data{text-align:center;padding:var(--space-12)var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-base)}.table-empty-icon{width:48px;height:48px;margin:0 auto var(--space-4);color:var(--color-neutral-300)}.table-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.table-empty-description{color:var(--color-text-muted);max-width:320px;margin:0 auto}.sort-indicator{margin-left:var(--space-1);transition:opacity var(--transition-fast);font-size:.7em;display:inline-block}.sort-indicator.inactive{opacity:.3}.sort-indicator.active{opacity:1;color:var(--color-primary)}.table-container td.text-right,.table-container th.text-right{text-align:right}.table-container td.text-center,.table-container th.text-center{text-align:center}.table-container td.compact,.table-container th.compact{padding:var(--space-2)var(--space-3)}.table-container td.nowrap{white-space:nowrap}.table-sm th,.table-sm td{padding:var(--space-2)var(--space-3);font-size:var(--font-size-sm)}.table-lg th,.table-lg td{padding:var(--space-5)var(--space-6)}table.table{border-collapse:collapse;width:100%}table.table th{padding:var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:2px solid var(--color-border-default)}table.table td{padding:var(--space-4);border-bottom:1px solid var(--color-border-light)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:768px){.table-container th,.table-container td{padding:var(--space-3);font-size:var(--font-size-sm)}}@media (max-width:640px){.table-stack-mobile thead{display:none}.table-stack-mobile tbody tr{margin-bottom:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:block}.table-stack-mobile td{border-bottom:1px solid var(--color-border-light);padding:var(--space-3)var(--space-4);justify-content:space-between;align-items:center;display:flex}.table-stack-mobile td:last-child{border-bottom:none}.table-stack-mobile td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm)}}
.modal-overlay,.modal-backdrop{background:var(--color-bg-overlay);z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-4);animation:fadeIn var(--transition-base)ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.modal-overlay-dark{background:#0009}.modal,.modal-content{background:var(--color-bg-elevated);border-radius:var(--modal-radius);box-shadow:var(--shadow-2xl);width:100%;max-width:var(--modal-width-md);max-height:calc(100vh - var(--space-8));animation:modalSlideIn var(--transition-base)ease-out;border:1px solid var(--color-border-light);flex-direction:column;display:flex}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-sm{max-width:var(--modal-width-sm)}.modal-md{max-width:var(--modal-width-md)}.modal-lg{max-width:var(--modal-width-lg)}.modal-xl{max-width:var(--modal-width-xl)}.modal-full{max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8))}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--modal-header-padding);border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex}.modal-header-simple{padding-bottom:var(--space-2);border-bottom:none}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.modal-subtitle{margin:var(--space-1)0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.modal-header-content{align-items:flex-start;gap:var(--space-3);flex:1;display:flex}.modal-header-icon{border-radius:var(--radius-lg);background:var(--color-primary-100);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-header-icon svg{width:20px;height:20px}.modal-header-icon-success{background:var(--color-success-100);color:var(--color-success-600)}.modal-header-icon-warning{background:var(--color-warning-100);color:var(--color-warning-600)}.modal-header-icon-danger{background:var(--color-error-100);color:var(--color-error-600)}.modal-header-icon-info{background:var(--color-info-100);color:var(--color-info-600)}.modal-body{padding:var(--modal-body-padding);color:var(--color-text-primary);flex:1;overflow-y:auto}.modal-body-scrollable{max-height:60vh}.modal-body p{margin:0 0 var(--space-4);line-height:var(--line-height-relaxed)}.modal-body p:last-child{margin-bottom:0}.modal-body-centered{text-align:center}.modal-body-centered .modal-icon{width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-primary-100);color:var(--color-primary);justify-content:center;align-items:center;display:flex}.modal-body-centered .modal-icon svg{width:32px;height:32px}.modal-body-centered .modal-icon-success{background:var(--color-success-100);color:var(--color-success-600)}.modal-body-centered .modal-icon-warning{background:var(--color-warning-100);color:var(--color-warning-600)}.modal-body-centered .modal-icon-danger{background:var(--color-error-100);color:var(--color-error-600)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--modal-footer-padding);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);border-radius:0 0 var(--modal-radius)var(--modal-radius);flex-shrink:0;display:flex}.modal-footer-simple{padding-top:var(--space-2);background:0 0;border-top:none}.modal-footer-spread{justify-content:space-between}.modal-footer-center{justify-content:center}.modal-footer-stack{flex-direction:column}.modal-footer-stack .btn{width:100%}.modal-confirm{max-width:420px}.modal-confirm .modal-body{text-align:center;padding:var(--space-8)var(--space-6)}.modal-confirm .modal-icon{width:72px;height:72px;margin:0 auto var(--space-5);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.modal-confirm .modal-icon svg{width:36px;height:36px}.modal-confirm .modal-title{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.modal-confirm .modal-message{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.modal-confirm-danger .modal-icon{background:var(--color-error-100);color:var(--color-error-600)}.modal-confirm-warning .modal-icon{background:var(--color-warning-100);color:var(--color-warning-600)}.modal-confirm-success .modal-icon{background:var(--color-success-100);color:var(--color-success-600)}.modal-form .modal-body{padding:var(--space-6)}.modal-form .form-group:last-child{margin-bottom:0}.modal-alert{max-width:400px}.modal-alert .modal-body{padding:var(--space-6)}.modal-alert .modal-footer{justify-content:center}.modal-drawer{border-radius:var(--radius-2xl)0 0 var(--radius-2xl);width:100%;max-width:480px;max-height:100vh;animation:drawerSlideIn var(--transition-base)ease-out;position:fixed;top:0;bottom:0;right:0}.modal-drawer-left{border-radius:0 var(--radius-2xl)var(--radius-2xl)0;animation:drawerSlideInLeft var(--transition-base)ease-out;left:0;right:auto}@keyframes drawerSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes drawerSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.modal-drawer-wide{max-width:640px}.modal-fullscreen{width:100vw;max-width:100vw;height:100vh;max-height:100vh;animation:fadeIn var(--transition-fast)ease-out;border-radius:0}.modal-fullscreen .modal-body{padding:var(--space-8)}.modal-steps{padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.modal-steps-list{justify-content:center;align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.modal-step{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.modal-step-number{border-radius:var(--radius-full);background:var(--color-neutral-200);width:24px;height:24px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:flex}.modal-step.active{color:var(--color-primary)}.modal-step.active .modal-step-number{background:var(--color-primary);color:var(--color-text-inverse)}.modal-step.completed{color:var(--color-success-600)}.modal-step.completed .modal-step-number{background:var(--color-success-500);color:var(--color-text-inverse)}.modal-step-connector{background:var(--color-neutral-200);width:32px;height:2px}.modal-step.completed+.modal-step-connector{background:var(--color-success-500)}.modal-container{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);max-width:var(--modal-max-width);width:100%;max-height:90vh;box-shadow:var(--shadow-2xl);animation:modalSlideIn var(--transition-base)ease-out;flex-direction:column;display:flex}.modal-actions{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4)var(--space-6);border-top:1px solid var(--color-border-light);display:flex}.modal-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4)0}.modal-danger .modal-title,.modal-title-danger{color:var(--color-error-600)}.modal-danger{border-top:3px solid var(--color-error-500)}.modal-icon{border-radius:var(--radius-full);width:48px;height:48px;margin-bottom:var(--space-3);justify-content:center;align-items:center;display:flex}.modal-icon-danger{background:var(--color-error-50);color:var(--color-error-600)}@media (max-width:640px){.modal-overlay,.modal-backdrop{padding:var(--space-2);align-items:flex-end}.modal,.modal-content{border-radius:var(--radius-2xl)var(--radius-2xl)0 0;max-width:100%;max-height:90vh;animation:modalSlideUp var(--transition-base)ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header,.modal-body,.modal-footer{padding:var(--space-4)}.modal-footer-stack-mobile{flex-direction:column}.modal-footer-stack-mobile .btn{width:100%}.modal-drawer{border-radius:var(--radius-2xl)var(--radius-2xl)0 0;max-width:100%;animation:modalSlideUp var(--transition-base)ease-out}.modal-title{font-size:var(--font-size-lg)}.modal-steps{padding:var(--space-3)var(--space-4);overflow-x:auto}.modal-step-label{display:none}}
.spinner-container{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8);flex-direction:column;display:flex}.spinner-container.spinner-fullpage{width:100%;min-height:60vh}.spinner-container.spinner-inline{padding:var(--space-2);gap:var(--space-3);flex-direction:row}.spinner-text{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:center;margin:0}.spinner-text-sm{font-size:var(--font-size-sm)}.logo-spinner{justify-content:center;align-items:center;display:inline-flex}.logo-spinner svg{width:100%;height:100%}.logo-spinner-sm{width:32px;height:32px}.logo-spinner-md{width:48px;height:48px}.logo-spinner-lg{width:64px;height:64px}.logo-block{fill:var(--color-primary);opacity:.12}.logo-block-accent{fill:var(--color-primary-400)}.logo-block-0{animation:2.4s ease-in-out infinite lf-0}.logo-block-1{animation:2.4s ease-in-out infinite lf-1}.logo-block-2{animation:2.4s ease-in-out infinite lf-2}.logo-block-3{animation:2.4s ease-in-out infinite lf-3}.logo-block-4{animation:2.4s ease-in-out infinite lf-4}.logo-block-5{animation:2.4s ease-in-out infinite lf-5}.logo-block-6{animation:2.4s ease-in-out infinite lf-6}.logo-block-7{animation:2.4s ease-in-out infinite lf-7}.logo-block-8{animation:2.4s ease-in-out infinite lf-8}.logo-block-9{animation:2.4s ease-in-out infinite lf-9}.logo-block-10{animation:2.4s ease-in-out infinite lf-10}@keyframes lf-0{0%{opacity:.12}3%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-1{0%,4%{opacity:.12}7%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-2{0%,8%{opacity:.12}11%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-3{0%,12%{opacity:.12}15%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-4{0%,16%{opacity:.12}19%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-5{0%,20%{opacity:.12}23%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-6{0%,24%{opacity:.12}27%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-7{0%,28%{opacity:.12}31%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-8{0%,32%{opacity:.12}35%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-9{0%,36%{opacity:.12}39%,78%{opacity:1}86%,to{opacity:.12}}@keyframes lf-10{0%,40%{opacity:.12}43%{opacity:1}49%{opacity:.12}52%{opacity:1}55%{opacity:.12}58%{opacity:1}61%{opacity:.12}64%,78%{opacity:1}86%,to{opacity:.12}}.spinner{display:inline-block;position:relative}.spinner-xs{width:16px;height:16px}.spinner-sm{width:24px;height:24px}.spinner-circle{border:3px solid var(--color-primary-100);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:100%;height:100%;animation:.8s linear infinite spin}.spinner-xs .spinner-circle,.spinner-sm .spinner-circle{border-width:2px}.spinner-primary .spinner-circle{border-color:var(--color-primary-100);border-top-color:var(--color-primary)}.spinner-white .spinner-circle{border-color:#ffffff4d;border-top-color:var(--color-bg-primary)}.spinner-inline-indicator{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:inline-flex}.spinner-inline-indicator:before{content:"";border:2px solid var(--color-primary-100);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.loading-container{padding:var(--space-8);text-align:center;background:var(--color-bg-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.loading-overlay{background:var(--color-bg-overlay);z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay-content{background:var(--color-bg-elevated);padding:var(--space-8);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);text-align:center;min-width:200px}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200)25%,var(--color-neutral-100)50%,var(--color-neutral-200)75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-heading{width:40%;height:1.5em;margin-bottom:var(--space-4)}.skeleton-avatar{border-radius:var(--radius-full);width:48px;height:48px}.skeleton-card{height:120px}.skeleton-image{height:200px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-dots{align-items:center;gap:var(--space-1);display:inline-flex}.loading-dots span{border-radius:var(--radius-full);background:var(--color-primary);width:8px;height:8px;animation:1.4s ease-in-out infinite both dots-bounce}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dots-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.progress-bar{background:var(--color-neutral-200);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.progress-bar-indeterminate .progress-bar-fill{width:40%;animation:1.5s ease-in-out infinite progress-indeterminate}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.pulse{position:relative}.pulse:before{content:"";border-radius:inherit;background:currentColor;animation:2s ease-out infinite pulse-ring;position:absolute;inset:0}@keyframes pulse-ring{0%{opacity:.3;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}
.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8);padding:var(--space-4);display:flex}.pagination-start{justify-content:flex-start}.pagination-end{justify-content:flex-end}.pagination-between{justify-content:space-between}.pagination-button{padding:var(--space-2-5)var(--space-4);background-color:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);min-width:40px;min-height:40px;transition:all var(--transition-base);justify-content:center;align-items:center;display:inline-flex}.pagination-button:hover:not(:disabled){background-color:var(--color-primary-100);border-color:var(--color-primary);color:var(--color-primary)}.pagination-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button.active{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:var(--shadow-primary-sm)}.pagination-button.active:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600)}.pagination-button svg,.pagination-button .icon{width:16px;height:16px}.pagination-prev,.pagination-next{padding:var(--space-2-5)}.pagination-ellipsis{padding:var(--space-2);color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.pagination-info{margin-left:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pagination-info strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.pagination-sm .pagination-button{padding:var(--space-1-5)var(--space-3);min-width:32px;min-height:32px;font-size:var(--font-size-xs)}.pagination-lg .pagination-button{padding:var(--space-3)var(--space-5);min-width:48px;min-height:48px;font-size:var(--font-size-base)}.pagination-simple{gap:var(--space-4)}.pagination-simple .pagination-button{padding:var(--space-2-5)var(--space-5)}.pagination-bordered{background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-2)}.pagination-bordered .pagination-button{border-radius:var(--radius-md);border:none}.pagination-bordered .pagination-button:hover:not(:disabled):not(.active){background-color:var(--color-neutral-100)}@media (max-width:640px){.pagination{gap:var(--space-1);flex-wrap:wrap}.pagination-button{padding:var(--space-2)var(--space-3);min-width:36px;font-size:var(--font-size-xs)}.pagination-info{text-align:center;width:100%;margin-left:0;margin-top:var(--space-2)}.pagination-mobile-minimal .pagination-button:not(.pagination-prev):not(.pagination-next):not(.active),.pagination-mobile-minimal .pagination-ellipsis{display:none}}
.tabs{border-bottom:2px solid var(--color-border-default);margin-bottom:var(--space-6);gap:0;display:flex}.tabs-centered{justify-content:center}.tabs-end{justify-content:flex-end}.tab{align-items:center;gap:var(--space-2);padding:var(--space-4)var(--space-6);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-base);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-family:inherit;display:flex}.tab:hover:not(:disabled){color:var(--color-primary);background:var(--color-bg-secondary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:0 0}.tab:disabled{opacity:.5;cursor:not-allowed}.tab svg,.tab .icon{flex-shrink:0;width:18px;height:18px}.tab-sm{padding:var(--space-2-5)var(--space-4);font-size:var(--font-size-sm)}.tab-sm svg,.tab-sm .icon{width:16px;height:16px}.tab-lg{padding:var(--space-5)var(--space-8);font-size:var(--font-size-lg)}.tab-badge{min-width:20px;height:20px;padding:0 var(--space-1-5);background:var(--color-neutral-200);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);margin-left:var(--space-2);justify-content:center;align-items:center;display:inline-flex}.tab.active .tab-badge{background:var(--color-primary-100);color:var(--color-primary-700)}.tab-description{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-4)}.tab-description p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.tab-panels{padding-top:var(--space-4)}.tab-panel{display:none}.tab-panel.active{display:block}.tabs-pills{gap:var(--space-2);border-bottom:none}.tabs-pills .tab{border-radius:var(--radius-lg);padding:var(--space-2-5)var(--space-5);border-bottom:none;margin-bottom:0}.tabs-pills .tab.active{background:var(--color-primary-100);color:var(--color-primary-700)}.tabs-pills .tab:hover:not(:disabled):not(.active){background:var(--color-neutral-100)}.tabs-underline{border-bottom:1px solid var(--color-border-light)}.tabs-underline .tab{border-bottom-width:3px}.tabs-boxed{background:var(--color-neutral-100);border-radius:var(--radius-lg);padding:var(--space-1);gap:var(--space-1);border-bottom:none}.tabs-boxed .tab{border-radius:var(--radius-md);padding:var(--space-2)var(--space-4);border-bottom:none;margin-bottom:0}.tabs-boxed .tab.active{background:var(--color-bg-elevated);box-shadow:var(--shadow-sm)}@media (max-width:640px){.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--space-3)var(--space-4);flex-shrink:0}.tabs-stack-mobile{gap:var(--space-2);border-bottom:none;flex-direction:column}.tabs-stack-mobile .tab{border-radius:0 var(--radius-md)var(--radius-md)0;border-bottom:none;border-left:3px solid #0000;justify-content:flex-start;margin-bottom:0}.tabs-stack-mobile .tab.active{border-left-color:var(--color-primary);background:var(--color-primary-50)}}
.separator,.separator-horizontal{background-color:var(--color-border-default);width:100%;height:1px;margin:var(--space-4)0;border:none}.separator-horizontal.separator-sm{margin:var(--space-2)0}.separator-horizontal.separator-lg{margin:var(--space-6)0}.separator-horizontal.separator-xl{margin:var(--space-8)0}.separator-light{background-color:var(--color-border-light)}.separator-strong{background-color:var(--color-border-strong)}.separator-primary{background-color:var(--color-primary)}.separator-vertical{background-color:var(--color-border-default);width:1px;height:16px;margin:0 var(--space-2);flex-shrink:0;align-self:center}.separator-vertical.separator-sm{height:12px;margin:0 var(--space-1)}.separator-vertical.separator-lg{height:24px;margin:0 var(--space-3)}.separator-vertical.separator-xl{height:32px;margin:0 var(--space-4)}.separator-vertical.separator-full{height:100%;margin:0 var(--space-4)}.separator-text{align-items:center;gap:var(--space-4);margin:var(--space-6)0;display:flex}.separator-text:before,.separator-text:after{content:"";background-color:var(--color-border-default);flex:1;height:1px}.separator-text span{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.separator-dashed{border-top:1px dashed var(--color-border-default);background:0 0}.separator-vertical.separator-dashed{border-top:none;border-left:1px dashed var(--color-border-default)}.separator-dotted{border-top:1px dotted var(--color-border-default);background:0 0}.separator-gradient{background:var(--color-primary);border-radius:var(--radius-full);height:2px}
.empty-state{text-align:center;padding:var(--space-16)var(--space-12);background:var(--color-bg-elevated);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:3px dashed var(--color-primary);max-width:600px;margin:var(--space-16)auto}.empty-state-compact{padding:var(--space-8)var(--space-6);margin:var(--space-8)auto}.empty-state-icon{font-size:var(--font-size-2xl);margin-bottom:var(--space-6);color:var(--color-primary)}.empty-state-icon svg{width:64px;height:64px;color:var(--color-neutral-300)}.empty-state-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--space-4);font-weight:var(--font-weight-bold)}.empty-state-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8);line-height:var(--line-height-relaxed)}.empty-state-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.error-container{padding:var(--space-8);text-align:center;background:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:100vh;display:flex}.error-content{background:var(--color-bg-elevated);max-width:500px;padding:var(--space-10);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}.error-icon{width:72px;height:72px;margin:0 auto var(--space-6);color:var(--color-error-500)}.error-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.error-message{background-color:var(--color-error-50);color:var(--color-error-700);padding:var(--space-6);border-radius:var(--radius-xl);margin-bottom:var(--space-6);text-align:left}.error-actions{justify-content:center;gap:var(--space-3);display:flex}.loading-state{padding:var(--space-16);justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.loading-state-fullpage{min-height:60vh}.loading-state-text{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.no-data{text-align:center;padding:var(--space-12)var(--space-6);color:var(--color-text-muted)}.no-data-icon{width:48px;height:48px;margin:0 auto var(--space-4);color:var(--color-neutral-300)}.no-data-text{font-size:var(--font-size-base);color:var(--color-text-secondary)}.coming-soon-state{text-align:center;padding:var(--space-12);background:var(--color-primary-50);border-radius:var(--radius-xl)}.coming-soon-badge{padding:var(--space-2)var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);margin-bottom:var(--space-4);display:inline-flex}.coming-soon-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.coming-soon-description{color:var(--color-text-secondary);font-size:var(--font-size-base)}.maintenance-state{text-align:center;padding:var(--space-16);background:var(--color-warning-50);border-radius:var(--radius-xl);border:2px solid var(--color-warning-200)}.maintenance-icon{width:64px;height:64px;margin:0 auto var(--space-6);color:var(--color-warning-500)}.maintenance-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-warning-700);margin-bottom:var(--space-3)}.maintenance-description{color:var(--color-warning-600);font-size:var(--font-size-base);max-width:400px;margin:0 auto}@media (max-width:640px){.empty-state{padding:var(--space-8)var(--space-4);margin:var(--space-8)var(--space-4);border-radius:var(--radius-xl)}.empty-state-title{font-size:var(--font-size-xl)}.empty-state-description{font-size:var(--font-size-base)}.empty-state-icon svg{width:48px;height:48px}.error-content{padding:var(--space-6);margin:var(--space-4)}.error-title{font-size:var(--font-size-xl)}.empty-state-actions,.error-actions{flex-direction:column}.empty-state-actions .btn,.error-actions .btn{width:100%}}
.page{background:var(--color-bg-secondary);min-height:100vh}.page-light{background:var(--color-bg-primary)}.page-dark{background:var(--color-neutral-900);color:var(--color-text-inverse)}.container{width:100%;max-width:var(--container-max-width);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}.container-sm{max-width:var(--container-width-sm)}.container-md{max-width:var(--container-width-md)}.container-lg{max-width:var(--container-width-lg)}.container-xl{max-width:var(--container-width-xl)}.container-2xl{max-width:var(--container-width-2xl)}.container-full{max-width:100%}.page-container{width:100%;max-width:var(--container-max-width);padding:var(--space-6)var(--space-4);min-height:calc(100vh - var(--nav-height));margin-left:auto;margin-right:auto}.page-container-sm{max-width:var(--container-width-sm)}.page-container-md{max-width:var(--container-width-md)}.page-container-lg{max-width:var(--container-width-lg)}.page-container-fluid{max-width:100%;padding-left:var(--space-6);padding-right:var(--space-6)}.page-container-centered{flex-direction:column;justify-content:center;align-items:center;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.page-header-simple{border-bottom:none;padding-bottom:0}.page-header-compact{margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.page-header-accent{padding-bottom:var(--space-6);border-bottom:none;position:relative}.page-header-accent:after{content:"";background:var(--color-primary);border-radius:var(--radius-full);width:64px;height:3px;position:absolute;bottom:0;left:0}.page-header-content{flex:1;min-width:0}.page-title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin:0}.page-title-lg{font-size:var(--font-size-xl)}.page-title-xl{font-size:var(--font-size-2xl)}.page-subtitle{margin:var(--space-2)0 0;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.page-subtitle-lg{font-size:var(--font-size-lg)}.page-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.page-actions-stack{flex-direction:column;align-items:stretch}.page-breadcrumb{margin-bottom:var(--space-4)}.section{margin-bottom:var(--space-10)}.section:last-child{margin-bottom:0}.section-sm{margin-bottom:var(--space-6)}.section-lg{margin-bottom:var(--space-16)}.section-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.section-header-simple{margin-bottom:var(--space-4)}.section-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.section-title-sm{font-size:var(--font-size-lg)}.section-title-lg{font-size:var(--font-size-2xl)}.section-subtitle{margin:var(--space-1)0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.content{flex:1;min-width:0}.content-area{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.content-area-flat{box-shadow:none}.content-area-transparent{box-shadow:none;background:0 0;border:none;padding:0}.layout-sidebar{gap:var(--space-8);display:flex}.layout-sidebar-left{flex-direction:row}.layout-sidebar-right{flex-direction:row-reverse}.sidebar{flex-shrink:0;width:280px}.sidebar-narrow{width:240px}.sidebar-wide{width:320px}.layout-split{gap:var(--space-8);display:flex}.layout-split>*{flex:1;min-width:0}.layout-split-uneven{gap:var(--space-8);display:flex}.layout-split-uneven>:first-child{flex:2}.layout-split-uneven>:last-child{flex:1}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2)}.stack-md{gap:var(--space-4)}.stack-lg{gap:var(--space-6)}.stack-xl{gap:var(--space-8)}.cluster{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.cluster-sm{gap:var(--space-2)}.cluster-lg{gap:var(--space-6)}.cluster-between{justify-content:space-between}.cluster-center{justify-content:center}.cluster-end{justify-content:flex-end}.center{justify-content:center;align-items:center;display:flex}.center-text{text-align:center}.divider{background:var(--color-border-light);height:1px;margin:var(--space-6)0;border:none}.divider-strong{background:var(--color-border-default)}.divider-vertical{width:1px;height:auto;margin:0 var(--space-4);align-self:stretch}@media (min-width:768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}.page-container{padding:var(--space-8)var(--space-6)}.page-title{font-size:var(--font-size-xl)}.page-title-lg{font-size:var(--font-size-2xl)}}@media (min-width:1024px){.page-container{padding:var(--space-10)var(--space-8)}}@media (max-width:1023px){.layout-sidebar{flex-direction:column}.sidebar{width:100%}.layout-split,.layout-split-uneven{flex-direction:column}.layout-split-uneven>*{flex:1}}@media (max-width:767px){.page-header{flex-direction:column;align-items:stretch}.page-actions{width:100%}.page-actions .btn{flex:1}.section-header{flex-direction:column;align-items:stretch}}
.grid{gap:var(--space-6);display:grid}.grid-gap-sm{gap:var(--space-4)}.grid-gap-md{gap:var(--space-6)}.grid-gap-lg{gap:var(--space-8)}.grid-gap-xl{gap:var(--space-10)}.grid-auto-xs{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-auto-sm{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-auto-md{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid-auto-lg{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.stats-grid{gap:var(--space-6);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stats-grid-2{grid-template-columns:repeat(2,1fr)}.stats-grid-3{grid-template-columns:repeat(3,1fr)}.stats-grid-4{grid-template-columns:repeat(4,1fr)}.stats-grid-5{grid-template-columns:repeat(5,1fr)}.cards-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.cards-grid-sm{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cards-grid-lg{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.dashboard-grid{gap:var(--space-6);grid-template-columns:repeat(12,1fr);display:grid}.dashboard-grid>.span-1{grid-column:span 1}.dashboard-grid>.span-2{grid-column:span 2}.dashboard-grid>.span-3{grid-column:span 3}.dashboard-grid>.span-4{grid-column:span 4}.dashboard-grid>.span-5{grid-column:span 5}.dashboard-grid>.span-6{grid-column:span 6}.dashboard-grid>.span-7{grid-column:span 7}.dashboard-grid>.span-8{grid-column:span 8}.dashboard-grid>.span-9{grid-column:span 9}.dashboard-grid>.span-10{grid-column:span 10}.dashboard-grid>.span-11{grid-column:span 11}.dashboard-grid>.span-12{grid-column:span 12}.dashboard-grid>.span-full{grid-column:1/-1}.masonry-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:minmax(100px,auto);display:grid}.masonry-grid>.tall{grid-row:span 2}.masonry-grid>.wide{grid-column:span 2}.feature-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.feature-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid{gap:var(--space-4);display:grid}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-template-columns:repeat(4,1fr)}.table-grid{gap:0;display:grid}.table-grid-2{grid-template-columns:repeat(2,1fr)}.table-grid-3{grid-template-columns:repeat(3,1fr)}.table-grid-4{grid-template-columns:repeat(4,1fr)}.table-grid-5{grid-template-columns:repeat(5,1fr)}.gallery-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.gallery-grid-sm{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.gallery-grid-lg{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-items-start{align-items:start}.grid-items-center{align-items:center}.grid-items-end{align-items:end}.grid-items-stretch{align-items:stretch}.grid-justify-start{justify-items:start}.grid-justify-center{justify-items:center}.grid-justify-end{justify-items:end}.grid-justify-stretch{justify-items:stretch}@media (max-width:1279px){.dashboard-grid>.span-4,.dashboard-grid>.span-5,.dashboard-grid>.span-6{grid-column:span 6}.dashboard-grid>.span-7,.dashboard-grid>.span-8{grid-column:span 12}}@media (max-width:1023px){.grid-cols-4,.stats-grid-4{grid-template-columns:repeat(2,1fr)}.stats-grid-5{grid-template-columns:repeat(3,1fr)}.grid-cols-3,.stats-grid-3,.feature-grid-3{grid-template-columns:repeat(2,1fr)}.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(3,1fr)}.dashboard-grid>.span-3,.dashboard-grid>.span-4,.dashboard-grid>.span-5,.dashboard-grid>.span-6{grid-column:span 6}.dashboard-grid>.span-7,.dashboard-grid>.span-8,.dashboard-grid>.span-9,.dashboard-grid>.span-10,.dashboard-grid>.span-11{grid-column:span 12}.form-grid-3,.form-grid-4{grid-template-columns:repeat(2,1fr)}.masonry-grid>.wide{grid-column:span 1}}@media (max-width:767px){.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6,.stats-grid-2,.stats-grid-3,.stats-grid-4,.stats-grid-5,.feature-grid-3,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>[class*=span-]{grid-column:span 1}.form-grid-2,.form-grid-3,.form-grid-4,.table-grid-2,.table-grid-3,.table-grid-4,.table-grid-5,.cards-grid,.cards-grid-sm,.cards-grid-lg,.grid-auto-xs,.grid-auto-sm,.grid-auto-md,.grid-auto-lg,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (min-width:640px) and (max-width:767px){.stats-grid,.cards-grid{grid-template-columns:repeat(2,1fr)}}
.search-bar{gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.search-bar input,.search-input{padding:var(--space-3)var(--space-4);font-size:var(--font-size-base);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-elevated);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex:1}.search-bar input:hover,.search-input:hover{border-color:var(--color-border-strong)}.search-bar input:focus,.search-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.search-bar input::placeholder,.search-input::placeholder{color:var(--color-text-muted)}.search-icon-wrapper{align-items:center;width:100%;display:flex;position:relative}.search-icon{left:var(--space-3-5);color:var(--color-text-muted);pointer-events:none;z-index:1;position:absolute}.search-icon-input{padding-left:var(--space-9)!important}
.page-container .dashboard-header{margin-bottom:var(--space-6);box-shadow:none;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;padding:0;display:flex;overflow:visible}.page-container .dashboard-header:before{display:none}.dashboard-greeting{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.smart-tasks-section{margin-top:var(--space-6)}.smart-tasks-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.smart-tasks-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);align-items:center;gap:var(--space-2);margin:0;display:flex}.smart-tasks-header-actions{align-items:center;gap:var(--space-3);display:flex}.smart-tasks-filters{align-items:center;gap:var(--space-2);display:flex}.smart-tasks-filters .form-select-sm{padding:var(--space-1)var(--space-8)var(--space-1)var(--space-3);font-size:var(--font-size-sm);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.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-2-5)center;cursor:pointer;min-width:180px}.smart-task-card{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.smart-task-content{flex:1;min-width:0}.smart-task-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.smart-task-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.smart-task-dot-red{background:var(--color-error-500)}.smart-task-dot-yellow{background:var(--color-warning-500)}.smart-task-dot-green{background:var(--color-success-500)}.smart-task-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.smart-task-company-badge{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-bg-secondary);padding:var(--space-0-5)var(--space-2);border-radius:var(--radius-full);white-space:nowrap}.smart-task-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.smart-task-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.smart-task-delete-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.15s ease-out smartTaskFadeIn;display:flex;position:fixed;inset:0}@keyframes smartTaskFadeIn{0%{opacity:0}to{opacity:1}}.smart-task-delete-modal{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg,0 10px 25px #00000026);width:90%;max-width:360px}.smart-task-delete-message{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0 0 var(--space-4);text-align:center}.smart-task-delete-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.smart-tasks-group{margin-bottom:var(--space-6)}.smart-tasks-group-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);display:flex}.smart-tasks-empty{text-align:center;padding:var(--space-10)var(--space-6);color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.smart-tasks-empty>.icon{color:var(--color-primary);margin-bottom:var(--space-1);width:36px!important;height:36px!important}.smart-tasks-empty p{margin:var(--space-2)0 0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.smart-tasks-loading{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex}.smart-tasks-error{text-align:center;padding:var(--space-8)var(--space-6);color:var(--color-error-600)}.smart-tasks-error p{margin:var(--space-2)0 var(--space-4)}@media (max-width:640px){.smart-task-card{flex-direction:column;align-items:flex-start}.smart-task-actions{width:100%;margin-top:var(--space-3);justify-content:flex-end}.smart-tasks-header{flex-direction:column;align-items:flex-start}.smart-tasks-filters{width:100%}.smart-tasks-filters .form-select-sm{flex:1}}.certifai-trigger-btn{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.certifai-drawer{background:var(--color-bg-primary);z-index:1001;flex-direction:column;animation:.2s ease-out certifaiFadeIn;display:flex;position:fixed;inset:0}@keyframes certifaiFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.certifai-drawer-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.certifai-drawer-title{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary);display:flex}.certifai-drawer-actions{align-items:center;gap:var(--space-1);display:flex}.certifai-chat{flex-direction:column;flex:1;display:flex;overflow:hidden}.certifai-messages{padding:var(--space-4)var(--space-5);flex:1;width:100%;max-width:800px;margin:0 auto;overflow-y:auto}.certifai-welcome{text-align:center;padding:var(--space-8)0}.certifai-welcome-icon{background:var(--color-primary-50,#eef2ff);width:72px;height:72px;margin:0 auto var(--space-4);color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.certifai-welcome h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);color:var(--color-text-primary)}.certifai-welcome p{margin:0 0 var(--space-5);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.certifai-suggestions{gap:var(--space-2);padding:0 var(--space-2);grid-template-columns:1fr 1fr;max-width:560px;margin:0 auto;display:grid}.certifai-suggestions .btn{white-space:normal;line-height:var(--line-height-tight);text-align:center;padding:var(--space-2)var(--space-3)}.certifai-message{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.certifai-message-user{justify-content:flex-end}.certifai-message-avatar{background:var(--color-primary-50,#eef2ff);width:28px;height:28px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.certifai-message-content{max-width:80%;padding:var(--space-3)var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);overflow-wrap:break-word;word-break:break-word;min-width:0;overflow-x:auto}.certifai-message-content p{white-space:pre-wrap;margin:0}.certifai-message-assistant .certifai-message-content h1,.certifai-message-assistant .certifai-message-content h2,.certifai-message-assistant .certifai-message-content h3{margin:var(--space-3)0 var(--space-2);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.certifai-message-assistant .certifai-message-content h1{font-size:var(--font-size-base)}.certifai-message-assistant .certifai-message-content h2{font-size:var(--font-size-sm)}.certifai-message-assistant .certifai-message-content h3{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.certifai-message-assistant .certifai-message-content h1:first-child,.certifai-message-assistant .certifai-message-content h2:first-child,.certifai-message-assistant .certifai-message-content h3:first-child{margin-top:0}.certifai-message-assistant .certifai-message-content ul,.certifai-message-assistant .certifai-message-content ol{margin:var(--space-2)0;padding-left:var(--space-5)}.certifai-message-assistant .certifai-message-content li{margin-bottom:var(--space-1)}.certifai-message-assistant .certifai-message-content strong{font-weight:var(--font-weight-semibold)}.certifai-message-assistant .certifai-message-content hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-3)0}.certifai-message-assistant .certifai-message-content table{border-collapse:collapse;margin:var(--space-2)0;font-size:var(--font-size-xs);width:max-content;min-width:100%}.certifai-message-assistant .certifai-message-content th,.certifai-message-assistant .certifai-message-content td{padding:var(--space-1-5,6px)var(--space-2);text-align:left;border-bottom:1px solid var(--color-border-light);white-space:normal;word-break:break-word;max-width:200px}.certifai-message-assistant .certifai-message-content th{font-weight:var(--font-weight-semibold);background:var(--color-bg-tertiary,#0000000a);white-space:nowrap}.certifai-message-assistant .certifai-message-content pre{background:var(--color-bg-tertiary,#0000000a);border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);margin:var(--space-2)0;-webkit-overflow-scrolling:touch;white-space:pre;font-size:var(--font-size-xs);overflow-x:auto}.certifai-message-assistant .certifai-message-content code{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9em}.certifai-message-assistant .certifai-message-content :not(pre)>code{background:var(--color-bg-tertiary,#0000000a);padding:1px var(--space-1);border-radius:var(--radius-sm)}.certifai-message-assistant .certifai-message-content{background:var(--color-bg-secondary);color:var(--color-text-primary)}.certifai-message-user .certifai-message-content{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-lg)var(--radius-lg)4px var(--radius-lg)}.certifai-typing{gap:4px;display:flex;padding:var(--space-3)var(--space-4)!important}.certifai-typing span{background:var(--color-text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.4s infinite typingDot}.certifai-typing span:nth-child(2){animation-delay:.2s}.certifai-typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.certifai-error{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);background:var(--color-error-50,#fef2f2);color:var(--color-error-600);border-radius:var(--radius-md);font-size:var(--font-size-xs);margin-bottom:var(--space-3);display:flex}.certifai-input-form{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-top:1px solid var(--color-border-light);flex-shrink:0;width:100%;max-width:800px;margin:0 auto;display:flex}.certifai-input.form-control{border-radius:var(--radius-full);min-height:38px}@media (max-width:640px){.certifai-drawer-header,.certifai-messages{padding:var(--space-3)var(--space-4)}.certifai-suggestions{grid-template-columns:1fr;max-width:100%}.certifai-message-content{max-width:90%}.certifai-input-form{padding:var(--space-2)var(--space-3)}}
@media (max-width:639px){.hide-xs{display:none!important}}@media (min-width:640px) and (max-width:767px){.hide-sm{display:none!important}}@media (min-width:768px) and (max-width:1023px){.hide-md{display:none!important}}@media (min-width:1024px) and (max-width:1279px){.hide-lg{display:none!important}}@media (min-width:1280px){.hide-xl{display:none!important}}@media (min-width:640px){.show-xs-only{display:none!important}}@media (max-width:639px),(min-width:768px){.show-sm-only{display:none!important}}@media (max-width:767px),(min-width:1024px){.show-md-only{display:none!important}}@media (max-width:1023px),(min-width:1280px){.show-lg-only{display:none!important}}@media (max-width:1279px){.show-xl-only{display:none!important}}@media (max-width:639px){.hide-below-sm{display:none!important}}@media (max-width:767px){.hide-below-md{display:none!important}}@media (max-width:1023px){.hide-below-lg{display:none!important}}@media (max-width:1279px){.hide-below-xl{display:none!important}}@media (max-width:639px){.text-lg-mobile{font-size:var(--font-size-lg)}.text-sm-mobile{font-size:var(--font-size-sm)}.p-0-mobile{padding:0}.px-2-mobile{padding-left:var(--space-2);padding-right:var(--space-2)}.py-2-mobile{padding-top:var(--space-2);padding-bottom:var(--space-2)}.m-0-mobile{margin:0}.gap-2-mobile{gap:var(--space-2)}.gap-4-mobile{gap:var(--space-4)}.flex-col-mobile{flex-direction:column}.flex-wrap-mobile{flex-wrap:wrap}.items-start-mobile{align-items:flex-start}.items-stretch-mobile{align-items:stretch}.justify-start-mobile{justify-content:flex-start}.w-full-mobile{width:100%}.text-center-mobile{text-align:center}.text-left-mobile{text-align:left}}@media (min-width:640px) and (max-width:767px){.flex-col-sm{flex-direction:column}.w-full-sm{width:100%}.text-center-sm{text-align:center}}@media (min-width:768px) and (max-width:1023px){.flex-col-md{flex-direction:column}.w-full-md{width:100%}.gap-4-md{gap:var(--space-4)}}@media (max-width:767px){.page-container{padding:var(--space-4)}.page-header{align-items:stretch;gap:var(--space-4);flex-direction:column}.page-title{font-size:var(--font-size-xl)}.page-actions{flex-direction:column;width:100%}.page-actions .btn{width:100%}.btn{padding:var(--space-3)var(--space-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-3-5)var(--space-5);font-size:var(--font-size-base)}.btn-group{flex-direction:column}.btn-group .btn{border-radius:var(--radius-lg);width:100%}.btn-group .btn:not(:last-child){border-right:var(--btn-border-width)solid var(--color-border-default);margin-bottom:var(--space-2)}.card-footer{flex-direction:column}.card-footer .btn{width:100%}.card-body,.card-header{padding:var(--space-4)}.stats-grid{grid-template-columns:1fr}.stat-card{padding:var(--space-4)}.table-container{overflow-x:auto}.table-container th,.table-container td{padding:var(--space-3)var(--space-2);font-size:var(--font-size-sm)}.form-group-inline{flex-direction:column}.form-row-2,.form-row-3,.form-row-4{grid-template-columns:1fr}.search-bar{gap:var(--space-3);flex-direction:column}.search-bar .form-control{width:100%}.pagination{gap:var(--space-2);flex-wrap:wrap}.pagination-info{text-align:center;width:100%;margin-left:0;margin-top:var(--space-2);order:1}.badge-group{justify-content:flex-start}.alert{align-items:flex-start;gap:var(--space-2);flex-direction:column}.alert svg{margin-top:0}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.section-header{align-items:stretch;gap:var(--space-3);flex-direction:column}.nav-actions{gap:var(--space-2)}.tabs{gap:var(--space-2);border-bottom:none;flex-direction:column}.tab{border-radius:0 var(--radius-md)var(--radius-md)0;padding:var(--space-3)var(--space-4);border-bottom:none;border-left:3px solid #0000;margin-bottom:0}.tab.active{border-left-color:var(--color-primary);background:var(--color-primary-50)}.tabs-pills{flex-direction:column}.tabs-pills .tab{border-radius:var(--radius-lg);border-left:none}}@media (min-width:1024px){.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}}@media (pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:36px}.form-control{min-height:48px}.form-check-input{width:22px;height:22px}.form-switch-input{width:52px;height:28px}.card:hover,.btn:hover{transform:none}}@media print{.no-print{display:none!important}.card{box-shadow:none;border:1px solid var(--color-border-default)}.btn{border:1px solid var(--color-border-default)}a{text-decoration:underline}a[href]:after{content:" (" attr(href)")";font-size:var(--font-size-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.btn,.card,.form-control{border-width:2px}.badge{border:1px solid}}
*,:before,:after{box-sizing:border-box}html{font-family:var(--font-family-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg-secondary);min-width:320px;min-height:100vh;font-size:var(--font-size-base);margin:0}.skip-to-content{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2)var(--space-4);z-index:var(--z-tooltip);border-radius:0 0 var(--radius-md)0;font-weight:var(--font-weight-medium);transition:top var(--transition-fast);text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);margin-top:0;margin-bottom:var(--space-4);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}h2,h3{font-size:var(--font-size-lg)}h4,h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}@media (min-width:1024px){h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3,h4{font-size:var(--font-size-lg)}}p{margin-top:0;margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}a{font-weight:var(--font-weight-medium);color:var(--color-text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-text-link-hover);text-decoration:underline}a:focus,a:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px;border-radius:var(--radius-sm)}input,select,textarea{border:var(--input-border-width)solid var(--color-border-strong);border-radius:var(--input-radius);padding:var(--input-padding-y)var(--input-padding-x);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:var(--input-min-height)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:hover,select:hover,textarea:hover{border-color:var(--color-border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}input:disabled,select:disabled,textarea:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}ul,ol{padding-left:var(--space-6);margin:0}li{margin-bottom:var(--space-2)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
