#app{min-height:100vh;background-color:var(--bg-secondary,#f8fafc);color:var(--text-primary,#1f2937)}.app-layout{display:flex;min-height:100vh}.content{flex:1;min-height:100vh;padding:1.75rem;text-align:left;background-color:var(--bg-secondary,#f8fafc);transition:margin-left .25s ease}.with-sidebar .content{margin-left:260px}.content.mobile-mode{margin-left:0!important;width:100%}@media(max-width:1200px){.with-sidebar .content{margin-left:240px}}@media(max-width:1024px){.with-sidebar .content{margin-left:220px}.content{padding:1.5rem}}@media(max-width:768px){.with-sidebar .content{margin-left:0}.content{padding:1.25rem 1rem;padding-top:4.5rem}}@media(max-width:480px){.content{padding:1rem .75rem;padding-top:4.5rem}}.content.content-bare{padding:0;min-width:0}::-webkit-scrollbar-track{background:var(--bg-tertiary,#f1f5f9)}::-webkit-scrollbar-thumb{background:var(--border-medium,#d1d5db);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong,#9ca3af)}html{scrollbar-width:thin;scrollbar-color:var(--border-medium,#d1d5db) var(--bg-tertiary,#f1f5f9)}:root{--primary-color:#3b82f6;--secondary-color:#6b7280;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-color:#06b6d4;--primary-light:color-mix(in srgb,var(--primary-color) 20%,#fff);--primary-lighter:color-mix(in srgb,var(--primary-color) 10%,#fff);--primary-dark:color-mix(in srgb,var(--primary-color) 20%,#000);--primary-darker:color-mix(in srgb,var(--primary-color) 40%,#000);--primary-hover:color-mix(in srgb,var(--primary-color) 10%,#000);--success-light:color-mix(in srgb,var(--success-color) 20%,#fff);--success-hover:color-mix(in srgb,var(--success-color) 10%,#000);--warning-light:color-mix(in srgb,var(--warning-color) 20%,#fff);--warning-hover:color-mix(in srgb,var(--warning-color) 10%,#000);--error-light:color-mix(in srgb,var(--error-color) 20%,#fff);--error-hover:color-mix(in srgb,var(--error-color) 10%,#000);--info-light:color-mix(in srgb,var(--info-color) 20%,#fff);--info-hover:color-mix(in srgb,var(--info-color) 10%,#000);--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-accent:color-mix(in srgb,var(--primary-color) 5%,#fff);--bg-hover:#f9fafb;--bg-active:#e2e8f0;--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-inverse:#fff;--text-accent:var(--primary-color);--border-color:#e5e7eb;--border-light:#f3f4f6;--border-medium:#d1d5db;--border-strong:#9ca3af;--border-accent:var(--primary-color);--sidebar-bg:var(--bg-primary);--sidebar-border:var(--border-color);--sidebar-item-hover:var(--bg-hover);--sidebar-item-active:var(--primary-light);--header-bg:var(--bg-primary);--header-border:var(--border-color);--card-bg:var(--bg-primary);--card-border:var(--border-light);--card-shadow:rgba(0,0,0,.05);--card-shadow-hover:rgba(0,0,0,.1);--link-color:var(--primary-color);--link-hover:var(--primary-hover);--focus-ring:color-mix(in srgb,var(--primary-color) 30%,transparent);--badge-active-bg:var(--success-light);--badge-active-text:var(--success-color);--badge-pending-bg:var(--warning-light);--badge-pending-text:var(--warning-color);--badge-error-bg:var(--error-light);--badge-error-text:var(--error-color);--badge-neutral-bg:var(--bg-tertiary);--badge-neutral-text:var(--text-secondary);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px}[data-theme=blue]{--primary-color:#3b82f6;--secondary-color:#1e40af;--info-color:#0ea5e9}[data-theme=green]{--primary-color:#10b981;--secondary-color:#059669;--success-color:#22c55e}[data-theme=red]{--primary-color:#ef4444;--secondary-color:#dc2626;--error-color:#f87171}[data-theme=purple]{--primary-color:#8b5cf6;--secondary-color:#7c3aed;--info-color:#a855f7}[data-theme=orange]{--primary-color:#f97316;--secondary-color:#ea580c;--warning-color:#fb923c}[data-theme=pink]{--primary-color:#ec4899;--secondary-color:#db2777;--info-color:#f472b6}[data-theme=indigo]{--primary-color:#f7f7fc;--secondary-color:#4f46e5;--info-color:#818cf8}[data-theme=teal]{--primary-color:#14b8a6;--secondary-color:#0d9488;--success-color:#20d1a9}[data-theme-mode=dark]{--bg-primary:#1f2937;--bg-secondary:#fff;--bg-tertiary:#0f172a;--bg-accent:color-mix(in srgb,var(--primary-color) 15%,#1f2937);--bg-hover:#374151;--bg-active:#4b5563;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--text-inverse:#1f2937;--border-color:#374151;--border-light:#4b5563;--border-medium:#6b7280;--border-strong:#9ca3af;--card-shadow:rgba(0,0,0,.3);--card-shadow-hover:rgba(0,0,0,.4);--sidebar-item-hover:#374151;--sidebar-item-active:color-mix(in srgb,var(--primary-color) 20%,#1f2937)}.smooth-transition{transition:var(--transition-normal)}.fast-transition{transition:var(--transition-fast)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--text-accent)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-accent{background-color:var(--bg-accent)}.border-primary{border-color:var(--border-color)}.border-accent{border-color:var(--border-accent)}:focus{outline:2px solid var(--focus-ring);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*{box-sizing:border-box}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.75rem}.page-header-text .page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem;line-height:1.2}.page-header-text .page-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.page-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cmp-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl,12px);padding:1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.cmp-card:hover{box-shadow:var(--shadow-md)}.cmp-card-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.cmp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.cmp-card-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.btn-cmp{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md,6px);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease,color .15s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1.5}.btn-cmp:disabled,.btn-cmp[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-cmp:active:not(:disabled){transform:translateY(1px)}.btn-cmp-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-cmp-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--primary-color) 35%,transparent)}.btn-cmp-primary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn-cmp-secondary{background-color:var(--bg-primary);border-color:var(--border-medium);color:var(--text-primary)}.btn-cmp-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-strong)}.btn-cmp-danger{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.btn-cmp-danger:hover{background-color:var(--error-hover);border-color:var(--error-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--error-color) 35%,transparent)}.btn-cmp-success{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.btn-cmp-success:hover{background-color:var(--success-hover);border-color:var(--success-hover)}.btn-cmp-ghost{background-color:transparent;border-color:transparent;color:var(--text-secondary)}.btn-cmp-ghost:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-cmp-sm{padding:.3125rem .75rem;font-size:.8125rem}.btn-cmp-lg{padding:.6875rem 1.5rem;font-size:.9375rem}.btn-cmp-icon{padding:.5rem;width:2.25rem;height:2.25rem;border-radius:var(--radius-md,6px)}.btn-cmp-icon.btn-cmp-sm{width:1.875rem;height:1.875rem;padding:.3125rem}.badge-cmp{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full,9999px);white-space:nowrap;line-height:1.5}.badge-cmp:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:currentColor;flex-shrink:0}.badge-cmp-active{background:var(--badge-active-bg);color:var(--badge-active-text)}.badge-cmp-warning{background:var(--badge-pending-bg);color:var(--badge-pending-text)}.badge-cmp-danger{background:var(--badge-error-bg);color:var(--badge-error-text)}.badge-cmp-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.badge-cmp-primary{background:var(--primary-light);color:var(--primary-dark)}.cmp-table-wrapper{overflow-x:auto;border-radius:var(--radius-xl,12px);border:1px solid var(--border-color);background:var(--bg-primary)}.cmp-table{width:100%;border-collapse:collapse;font-size:.875rem}.cmp-table thead th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.cmp-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .15s ease}.cmp-table tbody tr:last-child{border-bottom:none}.cmp-table tbody tr:hover{background-color:var(--bg-hover)}.cmp-table tbody td{padding:.875rem 1rem;color:var(--text-primary);vertical-align:middle}.cmp-table .col-actions{text-align:right;white-space:nowrap}.cmp-input,.cmp-select{width:100%;padding:.5rem .75rem;font-size:.875rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md,6px);transition:border-color .15s ease,box-shadow .15s ease;line-height:1.5;outline:none}.cmp-input::-moz-placeholder{color:var(--text-muted)}.cmp-input::placeholder{color:var(--text-muted)}.cmp-input:hover,.cmp-select:hover{border-color:var(--border-strong)}.cmp-input:focus,.cmp-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring)}.cmp-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;color:var(--text-muted)}.cmp-state-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.5}.cmp-state-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem}.cmp-state-description{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:360px}.cmp-spinner{width:2rem;height:2rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:cmp-spin .7s linear infinite;margin:0 auto 1rem}@keyframes cmp-spin{to{transform:rotate(1turn)}}.page-enter-active,.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-4px)}@media (max-width:768px){.hide-mobile{display:none!important}.page-header{margin-bottom:1.25rem}.page-header-text .page-title{font-size:1.25rem}}@media (min-width:769px){.hide-desktop{display:none!important}}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm,4px)}:focus:not(:focus-visible){outline:none}