:root{--auth-navy-deep: var(--bg);--auth-navy: var(--surface);--auth-blue: var(--secondary);--auth-blue-light: var(--primary);--auth-silver: var(--text-secondary);--auth-silver-dim: var(--text-muted);--auth-white: var(--text-primary);--auth-danger: var(--danger);--auth-success: var(--primary);--auth-line: var(--border);--auth-radius-lg: var(--radius-xl);--auth-radius-md: var(--radius-md);--auth-ease: var(--ease)}html,body,#root{margin:0;padding:0;width:100%;min-height:100%;background:var(--auth-navy-deep);overflow-x:hidden}*{box-sizing:border-box}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% -10%,rgba(47,111,237,.14) 0%,var(--auth-navy) 45%,var(--auth-navy-deep) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--auth-white)}.auth-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.auth-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform;animation:authDrift 22s ease-in-out infinite}.auth-orb-1{width:420px;height:420px;top:-140px;left:-120px;background:radial-gradient(circle,rgba(47,111,237,.4),transparent 70%);animation-delay:0s}.auth-orb-2{width:460px;height:460px;bottom:-160px;right:-140px;background:radial-gradient(circle,rgba(99,102,241,.3),transparent 70%);animation-delay:-7s}.auth-orb-3{width:320px;height:320px;top:45%;left:60%;background:radial-gradient(circle,rgba(14,165,233,.28),transparent 70%);animation-delay:-14s}@keyframes authDrift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(24px,-18px) scale(1.06)}}.auth-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(rgba(203,213,225,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(203,213,225,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000 40%,transparent 100%)}@media (prefers-reduced-motion: reduce){.auth-orb{animation:none}}.auth-card{position:relative;z-index:1;width:100%;max-width:430px;background:#101d338c;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--auth-line);border-radius:var(--auth-radius-lg);padding:40px 32px 30px;box-shadow:0 30px 80px #00000080,inset 0 1px #ffffff14;animation:authCardIn .6s var(--auth-ease) both}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;z-index:-1;background:linear-gradient(135deg,rgba(47,111,237,.4),transparent 40%,transparent 60%,rgba(99,102,241,.3));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7}@keyframes authCardIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.auth-field,.auth-form-grid,.auth-upload-row{animation:authFieldIn .5s var(--auth-ease) both}.auth-field:nth-of-type(1){animation-delay:.05s}.auth-field:nth-of-type(2){animation-delay:.1s}.auth-field:nth-of-type(3){animation-delay:.15s}.auth-field:nth-of-type(4){animation-delay:.2s}@keyframes authFieldIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.auth-field,.auth-form-grid,.auth-upload-row{animation:none}}.auth-logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.auth-logo-badge{width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,#0d1d33,#050810);border:1px solid rgba(148,163,184,.3);display:flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:0 10px 26px #2f6fed40,inset 0 1px #ffffff14}.auth-logo-ring{transform-box:fill-box;transform-origin:50% 50%;animation:authSpin 9s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-brand-name{font-family:Sora,sans-serif;font-weight:700;font-size:21px;letter-spacing:.2px;background:linear-gradient(100deg,var(--auth-white) 20%,var(--auth-blue-light) 60%,var(--auth-silver) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-brand-tag{font-size:12.5px;color:var(--auth-silver-dim);margin-top:5px;letter-spacing:.3px}.auth-heading{font-family:Sora,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.3px;margin-bottom:8px;text-align:center}.auth-subheading{font-size:13.5px;color:var(--auth-silver-dim);text-align:center;line-height:1.55;margin-bottom:26px}.auth-field{margin-bottom:18px}.auth-field label{display:block;font-size:12px;font-weight:600;color:var(--auth-silver);margin-bottom:8px;letter-spacing:.2px}.auth-field .auth-optional{color:var(--auth-silver-dim);font-weight:400;font-size:11px}.auth-input{width:100%;padding:14px 16px;border-radius:var(--auth-radius-md);border:1px solid rgba(148,163,184,.25);background:#ffffff0a;color:var(--auth-white);font-size:15px;font-family:inherit;outline:none;transition:border-color .2s var(--auth-ease),background .2s,box-shadow .2s}.auth-input::placeholder{color:#64748b}.auth-input:hover{border-color:#94a3b866}.auth-input:focus{border-color:var(--auth-blue-light);background:#2f6fed14;box-shadow:0 0 0 4px #2f6fed26}.auth-input:focus-visible{outline:2px solid var(--auth-blue-light);outline-offset:2px}.auth-code-input{letter-spacing:10px;font-family:JetBrains Mono,monospace;font-size:22px;text-align:center;font-weight:600}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:46px}.auth-password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--auth-silver-dim);transition:color .2s,background .2s}.auth-password-toggle:hover{color:var(--auth-blue-light);background:#2f6fed14}.auth-btn-primary{width:100%;padding:15px;border-radius:var(--auth-radius-md);border:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:15px;color:var(--text-on-primary);background:linear-gradient(135deg,var(--auth-blue-light),var(--auth-blue) 100%);box-shadow:0 12px 30px #2f6fed4d;transition:transform .2s var(--auth-ease),box-shadow .25s,opacity .2s;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.auth-btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translate(-140%);transition:transform .7s ease;pointer-events:none}.auth-btn-primary:hover:not(:disabled):after{transform:translate(140%)}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 38px #2f6fed66}.auth-btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.auth-btn-primary:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.auth-btn-primary:focus-visible{outline:2px solid var(--auth-white);outline-offset:3px}.auth-btn-ghost{width:100%;padding:13px;border-radius:var(--auth-radius-md);border:1px solid rgba(148,163,184,.25);background:#ffffff05;color:var(--auth-silver);font-family:inherit;font-weight:600;font-size:13.5px;cursor:pointer;transition:border-color .2s,background .2s,color .2s;margin-top:10px}.auth-btn-ghost:hover:not(:disabled){border-color:var(--auth-blue-light);background:#2f6fed14;color:var(--auth-white)}.auth-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.auth-btn-link{display:block;width:100%;text-align:center;background:none;border:none;color:var(--auth-silver-dim);font-size:12.5px;padding:10px 0 0;cursor:pointer;font-family:inherit;transition:color .2s}.auth-btn-link:hover{color:var(--auth-blue-light)}.auth-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(6,16,31,.35);border-top-color:var(--text-on-primary);animation:authSpinner .7s linear infinite;flex:0 0 auto}@keyframes authSpinner{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.auth-spinner{animation-duration:1.4s}}.auth-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--auth-radius-md);font-size:13px;line-height:1.5;margin-bottom:18px;animation:authAlertIn .3s var(--auth-ease) both}@keyframes authAlertIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.auth-alert-error{background:var(--danger-bg);border:1px solid rgba(239,68,68,.35);color:var(--danger)}.auth-alert-success{background:var(--success-bg);border:1px solid rgba(16,185,129,.35);color:var(--success)}.auth-alert-icon{flex:0 0 auto;font-size:15px;line-height:1}.auth-footer{text-align:center;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.auth-footer-brand{font-size:11.5px;color:var(--auth-silver-dim);letter-spacing:.3px}.auth-footer-links{margin-top:8px;display:flex;gap:14px;justify-content:center;font-size:11px}.auth-footer-links a{color:var(--auth-silver-dim);text-decoration:none;transition:color .2s}.auth-footer-links a:hover{color:var(--auth-blue-light)}.auth-back{display:inline-flex;align-items:center;gap:6px;color:var(--auth-silver-dim);font-size:12.5px;background:none;border:none;cursor:pointer;padding:0 0 18px;font-family:inherit;transition:color .2s}.auth-back:hover{color:var(--auth-blue-light)}@media (max-width: 480px){.auth-card{padding:32px 22px 24px}.auth-heading{font-size:19px}}.auth-theme-toggle{position:fixed;top:20px;right:20px;z-index:5;width:42px;height:42px;border-radius:50%;background:var(--hover);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;transition:transform .2s var(--auth-ease),background .2s}.auth-theme-toggle:hover{transform:translateY(-2px) rotate(15deg);background:var(--active)}.auth-support-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.auth-support-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--auth-radius-md);background:#ffffff08;border:1px solid rgba(148,163,184,.18);text-decoration:none;color:inherit;transition:transform .2s var(--auth-ease),border-color .2s,background .2s}.auth-support-card:hover{transform:translateY(-2px);border-color:var(--auth-blue-light);background:#2f6fed12}.auth-support-icon{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center}.auth-support-icon.phone{background:linear-gradient(135deg,#60a5fa,#2563eb)}.auth-support-icon.whatsapp{background:linear-gradient(135deg,#34d399,#059669)}.auth-support-text{display:flex;flex-direction:column;min-width:0}.auth-support-label{font-size:10px;color:var(--auth-silver-dim);letter-spacing:.3px;text-transform:uppercase}.auth-support-value{font-size:12.5px;font-weight:600;color:var(--auth-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 380px){.auth-support-row{grid-template-columns:1fr}}.auth-page.profile-page{align-items:flex-start;padding-top:60px}.auth-card.profile-card{max-width:560px}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}@media (max-width: 560px){.auth-form-grid{grid-template-columns:1fr}}.auth-upload-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}@media (max-width: 480px){.auth-upload-row{grid-template-columns:1fr 1fr}}.auth-upload-tile{position:relative;aspect-ratio:1;border-radius:var(--auth-radius-md);border:1.5px dashed rgba(148,163,184,.35);background:#ffffff05;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s}.auth-upload-tile:hover{border-color:var(--auth-blue-light);background:#2f6fed0f}.auth-upload-tile input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.auth-upload-tile img{width:100%;height:100%;object-fit:contain;position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.auth-upload-tile .auth-upload-icon{font-size:20px;opacity:.7}.auth-upload-tile .auth-upload-label{font-size:10.5px;color:var(--auth-silver-dim);text-align:center;padding:0 6px}.img-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#040810d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.img-editor-modal{width:100%;max-width:380px;background:#0e1521;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}.img-editor-title{color:#fff;font-weight:700;font-size:15px;text-align:center}.img-editor-frame{width:100%;aspect-ratio:var(--frame-ratio, 1);max-height:60vh;border-radius:12px;overflow:hidden;background:#1a2333;position:relative;border:2px dashed rgba(96,165,250,.4)}.img-editor-frame img{position:absolute;top:50%;left:50%;margin-top:-50%;margin-left:-50%;width:100%;height:100%;object-fit:contain;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.img-editor-frame img:active{cursor:grabbing}.img-editor-hint{color:#8ca0b8;font-size:11px;text-align:center}.img-editor-controls{display:flex;gap:10px}.img-editor-controls button{flex:1;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff;font-size:12.5px;cursor:pointer}.img-editor-zoom-row{display:flex;align-items:center;gap:10px;color:#8ca0b8;font-size:12px}.img-editor-zoom-row input{flex:1}.img-editor-actions{display:flex;gap:10px;margin-top:4px}.img-editor-actions .auth-btn-ghost,.img-editor-actions .auth-btn-primary{flex:1;padding:12px}.dash-root{min-height:100dvh;background:var(--bg, #060b16);color:var(--text-primary, #eef3fb);font-family:var(--font-sans, "Inter",-apple-system,sans-serif);padding-bottom:64px;-webkit-font-smoothing:antialiased;position:relative}.dash-root:before{content:"";position:fixed;top:-10%;right:-8%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,237,.1),transparent 70%);pointer-events:none;z-index:0}.dash-root:after{content:"";position:fixed;bottom:-15%;left:-10%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.08),transparent 70%);pointer-events:none;z-index:0}.dash-header,.dash-wrap,.app-nav,.qa-fab-wrap{position:relative;z-index:1}.dash-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,56px);background:var(--surface, #0b1220);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--border, rgba(148,172,214,.12));flex-wrap:nowrap}.dash-brand-mini{display:flex;align-items:center;gap:8px;font-family:var(--font-display, "Sora",sans-serif);font-weight:800;font-size:15px;color:var(--primary, #2f6fed);white-space:nowrap;flex-shrink:0}.dash-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.hero-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 30px;border-radius:20px;margin-bottom:28px;position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(47,111,237,.14),rgba(99,102,241,.08) 60%,transparent);border:1px solid var(--border, rgba(148,172,214,.12));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-welcome:after{content:"";position:absolute;top:-30%;right:-5%;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,237,.16),transparent 70%);pointer-events:none}.hero-welcome-text{position:relative;min-width:0}.hero-welcome-text h1{font-family:var(--font-display, "Sora",sans-serif);font-size:32px;font-weight:800;letter-spacing:-.015em;margin:0 0 6px}.hero-welcome-text .role-line{font-size:16px;color:var(--text-secondary, #94a8c9);font-weight:600;margin-bottom:4px}.hero-welcome-text .date-line{font-size:13px;color:var(--text-muted, #5f7396);font-family:var(--font-mono, monospace)}.hero-summary{position:relative;text-align:right;flex-shrink:0}.hero-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, #5f7396);font-weight:700;margin-bottom:8px}.hero-summary-stats{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary, #94a8c9);flex-wrap:wrap;justify-content:flex-end}.hero-summary-stats b{color:var(--text-primary, #eef3fb);font-size:17px;font-family:var(--font-display, "Sora",sans-serif)}.hero-summary-stats .dot{color:var(--border-strong, rgba(148,172,214,.22))}@media (max-width:640px){.hero-welcome{padding:22px 20px}.hero-welcome-text h1{font-size:24px}.hero-summary{text-align:left}.hero-summary-stats{justify-content:flex-start}}.dash-search-wrap{position:relative}.dash-search{padding:11px 16px 11px 40px;border-radius:var(--radius-md, 12px);background:var(--hover, rgba(148,172,214,.07));border:1px solid var(--border, rgba(148,172,214,.12));color:var(--text-primary, #eef3fb);font-size:var(--text-sm, 12.5px);width:240px;max-width:40vw;min-height:44px;font-family:var(--font-sans, "Inter",-apple-system,sans-serif);transition:border-color .2s,background .2s,width .2s}@media (max-width:480px){.dash-brand-mini span{display:none}.dash-search{width:120px;max-width:34vw;padding-left:36px}.dash-header{gap:8px;padding:12px 14px}}.dash-search:focus{outline:none;border-color:var(--primary, #2f6fed);background:var(--surface, #0b1220);box-shadow:0 0 0 3px var(--focus-ring, rgba(47,111,237,.45));width:280px;max-width:60vw}.dash-search::placeholder{color:var(--text-muted, #5f7396)}.dash-search-wrap .ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted, #5f7396);display:flex}.dash-icon-btn{width:40px;height:40px;border-radius:var(--radius-md, 12px);background:var(--hover, rgba(148,172,214,.07));border:1px solid var(--border, rgba(148,172,214,.12));display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;color:var(--text-secondary, #94a8c9);transition:transform .15s var(--ease, cubic-bezier(.2,.8,.2,1)),background .2s,color .2s}.dash-icon-btn:hover{transform:translateY(-2px);background:var(--active, rgba(47,111,237,.14));color:var(--primary, #2f6fed);border-color:var(--primary, #2f6fed)}.dash-notif-dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--danger, #ef4444);box-shadow:0 0 0 2px var(--surface, #0b1220)}.dash-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary, #2f6fed),var(--secondary, #0ea5e9));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--text-sm, 12.5px);color:var(--text-on-primary, #ffffff);cursor:pointer;border:2px solid var(--border-strong, rgba(148,172,214,.22));font-family:var(--font-display, "Sora","Inter",sans-serif);flex-shrink:0}.dash-menu{position:absolute;top:48px;right:0;background:var(--surface, #0b1220);border:1px solid var(--border-strong, rgba(148,172,214,.22));border-radius:var(--radius-md, 12px);padding:6px;width:190px;z-index:40;box-shadow:var(--shadow-xl, 0 32px 80px rgba(0,0,0,.5))}.dash-menu-item{display:flex;align-items:center;gap:10px;padding:10px 11px;font-size:var(--text-sm, 12.5px);font-weight:600;border-radius:var(--radius-sm, 8px);cursor:pointer;color:var(--text-primary, #eef3fb);min-height:40px}.dash-menu-item:hover{background:var(--hover, rgba(148,172,214,.07))}.dash-menu-item.danger{color:var(--danger, #ef4444)}.dash-alerts{display:flex;gap:8px;overflow-x:auto;padding:12px clamp(16px,4vw,56px) 0}.dash-alert-chip{flex:0 0 auto;display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:var(--text-xs, 11px);font-weight:600;padding:8px 14px;border-radius:var(--radius-full, 999px);border:1px solid}.dash-alert-chip.high{background:var(--danger-bg, rgba(239,68,68,.14));color:var(--danger, #ef4444);border-color:var(--danger-bg, rgba(239,68,68,.14))}.dash-alert-chip.medium{background:var(--warning-bg, rgba(245,158,11,.14));color:var(--warning, #f59e0b);border-color:var(--warning-bg, rgba(245,158,11,.14))}.dash-wrap{padding:24px clamp(16px,4vw,56px) 0;max-width:1600px;margin:0 auto}.dash-section-title{font-family:var(--font-display, "Sora","Inter",sans-serif);font-weight:800;font-size:22px;margin:32px 0 6px;display:flex;align-items:center;gap:9px;color:var(--text-primary, #eef3fb);letter-spacing:-.005em}.dash-section-title .bar{width:4px;height:16px;border-radius:var(--radius-full, 999px);background:var(--primary, #2f6fed)}.dash-section-desc{font-size:13.5px;color:var(--text-muted, #5f7396);margin:0 0 14px 13px}.primary-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:1100px){.primary-modules{grid-template-columns:1fr}}.module-card{position:relative;overflow:hidden;border-radius:var(--radius-xl, 26px);padding:28px 26px;border:1px solid var(--border, rgba(148,172,214,.12));cursor:pointer;min-height:280px;display:flex;flex-direction:column;transition:transform .25s var(--ease, cubic-bezier(.2,.8,.2,1)),box-shadow .3s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.module-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl, 0 32px 80px rgba(0,0,0,.5)),0 0 0 1px var(--primary, #2f6fed)}.module-card.survey{background:linear-gradient(155deg,rgba(47,111,237,.16),var(--card, #101a2c) 55%)}.module-card.report{background:linear-gradient(155deg,rgba(99,102,241,.16),var(--card, #101a2c) 55%)}.module-card.compliance{background:linear-gradient(155deg,rgba(16,185,129,.14),var(--card, #101a2c) 55%)}.module-icon{width:56px;height:56px;border-radius:var(--radius-lg, 18px);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:#fff;box-shadow:0 10px 24px #00000040}.module-card.survey .module-icon{background:linear-gradient(135deg,var(--primary, #2f6fed),var(--primary-hover, #4c86ff))}.module-card.report .module-icon{background:linear-gradient(135deg,var(--accent, #6366f1),#8b5cf6)}.module-card.compliance .module-icon{background:linear-gradient(135deg,var(--success, #10b981),#059669)}.module-heading{font-family:var(--font-display, "Sora",sans-serif);font-size:28px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}.module-desc{font-size:16px;color:var(--text-secondary, #94a8c9);margin-bottom:16px;line-height:1.5}.module-features{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px;flex:1}.module-features li{font-size:13px;color:var(--text-secondary, #94a8c9);display:flex;align-items:center;gap:8px}.module-features li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--primary, #2f6fed);flex-shrink:0}.module-card.report .module-features li:before{background:var(--accent, #6366f1)}.module-card.compliance .module-features li:before{background:var(--success, #10b981)}.module-badge{position:absolute;top:20px;right:20px;font-size:11px;font-weight:800;padding:4px 12px;border-radius:var(--radius-full, 999px);background:var(--hover, rgba(148,172,214,.07));color:var(--text-primary, #eef3fb);font-family:var(--font-mono, monospace)}.module-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md, 12px);font-size:16px;font-weight:700;border:none;cursor:pointer;width:fit-content;color:#fff;transition:transform .15s var(--ease, cubic-bezier(.2,.8,.2,1)),box-shadow .2s}.module-card.survey .module-cta{background:var(--primary, #2f6fed);box-shadow:0 8px 20px #2f6fed4d}.module-card.report .module-cta{background:var(--accent, #6366f1);box-shadow:0 8px 20px #6366f14d}.module-card.compliance .module-cta{background:var(--success, #10b981);box-shadow:0 8px 20px #10b9814d}.module-cta:hover{transform:translateY(-2px) translate(2px)}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero-card{background:var(--card, #101a2c);border:1px solid var(--border, rgba(148,172,214,.12));border-radius:var(--radius-xl, 26px);padding:24px;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0,0,0,.25));position:relative;overflow:hidden;transition:transform .25s var(--ease, cubic-bezier(.2,.8,.2,1)),box-shadow .25s}.hero-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.32)),0 0 0 1px var(--primary, #2f6fed)}.hero-card:before{content:"";position:absolute;top:-40%;right:-15%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,237,.16),transparent 70%);pointer-events:none}.hero-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative}.hero-icon{width:52px;height:52px;border-radius:var(--radius-md, 12px);background:linear-gradient(135deg,var(--primary, #2f6fed),var(--primary-hover, #4c86ff));display:flex;align-items:center;justify-content:center;color:var(--text-on-primary, #ffffff);flex-shrink:0;box-shadow:0 8px 20px #2f6fed47}.hero-icon.violet{background:linear-gradient(135deg,var(--accent, #6366f1),#8b5cf6);box-shadow:0 8px 20px #a78bfa40}.hero-count{font-family:var(--font-display, "Sora","Inter",sans-serif);font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:14px;position:relative}.hero-label{font-size:var(--text-sm, 12.5px);color:var(--text-secondary, #94a8c9);margin-top:6px;font-weight:600;position:relative}.hero-progress{margin-top:16px;position:relative}.hero-progress-track{height:8px;border-radius:var(--radius-full, 999px);background:var(--hover, rgba(148,172,214,.07));overflow:hidden}.hero-progress-fill{height:100%;border-radius:var(--radius-full, 999px);background:linear-gradient(90deg,var(--primary, #2f6fed),var(--primary-hover, #4c86ff));transition:width .6s var(--ease, cubic-bezier(.2,.8,.2,1))}.hero-progress-label{font-size:var(--text-xs, 11px);color:var(--text-muted, #5f7396);margin-top:6px;display:flex;justify-content:space-between}.hero-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;position:relative}.hero-btn{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;border-radius:var(--radius-md, 12px);font-size:var(--text-sm, 12.5px);font-weight:700;cursor:pointer;border:1px solid var(--border, rgba(148,172,214,.12));background:var(--hover, rgba(148,172,214,.07));color:var(--text-primary, #eef3fb);min-height:44px;transition:transform .15s var(--ease, cubic-bezier(.2,.8,.2,1)),background .2s,box-shadow .2s}@media (max-width:380px){.hero-btn{min-width:0;padding:10px 6px;font-size:11px;gap:4px}}.hero-btn:hover{transform:translateY(-2px);background:var(--active, rgba(47,111,237,.14))}.hero-btn.primary{background:var(--primary, #2f6fed);color:var(--text-on-primary, #ffffff);border-color:var(--primary, #2f6fed);box-shadow:0 6px 16px #2f6fed4d}.hero-btn.primary:hover{background:var(--primary-hover, #4c86ff);box-shadow:0 10px 22px #2f6fed66}.report-badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;position:relative}.report-badge{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--radius-md, 12px);border-left:3px solid;background:var(--hover, rgba(148,172,214,.07))}.report-badge .val{font-family:var(--font-display, "Sora","Inter",sans-serif);font-size:22px;font-weight:800}.report-badge .lbl{font-size:var(--text-xs, 11px);color:var(--text-secondary, #94a8c9);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.report-badge.draft{border-color:var(--text-muted, #5f7396)}.report-badge.draft .val{color:var(--text-secondary, #94a8c9)}.report-badge.submitted{border-color:var(--secondary, #0ea5e9)}.report-badge.submitted .val{color:var(--secondary, #0ea5e9)}.report-badge.approved{border-color:var(--success, #22c55e)}.report-badge.approved .val{color:var(--success, #22c55e)}.report-badge.rejected{border-color:var(--danger, #ef4444)}.report-badge.rejected .val{color:var(--danger, #ef4444)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}@media (max-width:640px){.kpi-grid{grid-template-columns:1fr}}@media (min-width:641px) and (max-width:1023px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.kpi-card{background:var(--card, #101a2c);border:1px solid var(--border, rgba(148,172,214,.12));border-left:3px solid var(--kpi-color, var(--primary, #2f6fed));border-radius:var(--radius-lg, 18px);padding:18px;transition:transform .2s var(--ease, cubic-bezier(.2,.8,.2,1)),box-shadow .2s;animation:kpiIn .4s var(--ease, cubic-bezier(.2,.8,.2,1)) both}@keyframes kpiIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kpi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.32)),0 0 0 1px var(--kpi-color, var(--primary, #2f6fed))}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-icon-wrap{width:36px;height:36px;border-radius:var(--radius-sm, 8px);display:flex;align-items:center;justify-content:center;background:var(--hover, rgba(148,172,214,.07));color:var(--kpi-color, var(--primary, #2f6fed))}.kpi-trend{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:var(--radius-full, 999px);font-family:var(--font-mono, "JetBrains Mono",monospace)}.kpi-trend.up{background:var(--success-bg, rgba(34,197,94,.14));color:var(--success, #22c55e)}.kpi-trend.down{background:var(--danger-bg, rgba(239,68,68,.14));color:var(--danger, #ef4444)}.kpi-trend.flat{background:var(--hover, rgba(148,172,214,.07));color:var(--text-muted, #5f7396)}.kpi-value{font-family:var(--font-display, "Sora","Inter",sans-serif);font-size:36px;font-weight:800;margin-top:12px;letter-spacing:-.02em}.kpi-label{font-size:var(--text-xs, 11px);color:var(--text-secondary, #94a8c9);margin-top:3px;font-weight:600}.dash-two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}@media (max-width:960px){.dash-two-col{grid-template-columns:1fr}}.dash-panel{background:var(--card, #101a2c);border:1px solid var(--border, rgba(148,172,214,.12));border-radius:var(--radius-lg, 18px);padding:18px}.stage-row{display:flex;flex-direction:column;gap:12px}.stage-item .head{display:flex;justify-content:space-between;font-size:var(--text-sm, 12.5px);font-weight:700;margin-bottom:6px}.stage-bar-track{height:8px;border-radius:var(--radius-full, 999px);background:var(--hover, rgba(148,172,214,.07));overflow:hidden}.stage-bar-fill{height:100%;border-radius:var(--radius-full, 999px);transition:width .6s var(--ease, cubic-bezier(.2,.8,.2,1))}.activity-row{display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:var(--radius-md, 12px);cursor:pointer;transition:background .15s}.activity-row:hover{background:var(--hover, rgba(148,172,214,.07))}.activity-icon{width:36px;height:36px;border-radius:var(--radius-sm, 8px);background:var(--hover, rgba(148,172,214,.07));display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #94a8c9);flex-shrink:0}.activity-body{min-width:0;flex:1}.activity-title{font-size:var(--text-sm, 12.5px);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-sub{font-size:var(--text-xs, 11px);color:var(--text-muted, #5f7396);margin-top:2px}.activity-pin{flex-shrink:0;color:var(--warning, #f59e0b)}.status-pill{font-size:10px;font-weight:800;padding:3px 10px;border-radius:var(--radius-full, 999px);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.company-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dotted var(--border, rgba(148,172,214,.12))}.company-row:last-child{border-bottom:none}.company-row .name{flex:0 0 130px;font-size:var(--text-sm, 12.5px);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-row .bar-track{flex:1;height:8px;border-radius:var(--radius-full, 999px);background:var(--hover, rgba(148,172,214,.07));overflow:hidden}.company-row .bar-fill{height:100%;border-radius:var(--radius-full, 999px);background:linear-gradient(90deg,var(--primary, #2f6fed),var(--secondary, #0ea5e9));transition:width .6s var(--ease, cubic-bezier(.2,.8,.2,1))}.company-row .count{flex:0 0 26px;text-align:right;font-family:var(--font-mono, "JetBrains Mono",monospace);font-size:var(--text-sm, 12.5px);font-weight:700}.urgent-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md, 12px);background:var(--danger-bg, rgba(239,68,68,.14));border:1px solid var(--danger-bg, rgba(239,68,68,.14));margin-bottom:8px}.urgent-item.severe{background:#ff5a6a2e;border-color:#ff5a6a59}.urgent-badge{font-size:10px;font-weight:800;padding:4px 10px;border-radius:var(--radius-sm, 8px);background:var(--danger, #ef4444);color:#fff;white-space:nowrap;flex-shrink:0}.urgent-info{min-width:0;flex:1}.urgent-info b{font-size:var(--text-sm, 12.5px);display:block}.urgent-info span{font-size:var(--text-xs, 11px);color:var(--text-muted, #5f7396)}.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.acc-card{background:var(--card, #101a2c);border:1px solid var(--border, rgba(148,172,214,.12));border-radius:var(--radius-lg, 18px);padding:16px;text-align:center;transition:transform .2s var(--ease, cubic-bezier(.2,.8,.2,1))}.acc-card:hover{transform:translateY(-2px)}.acc-card .val{font-family:var(--font-display, "Sora","Inter",sans-serif);font-size:20px;font-weight:800}.acc-card .lbl{font-size:var(--text-xs, 11px);color:var(--text-muted, #5f7396);margin-top:4px;font-weight:600}.compliance-card{background:var(--warning-bg, rgba(245,158,11,.14));border:1px solid var(--warning-bg, rgba(245,158,11,.14));border-radius:var(--radius-lg, 18px);padding:16px 18px;font-size:var(--text-sm, 12.5px);color:var(--warning, #f59e0b);display:flex;gap:10px;align-items:flex-start}.dash-empty{font-size:var(--text-sm, 12.5px);color:var(--text-muted, #5f7396);padding:24px 0;text-align:center}.dash-loading{display:flex;align-items:center;justify-content:center;height:60vh;font-size:var(--text-sm, 12.5px);color:var(--text-muted, #5f7396);gap:10px}.dash-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong, rgba(148,172,214,.22));border-top-color:var(--primary, #2f6fed);animation:dashSpin .7s linear infinite}@keyframes dashSpin{to{transform:rotate(360deg)}}.qa-fab-wrap{position:fixed;bottom:calc(78px + env(safe-area-inset-bottom,0px));right:20px;z-index:60}.qa-fab{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;position:relative;background:linear-gradient(135deg,var(--primary, #2f6fed),var(--primary-hover, #4c86ff));color:var(--text-on-primary, #ffffff);box-shadow:var(--shadow-lg, 0 20px 48px rgba(0,0,0,.4));display:flex;align-items:center;justify-content:center;transition:transform .25s var(--ease, cubic-bezier(.2,.8,.2,1)),box-shadow .25s}.qa-fab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--primary, #2f6fed);opacity:0;animation:none}.qa-fab:hover:before{animation:fabRipple 1.1s ease-out infinite}@keyframes fabRipple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}}.qa-fab:after{content:"New Survey";position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(4px);background:var(--surface, #0b1220);color:var(--text-primary, #eef3fb);font-size:12px;font-weight:600;white-space:nowrap;padding:7px 12px;border-radius:8px;border:1px solid var(--border-strong, rgba(148,172,214,.22));box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.32));opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.qa-fab:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.qa-fab svg{transition:transform .25s var(--ease, cubic-bezier(.2,.8,.2,1));position:relative;z-index:1}.qa-fab:hover{transform:translateY(-3px) scale(1.04)}.qa-fab.open svg{transform:rotate(45deg)}.qa-fab.open:after{display:none}.qa-menu{position:absolute;bottom:68px;right:0;width:min(78vw,240px);max-height:min(60vh,380px);overflow-y:auto;background:var(--surface, #0b1220);border:1px solid var(--border-strong, rgba(148,172,214,.22));border-radius:var(--radius-lg, 18px);padding:8px;box-shadow:var(--shadow-xl, 0 32px 80px rgba(0,0,0,.5));animation:qaMenuIn .2s var(--ease, cubic-bezier(.2,.8,.2,1)) both}@keyframes qaMenuIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qa-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--radius-md, 12px);cursor:pointer;font-size:var(--text-sm, 12.5px);font-weight:700;color:var(--text-primary, #eef3fb);transition:background .15s;min-height:44px}.qa-item:hover{background:var(--hover, rgba(148,172,214,.07))}.qa-item .qa-icon{width:30px;height:30px;border-radius:var(--radius-sm, 8px);display:flex;align-items:center;justify-content:center;background:var(--active, rgba(47,111,237,.14));color:var(--primary, #2f6fed);flex-shrink:0}.app-nav{position:fixed;z-index:55;display:flex;background:var(--surface, #0b1220);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);bottom:0;left:0;right:0;border-top:1px solid var(--border, rgba(148,172,214,.12));padding-bottom:env(safe-area-inset-bottom,0px)}.sidebar-header{display:none}.app-nav-item{flex:1;text-align:center;padding:9px 4px;cursor:pointer;font-size:10.5px;color:var(--text-secondary, #94a8c9);font-weight:600;transition:color .2s,background .2s;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;border-radius:10px}.app-nav-item svg{transition:transform .15s var(--ease, cubic-bezier(.2,.8,.2,1))}.app-nav-item:hover svg,.app-nav-item.active svg{transform:translateY(-1px)}.app-nav-item:hover,.app-nav-item.active{color:var(--primary, #2f6fed)}@media (min-width:1024px){.app-nav{top:0;bottom:0;left:0;right:auto;width:236px;flex-direction:column;justify-content:flex-start;gap:3px;padding:0 12px 20px;border-top:none;border-right:1px solid var(--border, rgba(148,172,214,.12))}.dash-root{padding-left:236px}.sidebar-header{display:flex;align-items:center;gap:10px;padding:22px 8px 20px;margin-bottom:8px;border-bottom:1px solid var(--border, rgba(148,172,214,.12))}.sidebar-logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--primary, #2f6fed),var(--accent, #6366f1));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 6px 16px #2f6fed4d}.sidebar-brand{font-family:var(--font-display, "Sora",sans-serif);font-weight:800;font-size:14px;letter-spacing:-.01em;line-height:1.3}.sidebar-brand span{display:block;font-family:var(--font-sans, sans-serif);font-weight:500;font-size:10px;color:var(--text-muted, #5f7396);letter-spacing:0;margin-top:1px}.app-nav-item{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px;font-size:14px;font-weight:600;border-radius:12px;min-height:46px;position:relative}.app-nav-item:not(.active):before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:transparent;transition:background .2s}.app-nav-item:not(.active):hover:before{background:var(--primary, #2f6fed)}.app-nav-item:not(.active):hover{background:var(--hover, rgba(148,172,214,.07));color:var(--text-primary, #eef3fb)}.app-nav-item.active{background:linear-gradient(135deg,var(--primary, #2f6fed),var(--primary-hover, #4c86ff));color:#fff!important;box-shadow:0 6px 20px #2f6fed59}.app-nav-item.active svg{color:#fff}.app-nav-item:not(.active)[data-color=blue] svg{color:var(--primary, #2f6fed)}.app-nav-item:not(.active)[data-color=purple] svg{color:var(--accent, #6366f1)}.app-nav-item:not(.active)[data-color=green] svg{color:var(--success, #10b981)}.app-nav-item:not(.active)[data-color=orange] svg{color:var(--warning, #f59e0b)}.app-nav-item:not(.active)[data-color=gray] svg{color:var(--text-muted, #5f7396)}}.dash-customize{margin:12px clamp(16px,4vw,56px) 0;padding:14px;border-radius:var(--radius-md, 12px);background:var(--card, #101a2c);border:1px solid var(--border, rgba(148,172,214,.12))}.dash-customize-item{display:flex;align-items:center;gap:6px;font-size:var(--text-xs, 11px);font-weight:600;background:var(--hover, rgba(148,172,214,.07));padding:6px 11px;border-radius:var(--radius-sm, 8px);cursor:pointer}:root,[data-theme=dark]{--bg: #060b16;--surface: #0b1220;--card: #101a2c;--card-hover: #16213a;--border: rgba(148, 172, 214, .12);--border-strong: rgba(148, 172, 214, .22);--overlay: rgba(3, 6, 14, .72);--primary: #2f6fed;--primary-hover: #4c86ff;--primary-contrast: #ffffff;--secondary: #0ea5e9;--secondary-hover: #38bdf8;--accent: #6366f1;--success: #10b981;--success-bg: rgba(34, 197, 94, .14);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .14);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .14);--text-primary: #eef3fb;--text-secondary: #94a8c9;--text-muted: #5f7396;--text-on-primary: #ffffff;--hover: rgba(148, 172, 214, .07);--active: rgba(47, 111, 237, .14);--focus-ring: rgba(47, 111, 237, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .32);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .4);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Sora", var(--font-sans);--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--text-xs: clamp(10.5px, .9vw, 11.5px);--text-sm: clamp(12px, 1vw, 13px);--text-base: clamp(13.5px, 1.1vw, 14.5px);--text-lg: clamp(15px, 1.4vw, 17px);--text-xl: clamp(18px, 2vw, 22px);--text-2xl: clamp(22px, 3vw, 28px);--ease: cubic-bezier(.2, .8, .2, 1)}[data-theme=light]{--bg: #f8fafc;--surface: #ffffff;--card: #ffffff;--card-hover: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--overlay: rgba(15, 23, 42, .45);--primary: #2563eb;--primary-hover: #1d4ed8;--primary-contrast: #ffffff;--secondary: #0ea5e9;--secondary-hover: #0284c7;--accent: #6366f1;--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-on-primary: #ffffff;--hover: rgba(37, 99, 235, .045);--active: rgba(37, 99, 235, .1);--focus-ring: rgba(37, 99, 235, .35);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .1);--shadow-xl: 0 32px 80px rgba(15, 23, 42, .14)}*{transition:background-color .25s var(--ease, cubic-bezier(.2,.8,.2,1)),border-color .25s var(--ease, cubic-bezier(.2,.8,.2,1)),color .25s var(--ease, cubic-bezier(.2,.8,.2,1))}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}.ds-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ds-card:hover{background:var(--card-hover);border-color:var(--border-strong)}.ds-btn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:transform .15s var(--ease),background .2s,border-color .2s,box-shadow .2s;min-height:44px}.ds-btn:hover{background:var(--hover);transform:translateY(-1px)}.ds-btn:active{transform:translateY(0)}.ds-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ds-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.ds-btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md)}.ds-btn-danger{background:var(--danger-bg);border-color:transparent;color:var(--danger)}.ds-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:700;padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px}.ds-badge-success{background:var(--success-bg);color:var(--success)}.ds-badge-warning{background:var(--warning-bg);color:var(--warning)}.ds-badge-danger{background:var(--danger-bg);color:var(--danger)}.ds-badge-muted{background:var(--hover);color:var(--text-muted)}.ds-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;padding:6px 12px;border-radius:var(--radius-full);background:var(--hover);color:var(--text-secondary);border:1px solid var(--border)}.ds-input{font-family:var(--font-sans);font-size:var(--text-base);width:100%;min-height:46px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--hover);color:var(--text-primary)}.ds-input::placeholder{color:var(--text-muted)}.ds-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);background:var(--surface)}.ds-empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--text-muted)}.ds-empty-state .icon{font-size:34px;opacity:.5;margin-bottom:var(--space-3)}.ds-skeleton{background:linear-gradient(90deg,var(--hover) 25%,var(--border) 50%,var(--hover) 75%);background-size:200% 100%;animation:ds-shimmer 1.4s infinite;border-radius:var(--radius-md)}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-track{background:transparent}
