body,html{padding:0;margin:0;font-family:system-ui,-apple-system,Inter,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;background:var(--color-bg);color:var(--color-text)}:root{--color-bg:#f7f7f8;--color-surface:#fff;--color-text:#111418;--color-text-secondary:#4b5563;--color-border:#e5e7eb;--color-primary:#2563eb;--color-primary-contrast:#fff;--color-focus:#1e40af;--color-success:#16a34a;--color-warning:#d97706;--color-error:#dc2626;--font-sans:ui-sans-serif,system-ui,-apple-system,"Inter","Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fs-4xl:36px;--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.7;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 10px rgba(0,0,0,.08);--shadow-lg:0 10px 25px rgba(0,0,0,.1);--ease-standard:cubic-bezier(0.2,0,0,1);--duration-fast:100ms;--duration-base:150ms;--duration-slow:200ms}.dark{--color-bg:#0f1216;--color-surface:#12161b;--color-text:#e5e7eb;--color-text-secondary:#9ca3af;--color-border:#23272e;--color-primary:#60a5fa;--color-primary-contrast:#0b1020;--color-focus:#93c5fd;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 10px rgba(0,0,0,.35);--shadow-lg:0 10px 25px rgba(0,0,0,.4)}.bg-background{background:var(--color-bg)}.bg-surface{background:var(--color-surface)}.text-foreground{color:var(--color-text)}.text-muted{color:var(--color-text-secondary)}.border{border-color:var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);font-weight:var(--fw-semibold);transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard);min-height:44px}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover{filter:brightness(.95)}.btn-primary:active{filter:brightness(.9)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.hero-gradient{background:linear-gradient(135deg,var(--color-primary) 0,#1e40af 100%);position:relative;overflow:hidden}.dark .hero-gradient{background:linear-gradient(135deg,#1e3a8a,#0f172a)}.hero-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,hsla(0,0%,100%,.08) 0,transparent 50%);pointer-events:none}.dark .hero-pattern{background-image:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.05) 0,transparent 50%),radial-gradient(circle at 80% 80%,hsla(0,0%,100%,.03) 0,transparent 50%)}.feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.dark .feature-card{background:var(--color-surface);border-color:var(--color-border)}.dark .feature-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.5);border-color:var(--color-primary)}.feature-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0,#1e40af 100%);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.dark .feature-icon{background:linear-gradient(135deg,#1e3a8a,#0f172a);box-shadow:0 2px 8px rgba(96,165,250,.2)}@media (max-width:768px){.hero-gradient{padding:var(--space-12) var(--space-4)!important;min-height:400px!important}}@media (prefers-reduced-motion:reduce){.feature-card{transition:none}.feature-card:hover{transform:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-container{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--color-bg)}@media (min-width:1024px){.login-container{grid-template-columns:1fr 1fr}}.login-brand-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-primary) 0,#1e40af 100%);padding:var(--space-12);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}.dark .login-brand-panel{background:linear-gradient(135deg,#1e3a8a,#0f172a)}.login-brand-content{position:relative;z-index:1;max-width:500px}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);background:var(--color-bg)}.login-form-wrapper{width:100%;max-width:420px}.login-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md)}.dark .login-form-card{box-shadow:0 4px 20px rgba(0,0,0,.4)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-md);transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard);min-height:44px}.form-input::placeholder{color:var(--color-text-secondary);opacity:.6}.form-input:focus,.form-input:hover{border-color:var(--color-primary)}.form-input:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.dark .form-input:focus{box-shadow:0 0 0 3px rgba(96,165,250,.15)}.form-input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg)}.form-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text);margin-bottom:var(--space-2)}.error-message{background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);color:var(--color-error);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);display:flex;align-items:flex-start;gap:var(--space-2)}.dark .error-message{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.4)}.spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.dashboard-layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:var(--color-bg)}@media (max-width:1024px){.dashboard-layout{grid-template-columns:1fr}}.dashboard-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-8)}@media (max-width:1024px){.dashboard-sidebar{display:none}}.dashboard-main{padding:var(--space-8);overflow-y:auto}.dashboard-header{margin-bottom:var(--space-8)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--fs-md);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard);min-height:44px}.sidebar-link:hover{background:rgba(0,0,0,.04);color:var(--color-text)}.dark .sidebar-link:hover{background:hsla(0,0%,100%,.06)}.sidebar-link.active{background:var(--color-primary);color:#fff}.dark .sidebar-link.active{background:var(--color-primary);color:var(--color-primary-contrast)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(30,64,175,.05));display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.dark .stat-card-icon{background:linear-gradient(135deg,rgba(96,165,250,.15),rgba(30,58,138,.1))}.stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);color:var(--color-text);line-height:var(--lh-tight);margin-bottom:var(--space-2)}.stat-label{font-size:var(--fs-sm);color:var(--color-text-secondary);font-weight:var(--fw-medium)}.activity-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.quick-action-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--fs-md);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);cursor:pointer}.quick-action-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.dark .quick-action-btn:hover{color:var(--color-primary-contrast)}.tabs-list{display:flex;gap:var(--space-2);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-8)}.tab-button{padding:var(--space-3) var(--space-6);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard);min-height:44px}.tab-button:hover{color:var(--color-text)}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.library-item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.library-item-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}@media (prefers-contrast:high){:root{--color-primary:#00f;--color-success:green;--color-warning:red;--color-error:red;--color-bg:#fff;--color-surface:#fff;--color-text:#000;--color-text-secondary:#000;--color-border:#000}.dark{--color-bg:#000;--color-surface:#000;--color-text:#fff;--color-text-secondary:#fff;--color-border:#fff}.border{border-width:2px!important;border-style:solid!important}:focus-visible{outline:3px solid #000!important;outline-offset:2px!important}.dark :focus-visible{outline-color:#fff!important}}