@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-blue:#4f46e5;--primary-blue-dark:#4338ca;--primary-blue-light:#6366f1;--primary-blue-50:#eef2ff;--primary-blue-100:#e0e7ff;--primary-blue-200:#c7d2fe;--primary-color:var(--primary-blue);--secondary-color:var(--primary-blue-dark);--secondary-blue:#6366f1;--text-dark:#0f172a;--text-medium:#334155;--text-grey:#64748b;--text-light:#94a3b8;--border-grey:#e2e8f0;--border-light:#f1f5f9;--bg-grey:#f8fafc;--bg-white:#fff;--bg-subtle:#f1f5f9;--success-green:#10b981;--success-green-light:#d1fae5;--warning-yellow:#f59e0b;--warning-yellow-light:#fef3c7;--danger-red:#ef4444;--danger-red-light:#fee2e2;--urgent-violet:#8b5cf6;--info-blue:#3b82f6;--info-blue-light:#dbeafe;--sidebar-width:260px;--sidebar-width-collapsed:72px;--header-height:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a0f,0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a1a,0 8px 10px -6px #0f172a0f;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";background-color:#f8fafc;background-color:var(--bg-grey);color:#0f172a;color:var(--text-dark);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;letter-spacing:-.011em;line-height:1.6}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--primary-blue);outline-offset:2px}::selection{background:#c7d2fe;background:var(--primary-blue-200);color:#0f172a;color:var(--text-dark)}.card,.stat-card{cursor:default;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base,.2s) cubic-bezier(.4,0,.2,1)}.card.clickable,.card[role=button],.stat-card.clickable,.stat-card[role=button]{cursor:pointer}.card.clickable:hover,.card[role=button]:hover,.stat-card.clickable:hover,.stat-card[role=button]:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);box-shadow:0 10px 15px -3px #0f172a14;box-shadow:var(--shadow-lg,0 10px 15px -3px #0f172a14);transform:translateY(-3px)}.card.clickable:active,.card[role=button]:active,.stat-card.clickable:active,.stat-card[role=button]:active{transform:translateY(-1px);transition-duration:80ms}.card:not([role=button]):not(.clickable):hover{box-shadow:0 1px 3px #0f172a0f;box-shadow:var(--shadow-sm,0 1px 3px #0f172a0f)}.btn,button:not(.unstyled){overflow:hidden;position:relative;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast,.15s) cubic-bezier(.4,0,.2,1)}.btn:after,button:not(.unstyled):after{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .5s,height .5s;width:0}.btn:active:after,button:not(.unstyled):active:after{height:300px;width:300px}.btn:hover,button:not(.unstyled):not(:disabled):hover{box-shadow:0 4px 6px -1px #0f172a0f;box-shadow:var(--shadow-md,0 4px 6px -1px #0f172a0f);transform:translateY(-1px)}.btn:active,button:not(.unstyled):not(:disabled):active{box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--shadow-xs,0 1px 2px #0f172a0a);transform:translateY(0)}.btn:disabled,button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.btn:focus-visible,button:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--primary-blue,#4f46e5);outline-offset:2px}.btn-primary:hover{box-shadow:0 4px 16px #4f46e54d}.btn-danger:hover,.btn-delete:hover{box-shadow:0 4px 16px #ef44444d}table{border-collapse:initial;border-spacing:0}tbody tr{transition:background-color .15s ease;transition:background-color var(--transition-fast,.15s) ease}tbody tr:hover{background-color:#eef2ff;background-color:var(--primary-blue-50,#eef2ff)}tbody tr.clickable,tbody tr[role=button]{cursor:pointer}tbody tr.clickable:hover,tbody tr[role=button]:hover{background-color:#4f46e514}tbody tr.clickable:active,tbody tr[role=button]:active{background-color:#4f46e51f}td,th{transition:color .15s ease;transition:color var(--transition-fast,.15s) ease}input:not([type=checkbox]):not([type=radio]),select,textarea{transition:all .2s ease;transition:all var(--transition-base,.2s) ease}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);box-shadow:0 0 0 3px #4f46e526;outline:none}input[type=checkbox],input[type=radio]{accent-color:#4f46e5;accent-color:var(--primary-blue,#4f46e5);cursor:pointer;transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}input[type=checkbox]:hover,input[type=radio]:hover{transform:scale(1.08)}a:not(.unstyled){position:relative;transition:color .15s ease;transition:color var(--transition-fast,.15s) ease}a:not(.unstyled):hover{color:#4f46e5;color:var(--primary-blue,#4f46e5)}a:not(.unstyled):focus-visible{border-radius:6px;border-radius:var(--radius-sm,6px);outline:2px solid #4f46e5;outline:2px solid var(--primary-blue,#4f46e5);outline-offset:3px}.icon,[class*=icon-]{transition:transform .15s ease;transition:transform var(--transition-fast,.15s) ease}button:hover .icon,button:hover [class*=icon-]{transform:scale(1.08)}button:active .icon,button:active [class*=icon-]{transform:scale(.96)}svg{transition:transform .15s ease;transition:transform var(--transition-fast,.15s) ease}a:hover svg,button:hover svg{transform:scale(1.04)}.badge,.chip,.tag{cursor:default;transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.badge.clickable,.chip.clickable,.tag.clickable{cursor:pointer}.badge.clickable:hover,.chip.clickable:hover,.tag.clickable:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dropdown,.dropdown-item,.select-option,.select-wrapper{transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.dropdown-item,.select-option{cursor:pointer}.dropdown-item:hover,.select-option:hover{background-color:#eef2ff;background-color:var(--primary-blue-50,#eef2ff);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.dropdown-item:active,.select-option:active{background-color:#4f46e51f}.nav-item,.tab{position:relative;transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.nav-item:hover,.tab:hover{color:#4f46e5;color:var(--primary-blue,#4f46e5)}.nav-item.active:after,.tab.active:after{animation:tabSlideIn .25s ease-out;background:#4f46e5;background:var(--primary-blue,#4f46e5);border-radius:2px 2px 0 0;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}@keyframes tabSlideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.dialog,.modal,.overlay{animation:uiFadeIn .2s ease-out}.dialog-content,.modal-content{animation:uiModalSlideUp .3s cubic-bezier(.21,1.02,.73,1)}@keyframes uiFadeIn{0%{opacity:0}to{opacity:1}}@keyframes uiModalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.list-item,li:not(.unstyled){transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.list-group-item,.list-item.clickable{cursor:pointer}.list-group-item:hover,.list-item.clickable:hover{background-color:#eef2ff;background-color:var(--primary-blue-50,#eef2ff);border-left:3px solid #4f46e5;border-left:3px solid var(--primary-blue,#4f46e5);padding-left:calc(1rem - 3px)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-radius:4px}::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-grey,#e2e8f0);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--text-light,#94a3b8)}[data-tooltip]{position:relative}[data-tooltip]:after{background:#0f172a;background:var(--text-dark,#0f172a);border-radius:8px;border-radius:var(--radius-md,8px);bottom:calc(100% + 6px);box-shadow:var(--shadow-md);color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:500;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .15s ease;transition:opacity var(--transition-fast,.15s) ease;white-space:nowrap;z-index:1000}[data-tooltip]:hover:after{opacity:1}.loading,[data-loading=true]{opacity:.6;pointer-events:none;position:relative}.loading:after,[data-loading=true]:after{animation:uiSpin .8s linear infinite;border:2px solid #e2e8f0;border-top-color:#4f46e5;border:2px solid var(--border-grey,#e2e8f0);border-radius:50%;border-top-color:var(--primary-blue,#4f46e5);content:"";height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:20px}@keyframes uiSpin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.btn:hover,.card:hover,a:hover,button:hover{transform:none!important}}@media (prefers-contrast:high){.btn,.card,button{border:2px solid}.btn:hover,button:hover{border-width:3px}}.greeting-section{animation:greetSlideIn .5s cubic-bezier(.21,1.02,.73,1)}.greeting-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#4f46e5);-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700;letter-spacing:-.025em;margin-bottom:6px;padding-bottom:8px}.greeting-section p{color:#64748b;color:var(--text-grey,#64748b);font-size:15px;line-height:1.5}@keyframes greetSlideIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media (hover:none) and (pointer:coarse){.btn,a,button,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}.btn:hover,.card:hover,button:hover{transform:none}.btn:active,.card:active,button:active{opacity:.9;transform:scale(.98)}}.lang-switcher{align-items:center;display:inline-flex}.lang-switcher-select{background:#fff;background:var(--bg-white,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);color:#64748b;color:var(--text-grey,#64748b);cursor:pointer;font-size:12px;font-weight:500;outline:none;padding:5px 10px;transition:all .15s cubic-bezier(.4,0,.2,1)}.lang-switcher-select:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe)}.lang-switcher-select:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--primary-blue,#4f46e5);outline-offset:1px}.lang-switcher-compact .lang-switcher-select{max-width:140px}.auth-page{align-items:center;background:var(--bg-grey);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-page:before{background:radial-gradient(circle,#4f46e50f,#0000 70%);height:500px;right:-10%;top:-20%;width:500px}.auth-page:after,.auth-page:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.auth-page:after{background:radial-gradient(circle,#6366f10d,#0000 70%);bottom:-15%;height:400px;left:-5%;width:400px}.auth-container{animation:authFadeUp .4s cubic-bezier(.21,1.02,.73,1);background:var(--bg-white);border:1px solid var(--border-grey);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:480px;padding:48px 44px;position:relative;width:100%;z-index:1}@keyframes authFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:32px;text-align:center}.auth-logo{align-items:center;background:linear-gradient(135deg,var(--primary-blue-light),var(--primary-blue));border-radius:var(--radius-lg);box-shadow:0 4px 16px #4f46e540;color:#fff;display:inline-flex;font-size:14px;font-weight:700;height:52px;justify-content:center;margin-bottom:24px;width:52px}.auth-header h1{color:var(--text-dark);font-size:24px;font-weight:700;letter-spacing:-.025em;margin-bottom:8px}.auth-header p{color:var(--text-grey);font-size:14px;line-height:1.5}.auth-note{background:var(--primary-blue-50);border:1px solid var(--primary-blue-200);border-radius:var(--radius-md);color:var(--primary-blue-dark);font-size:13px;line-height:1.5;margin-bottom:24px;padding:12px 14px}.auth-form{display:flex;flex-direction:column;gap:18px}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.auth-form .form-group label{color:var(--text-medium);font-size:13px;font-weight:500}.auth-form .form-group input,.auth-form .form-group select{background:var(--bg-white);border:1px solid var(--border-grey);border-radius:var(--radius-md);color:var(--text-dark);font-size:14px;padding:11px 14px;transition:all var(--transition-fast)}.auth-form .form-group input:focus,.auth-form .form-group select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #4f46e51a;outline:none}.auth-form .form-group input::placeholder{color:var(--text-light)}.btn-block{background:var(--primary-blue);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #4f46e533;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:4px;padding:12px;transition:all var(--transition-fast);width:100%}.btn-block:hover{background:var(--primary-blue-dark);box-shadow:0 4px 16px #4f46e54d;transform:translateY(-1px)}.btn-block:active{transform:translateY(0)}.auth-footer{border-top:1px solid var(--border-grey);margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:var(--text-grey);font-size:14px}.link{color:var(--primary-blue);font-weight:500;transition:color var(--transition-fast)}.link:hover{color:var(--primary-blue-dark);text-decoration:underline}@media (max-width:600px){.auth-container{border-radius:var(--radius-lg);padding:32px 24px}.auth-header h1{font-size:22px}.form-row{grid-template-columns:1fr}}.toast-container{display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{align-items:center;animation:toastSlideIn .3s cubic-bezier(.21,1.02,.73,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:4px solid;border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 10px 15px -3px #0f172a14;box-shadow:var(--shadow-lg,0 10px 15px -3px #0f172a14);display:flex;gap:12px;max-width:100%;min-width:300px;padding:14px 18px;pointer-events:auto;transition:all .2s ease-out}.toast:hover{box-shadow:var(--shadow-xl);transform:translateX(-4px)}.toast-success{background:linear-gradient(135deg,#10b981f2,#059669f2);border-left-color:#059669;color:#fff}.toast-error{background:linear-gradient(135deg,#ef4444f2,#dc2626f2);border-left-color:#dc2626;color:#fff}.toast-warning{background:linear-gradient(135deg,#f59e0bf2,#d97706f2);border-left-color:#d97706;color:#fff}.toast-info{background:linear-gradient(135deg,#4f46e5f2,#4338caf2);border-left-color:#4f46e5;border-left-color:var(--primary-blue,#4f46e5);color:#fff}.toast-error .toast-icon,.toast-info .toast-icon,.toast-success .toast-icon,.toast-warning .toast-icon{background:#fff3;color:#fff}.toast-icon{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:30px;justify-content:center;width:30px}.toast-message{word-wrap:break-word;flex:1 1;font-size:13px;font-weight:500;line-height:1.5}.toast-close{align-items:center;background:#fff3;border:none;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:300;height:26px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;width:26px}.toast-close:hover{background:#ffffff4d;transform:scale(1.1)}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}.toast.exit{animation:toastSlideOut .3s ease-out forwards}@media (max-width:768px){.toast-container{left:10px;max-width:none;right:10px;top:10px}.toast{min-width:0;padding:12px 14px}.toast-icon{font-size:14px;height:26px;width:26px}.toast-message{font-size:12px}}@media (prefers-reduced-motion:reduce){.toast{animation:fadeIn .2s ease-out}.toast:hover{transform:none}}.sidebar{background:#0f172a;border-right:1px solid #ffffff0f;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width var(--transition-slow);width:var(--sidebar-width);z-index:50}.sidebar-header{border-bottom:1px solid #ffffff0f;padding:20px 20px 16px}.sidebar-logo{gap:12px;text-decoration:none}.logo-icon-small,.sidebar-logo{align-items:center;display:flex}.logo-icon-small{background:linear-gradient(135deg,var(--primary-blue-light),var(--primary-blue));border-radius:var(--radius-md);box-shadow:0 0 0 1px #ffffff1a,0 4px 12px #4f46e54d;color:#fff;flex-shrink:0;font-size:11px;font-weight:700;height:36px;justify-content:center;letter-spacing:-.5px;width:36px}.sidebar-logo span{color:#f1f5f9;font-size:15px;font-weight:600;letter-spacing:-.02em}.sidebar-nav{flex:1 1;overflow-y:auto;padding:12px 10px;scrollbar-color:#ffffff1a #0000;scrollbar-width:thin}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-link{align-items:center;border-radius:var(--radius-md);color:#94a3b8;display:flex;font-size:14px;font-weight:500;gap:12px;letter-spacing:-.01em;margin-bottom:2px;padding:10px 14px;position:relative;text-decoration:none;transition:all var(--transition-fast)}.sidebar-link:hover{background:#ffffff0f;color:#e2e8f0}.sidebar-link.active{background:#4f46e526;color:#c7d2fe;font-weight:600}.sidebar-link.active:before{background:var(--primary-blue-light);border-radius:0 3px 3px 0;content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar-icon{flex-shrink:0;font-size:18px;opacity:.8;text-align:center;width:22px}.sidebar-link.active .sidebar-icon{opacity:1}.sidebar-icon-svg{display:block;height:18px;width:18px}.sidebar-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{align-items:center;background:var(--danger-red);border-radius:var(--radius-full);box-shadow:0 2px 4px #ef44444d;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:20px;justify-content:center;line-height:1;min-width:20px;padding:0 6px}.sidebar-link.active .sidebar-badge{background:#fff3;color:#fff}.sidebar-mobile-toggle{align-items:center;background:#0f172a;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:none;font-size:20px;height:40px;justify-content:center;left:16px;position:fixed;top:16px;width:40px;z-index:60}.sidebar-overlay{display:none}@media (max-width:768px){.sidebar-mobile-toggle{display:flex}.sidebar{transform:translateX(-100%);transition:transform var(--transition-slow);z-index:100}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:none;inset:0;position:fixed;z-index:99}.sidebar-overlay.visible{display:block}}.user-profile-overlay{align-items:center;animation:profileFadeIn .2s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9998}.user-profile-modal{animation:profileSlideUp .35s cubic-bezier(.21,1.02,.73,1);background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:460px;overflow:hidden;padding:0;position:relative;width:100%}.close-btn{align-items:center;background:#ffffff26;border:none;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:36px;z-index:10}.close-btn:hover{background:#ffffff40;transform:rotate(90deg)}.profile-header{background:linear-gradient(135deg,#312e81,#4f46e5);background:linear-gradient(135deg,#312e81 0,var(--primary-blue,#4f46e5) 100%);padding:40px 32px 32px;position:relative;text-align:center}.profile-header:after{background:radial-gradient(circle at top right,#ffffff1a,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.profile-avatar{align-items:center;animation:profileAvatarPop .5s cubic-bezier(.34,1.56,.64,1);background:#fff3;border:3px solid #ffffff4d;border-radius:9999px;border-radius:var(--radius-full,9999px);display:flex;font-size:36px;height:88px;justify-content:center;margin:0 auto 18px;width:88px}.profile-avatar,.profile-name{color:#fff;font-weight:700;position:relative;z-index:1}.profile-name{font-size:24px;letter-spacing:-.02em;line-height:1.3;margin:0 0 12px}.profile-role{background:#ffffff1a;border:1.5px solid #ffffff4d;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#ffffffe6;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.05em;padding:6px 14px;position:relative;text-transform:uppercase;z-index:1}.profile-content{display:flex;flex:1 1;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:28px}.profile-field{align-items:flex-start;background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);display:flex;gap:14px;padding:14px 16px;transition:all .2s ease}.profile-field:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);transform:translateX(4px)}.field-icon,.profile-field:hover{background:#eef2ff;background:var(--primary-blue-50,#eef2ff)}.field-icon{align-items:center;border-radius:8px;border-radius:var(--radius-md,8px);color:#4f46e5;color:var(--primary-blue,#4f46e5);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.field-content{flex:1 1}.field-label{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:3px;text-transform:uppercase}.field-value{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:500;line-height:1.5;word-break:break-word}.status-badge{border-radius:8px;border-radius:var(--radius-md,8px)}.profile-footer{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);display:flex;gap:10px;justify-content:flex-end;padding:20px 28px}.profile-footer .btn{border-radius:8px;border-radius:var(--radius-md,8px);min-width:110px;padding:9px 20px;transition:all .15s ease}.profile-footer .btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes profileSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes profileAvatarPop{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (max-width:600px){.user-profile-modal{margin:20px;max-width:calc(100% - 40px)}.profile-header{padding:32px 24px 24px}.profile-avatar{font-size:28px;height:72px;width:72px}.profile-name{font-size:20px}.profile-content{gap:12px;padding:20px}.profile-footer{padding:16px 20px}}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fffc;border-bottom:1px solid var(--border-grey);height:var(--header-height);position:-webkit-sticky;position:sticky;top:0;z-index:40}.header-content{gap:16px;height:100%;padding:0 28px}.header-title{color:var(--text-dark);font-size:20px;font-weight:700;letter-spacing:-.025em}.header-actions{align-items:center;display:flex;gap:12px;position:relative;z-index:2}.user-info,.user-info-clickable{align-items:center;display:flex;gap:10px}.user-info-clickable{background:none;border:1px solid #0000;border-radius:var(--radius-md);color:inherit;cursor:pointer;font:inherit;min-height:44px;padding:6px 10px;transition:all var(--transition-fast)}.user-info-clickable:hover{background:var(--bg-subtle);border-color:var(--border-grey)}.user-info-clickable:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.user-info-clickable:active{background:var(--border-grey)}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-blue-light),var(--primary-blue));border-radius:var(--radius-full);box-shadow:0 2px 8px #4f46e540;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.user-details{display:flex;flex-direction:column;gap:1px}.user-name{color:var(--text-dark);font-size:13px;font-weight:600;line-height:1.2}.user-role{color:var(--text-light);font-weight:500;text-transform:capitalize}.btn-logout{background:#0000;border:1px solid var(--border-grey);border-radius:var(--radius-md);color:var(--text-grey);font-size:13px;font-weight:500;padding:7px 14px;transition:all var(--transition-fast)}.btn-logout:hover{background:var(--danger-red);border-color:var(--danger-red);box-shadow:0 2px 8px #ef444440;color:#fff}@media (max-width:768px){.header-content{padding:0 16px 0 60px}.header-title{font-size:16px}.user-details{display:none}.btn-logout{font-size:12px;padding:6px 10px}}.confirm-overlay{align-items:center;animation:confirmFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.confirm-modal{animation:confirmSlideUp .3s cubic-bezier(.21,1.02,.73,1);background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-xl);max-width:420px;padding:36px 32px;text-align:center;width:100%}.confirm-icon{align-items:center;animation:confirmIconPop .5s cubic-bezier(.21,1.02,.73,1);border-radius:9999px;border-radius:var(--radius-full,9999px);display:flex;height:60px;justify-content:center;margin:0 auto 24px;width:60px}.confirm-icon svg{display:block}.confirm-icon-default{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.confirm-icon-danger{background:#fee2e2;background:var(--danger-red-light,#fee2e2);color:#ef4444;color:var(--danger-red,#ef4444)}.confirm-icon-warning{background:#fef3c7;background:var(--warning-yellow-light,#fef3c7);color:#f59e0b;color:var(--warning-yellow,#f59e0b)}.confirm-icon-success{background:#d1fae5;background:var(--success-green-light,#d1fae5);color:#10b981;color:var(--success-green,#10b981)}.confirm-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin:0 0 10px}.confirm-message{color:#64748b;color:var(--text-grey,#64748b);font-size:14px;line-height:1.6;margin:0 0 28px}.confirm-actions{display:flex;gap:10px;justify-content:center}.confirm-btn{border:none;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:110px;padding:10px 22px;transition:all .15s cubic-bezier(.4,0,.2,1)}.confirm-btn:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--primary-blue,#4f46e5);outline-offset:2px}.confirm-btn-cancel{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);color:#334155;color:var(--text-medium,#334155)}.confirm-btn-cancel:hover{background:#e2e8f0;background:var(--border-grey,#e2e8f0);transform:translateY(-1px)}.confirm-btn-confirm{box-shadow:0 2px 8px #0000001f;color:#fff}.confirm-btn-confirm:hover{box-shadow:0 4px 16px #0000002e;transform:translateY(-2px)}.confirm-btn-confirm:active{transform:translateY(0)}.confirm-btn-default{background:#4f46e5;background:var(--primary-blue,#4f46e5)}.confirm-btn-default:hover{background:#4338ca;background:var(--primary-blue-dark,#4338ca);box-shadow:0 4px 16px #4f46e54d}.confirm-btn-danger{background:#ef4444;background:var(--danger-red,#ef4444)}.confirm-btn-danger:hover{box-shadow:0 4px 16px #ef44444d}.confirm-btn-warning{background:#f59e0b;background:var(--warning-yellow,#f59e0b)}.confirm-btn-warning:hover{box-shadow:0 4px 16px #f59e0b4d}.confirm-btn-success{background:#10b981;background:var(--success-green,#10b981)}.confirm-btn-success:hover{box-shadow:0 4px 16px #10b9814d}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confirmIconPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.confirm-modal{max-width:100%;padding:28px 24px}.confirm-icon{height:52px;margin-bottom:20px;width:52px}.confirm-title{font-size:18px}.confirm-message{font-size:13px;margin-bottom:24px}.confirm-actions{flex-direction:column-reverse;gap:8px}.confirm-btn{min-width:0;width:100%}}@media (prefers-reduced-motion:reduce){.confirm-icon,.confirm-modal,.confirm-overlay{animation:confirmFadeIn .2s ease-out}.confirm-btn:hover{transform:none}}.tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-grey,#e2e8f0);display:flex;gap:4px;margin-bottom:24px}.tab{background:none;border:none;color:#64748b;color:var(--text-grey,#64748b);cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;position:relative;transition:all .15s;transition:all var(--transition-fast,.15s)}.tab.active,.tab:hover{color:#4f46e5;color:var(--primary-blue,#4f46e5)}.tab.active:after{background:#4f46e5;background:var(--primary-blue,#4f46e5);bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-add{color:#4f46e5;color:var(--primary-blue,#4f46e5);margin-left:auto}.data-entry-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.toolbar-left{display:flex;gap:8px}.table-container{border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px)}.data-table{background:#fff}.data-table td,.data-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-grey,#e2e8f0);padding:12px;text-align:left}.data-table th{background:#f8fafc;background:var(--bg-grey,#f8fafc);font-size:13px;position:-webkit-sticky;position:sticky;top:0}.data-table td:last-child,.data-table th:last-child{border-right:none}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#eef2ff;background:var(--primary-blue-50,#eef2ff)}.th-content{display:flex;flex-direction:column;gap:6px}.th-label{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600;padding:4px 0}.th-type{background:#4f46e514;border-radius:6px;border-radius:var(--radius-sm,6px);color:#64748b;color:var(--text-grey,#64748b);display:inline-block;font-size:11px;font-weight:500;letter-spacing:.04em;padding:2px 6px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.th-input{font-size:14px;font-weight:600;padding:6px 8px}.th-input,.th-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:4px}.th-select{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;padding:4px 8px}.td-input{background:#0000;border:1px solid #0000;border-radius:4px;font-size:14px;padding:8px;transition:all .15s;transition:all var(--transition-fast,.15s);width:100%}.td-input:focus{background:#fff;border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);outline:none}.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;transition:opacity .15s;transition:opacity var(--transition-fast,.15s)}.btn-delete:hover{opacity:1}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-radius:8px;border-radius:var(--radius-md,8px);display:flex;justify-content:space-between;padding:16px}.activity-action{color:#0f172a;color:var(--text-dark,#0f172a);font-weight:500;margin-bottom:4px}.activity-dataset{color:#64748b;color:var(--text-grey,#64748b);font-size:13px}.activity-time{color:#94a3b8;color:var(--text-light,#94a3b8);font-size:13px}@keyframes deRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rotating{animation:deRotate 1s linear infinite}.data-entry-steps{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}.data-entry-steps .step{background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);display:flex;gap:10px;padding:10px 14px}.data-entry-steps .step-index{align-items:center;background:#4f46e5;background:var(--primary-blue,#4f46e5);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#fff;display:flex;font-size:13px;font-weight:600;height:26px;justify-content:center;width:26px}.data-entry-steps .step-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600}.data-entry-steps .step-subtitle{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;margin-top:2px}.data-entry-card{margin-top:4px}.data-entry-layout{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.data-entry-modes{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.mode-card{background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);display:flex;flex-direction:column;gap:10px;padding:14px 16px}.mode-header{align-items:flex-start;display:flex;gap:10px}.mode-icon{align-items:center;background:#4f46e51a;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#4f46e5;color:var(--primary-blue,#4f46e5);display:flex;height:32px;justify-content:center;width:32px}.mode-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600}.mode-subtitle{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;margin-top:2px}.data-entry-summary,.mode-actions{display:flex;flex-wrap:wrap;gap:8px}.data-entry-summary{align-items:center;background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);justify-content:space-between;padding:10px 14px}.summary-text{display:flex;flex-direction:column;gap:2px}.summary-label{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.summary-value{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600}.summary-meta{color:#64748b;color:var(--text-grey,#64748b);font-size:12px}@media (max-width:768px){.data-entry-steps{grid-template-columns:1fr}.data-entry-summary{align-items:flex-start}.data-entry-summary .btn{justify-content:center;width:100%}}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.spinner{animation:spin .8s linear infinite;border-top-color:#4f46e5;height:44px;margin-bottom:16px;width:44px}@keyframes spin{to{transform:rotate(1turn)}}.loading-message{animation:loadingPulse 1.5s ease-in-out infinite;color:#64748b;color:var(--text-grey,#64748b);font-size:14px;margin:0}@keyframes loadingPulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton-card{animation:skeletonShimmer 1.2s linear infinite alternate;background:#f8fafc;background:var(--bg-grey,#f8fafc);border-radius:12px;border-radius:var(--radius-lg,12px);display:flex;flex-direction:column;gap:12px;padding:16px}.skeleton-line{background:#e2e8f0;background:var(--border-grey,#e2e8f0);border-radius:6px;border-radius:var(--radius-sm,6px);height:12px}.skeleton-line:first-child{height:16px;width:60%}.skeleton-line:not(:first-child){width:100%}.skeleton-table{border-collapse:collapse;width:100%}.skeleton-header,.skeleton-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skeleton-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);padding:16px 0}.skeleton-row{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light,#f1f5f9);padding:12px 0}.skeleton-cell{animation:skeletonShimmer 1.5s ease-in-out infinite;background:#e2e8f0;background:var(--border-grey,#e2e8f0);border-radius:6px;border-radius:var(--radius-sm,6px);height:12px}@keyframes skeletonShimmer{0%{background-color:#e2e8f0}50%{background-color:#f1f5f9}to{background-color:#e2e8f0}}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:48px 24px}.empty-state-icon{color:#94a3b8;color:var(--text-light,#94a3b8);font-size:56px;margin-bottom:16px;opacity:.5}.empty-state-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:17px;font-weight:600;margin-bottom:8px}.empty-state-message{color:#64748b;color:var(--text-grey,#64748b);font-size:14px;line-height:1.5;margin-bottom:24px;max-width:380px}.empty-state-action{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.pagination-container{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);display:flex;flex-direction:column;gap:14px;margin-top:24px;padding-top:24px}.pagination-info{color:#64748b;color:var(--text-grey,#64748b);font-size:13px;text-align:center}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pagination-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);color:#334155;color:var(--text-medium,#334155);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s cubic-bezier(.4,0,.2,1)}.pagination-btn:hover:not(:disabled){background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-numbers{align-items:center;display:flex;gap:4px}.pagination-number{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);color:#334155;color:var(--text-medium,#334155);cursor:pointer;font-size:13px;font-weight:500;height:36px;min-width:36px;padding:0 10px;transition:all .15s cubic-bezier(.4,0,.2,1)}.pagination-number:hover{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.pagination-number.active,.pagination-number:hover{border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5)}.pagination-number.active{background:#4f46e5;background:var(--primary-blue,#4f46e5);box-shadow:0 2px 8px #4f46e540;color:#fff}.pagination-number.active:hover{background:#4338ca;background:var(--primary-blue-dark,#4338ca)}.pagination-ellipsis{align-items:center;color:#94a3b8;color:var(--text-light,#94a3b8);display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;min-width:36px}@media (max-width:600px){.pagination-controls{flex-direction:column;gap:12px}.pagination-btn{justify-content:center;width:100%}.pagination-numbers{order:-1}.pagination-number{font-size:12px;height:32px;min-width:32px}}.page-content{min-width:0;position:relative}.inventory-filters{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}@media (max-width:1400px){.inventory-filters{gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width:1200px){.inventory-filters{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.inventory-filters{grid-template-columns:1fr}}.inventory-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}@media (max-width:1200px){.inventory-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width:768px){.inventory-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.inventory-stats{grid-template-columns:1fr}}.inventory-table-wrapper{-webkit-overflow-scrolling:touch;box-sizing:border-box;margin:0;max-width:100%;overflow-x:auto;padding:0;width:100%}.inventory-table-wrapper table{min-width:1200px;width:100%}.page-content .card{box-sizing:border-box;max-width:100%;overflow-x:hidden;padding:20px;width:100%}@media (max-width:1200px){.page-content .card{padding:16px}}@media (max-width:768px){.inventory-table-wrapper{margin:0;padding:0}.page-content{padding:16px}}.inventory-modal{max-height:90vh;max-width:90vw;overflow-y:auto}@media (max-width:768px){.inventory-modal{max-width:95vw;padding:16px}.inventory-modal .form-group{grid-column:1/-1!important}}.status-badge{display:inline-block;padding:4px 12px;text-transform:capitalize}.status-finished{background-color:#ef44441f;border:1px solid #ef44444d;color:#ef4444}.status-urgent{background-color:#a855f71f;border:1px solid #a855f74d;color:#a855f7}.status-low-stock{background-color:#f59e0b1f;border:1px solid #f59e0b4d;color:#f59e0b}.status-gip{background-color:#10b9811f;border:1px solid #10b9814d;color:#10b981}.status-dead{background-color:#eab3081f;border:1px solid #eab3084d;color:#eab308}.form-group{margin-bottom:16px}.form-group label{color:#0f172a;color:var(--text-dark,#0f172a);display:block;font-size:14px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);font-family:inherit;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5)}.form-group small{color:#64748b;color:var(--text-grey,#64748b);display:block;font-size:12px;margin-top:4px}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#ef4444;box-shadow:0 0 0 2px #ef44441f}.field-error{color:#ef4444;font-size:12px;margin-top:4px}.card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--shadow-xs,0 1px 2px #0f172a0a);margin-bottom:22px;padding:22px}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table thead{background-color:#f8fafc;background-color:var(--bg-grey,#f8fafc)}.data-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-grey,#e2e8f0);color:#0f172a;color:var(--text-dark,#0f172a);font-size:12px;font-weight:600;letter-spacing:.04em;padding:12px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);color:#334155;color:var(--text-medium,#334155);padding:12px}.data-table tbody tr:hover{background-color:#eef2ff;background-color:var(--primary-blue-50,#eef2ff)}@media (max-width:768px){.hide-mobile{display:none!important}}@media (min-width:769px){.show-mobile{display:none!important}}.sales-page .page-content{box-sizing:border-box;max-width:100%;min-width:0;overflow-x:hidden;position:relative;width:100%}.sales-filters{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}@media (max-width:1400px){.sales-filters{gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width:1200px){.sales-filters{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.sales-filters{grid-template-columns:1fr}}.sales-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}@media (max-width:1200px){.sales-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width:768px){.sales-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.sales-stats{grid-template-columns:1fr}}.sales-table-wrapper{-webkit-overflow-scrolling:touch;box-sizing:border-box;margin:0;max-width:100%;overflow-x:auto;padding:0;width:100%}.sales-table-wrapper table{min-width:900px;width:100%}.sales-modal{max-height:90vh;max-width:90vw;overflow-y:auto}@media (max-width:768px){.sales-modal{max-width:95vw;padding:16px}}.sale-items-table{border-collapse:collapse;margin-top:12px;width:100%}.sale-items-table td,.sale-items-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);font-size:14px;padding:8px 10px;text-align:left}.sale-items-table th{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;font-weight:600;text-transform:uppercase}.sale-items-table input{border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:6px;font-size:14px;padding:8px 10px;width:100%}.sale-items-table input:focus{border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);box-shadow:0 0 0 3px #4f46e51a;outline:none}.payment-badge{border-radius:9999px;border-radius:var(--radius-full,9999px);display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.payment-cash{background-color:#10b9811f;border:1px solid #10b9814d;color:#10b981}.payment-card{background-color:#4f46e51f;border:1px solid #4f46e54d;color:#4f46e5}.payment-mobile_money{background-color:#f59e0b1f;border:1px solid #f59e0b4d;color:#f59e0b}.payment-bank_transfer{background-color:#3b82f61f;border:1px solid #3b82f64d;color:#3b82f6}.payment-credit{background-color:#a855f71f;border:1px solid #a855f74d;color:#a855f7}.payment-other{background-color:#6b72801f;border:1px solid #6b72804d;color:#6b7280}.sale-detail-items{border-collapse:collapse;margin-top:16px;width:100%}.sale-detail-items td,.sale-detail-items th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);font-size:14px;padding:10px 14px;text-align:left}.sale-detail-items th{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;font-weight:600;text-transform:uppercase}.sale-detail-items tfoot td,.sale-detail-items th{background:#f8fafc;background:var(--bg-light,#f8fafc)}.sale-detail-items tfoot td{font-weight:700}.report-body{color:#334155;color:var(--text-medium,#334155);font-size:15px;line-height:1.7;margin-top:8px}.report-body .report-section{border-bottom:1px dashed #e2e8f0;border-bottom:1px dashed var(--border-grey,#e2e8f0);margin-top:20px;padding-bottom:12px}.report-body .report-section:last-of-type{border-bottom:none}.report-body .report-section-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:17px;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.report-body .report-section-title span{border-bottom:2px solid #4f46e5;border-bottom:2px solid var(--primary-blue,#4f46e5);display:inline-block;padding-bottom:4px}.report-body p{margin:0 0 10px}.report-body ul{margin:4px 0 10px 18px;padding-left:0}.report-body li{margin-bottom:4px}.report-body blockquote{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-left:3px solid #4f46e5;border-left:3px solid var(--primary-blue,#4f46e5);border-radius:8px;border-radius:var(--radius-md,8px);color:#334155;color:var(--text-medium,#334155);font-style:italic;margin:10px 0;padding:10px 14px}.report-body .report-visuals-heading{color:#0f172a;color:var(--text-dark,#0f172a);font-size:17px;font-weight:600;margin-top:24px}.reports-list{display:flex;flex-direction:column;gap:14px}.report-item{align-items:center;background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);display:flex;justify-content:space-between;padding:18px 20px;transition:all .15s;transition:all var(--transition-fast,.15s)}.report-item:hover{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe)}.report-info{flex:1 1}.report-item-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;margin-bottom:4px}.report-item-meta{color:#64748b;color:var(--text-grey,#64748b);font-size:13px}.report-actions{align-items:center;display:flex;gap:10px}.status-completed{background:#10b981;background:var(--success-green,#10b981);color:#fff}.status-pending{background:#f59e0b;background:var(--warning-yellow,#f59e0b);color:#fff}.report-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}.report-meta{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);color:#64748b;color:var(--text-grey,#64748b);display:flex;font-size:14px;gap:8px;margin-bottom:28px;padding-bottom:18px}.report-content{line-height:1.7}.report-content h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:17px;font-weight:600;margin-bottom:10px;margin-top:24px}.report-content p{color:#334155;color:var(--text-medium,#334155);margin-bottom:14px}.report-content ul{margin-bottom:14px;margin-left:18px}.report-content li{color:#334155;color:var(--text-medium,#334155);margin-bottom:6px}.chart-placeholder{border-radius:12px;border-radius:var(--radius-lg,12px);color:#64748b;color:var(--text-grey,#64748b);font-size:16px;margin-top:28px;padding:56px;text-align:center}.report-item-unseen{background:#4f46e50a;border-left:4px solid #4f46e5;border-left:4px solid var(--primary-blue,#4f46e5)}.report-item-unseen .report-item-title:after{background:#4f46e5;background:var(--primary-blue,#4f46e5);border-radius:6px;border-radius:var(--radius-sm,6px);color:#fff;content:"NEW";display:inline-block;font-size:10px;font-weight:700;margin-left:8px;padding:2px 6px;vertical-align:middle}tr.row-unseen{background:#4f46e50a}tr.row-unseen td:first-child{border-left:3px solid #4f46e5;border-left:3px solid var(--primary-blue,#4f46e5)}.conversation-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.conversation-tabs{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);display:flex;padding:12px 12px 0}.conversation-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#64748b;color:var(--text-grey,#64748b);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:10px 16px;transition:all .15s;transition:all var(--transition-fast,.15s)}.conversation-tab.active,.conversation-tab:hover{color:#4f46e5;color:var(--primary-blue,#4f46e5)}.conversation-tab.active{border-bottom-color:#4f46e5;border-bottom-color:var(--primary-blue,#4f46e5)}.conversation-count{align-items:center;background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-radius:10px;color:#4f46e5;color:var(--primary-blue,#4f46e5);display:inline-flex;font-size:12px;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.conversation-tab.active .conversation-count{background:#4f46e5;background:var(--primary-blue,#4f46e5);color:#fff}.conversation-items{background:#f8fafc;background:var(--bg-grey,#f8fafc);flex:1 1;overflow-y:auto}.conversation-item{align-items:flex-start;background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);cursor:pointer;display:flex;padding:14px 16px;transition:background .15s;transition:background var(--transition-fast,.15s)}.conversation-item:hover{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9)}.conversation-item.active{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-left:3px solid #4f46e5;border-left:3px solid var(--primary-blue,#4f46e5)}.conversation-avatar{flex-shrink:0;margin-right:12px;position:relative}.avatar-circle{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);background:linear-gradient(135deg,var(--primary-blue,#4f46e5) 0,var(--primary-blue-light,#6366f1) 100%);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:600;height:48px;justify-content:center;text-transform:uppercase;width:48px}.user-status{background:#e2e8f0;background:var(--border-grey,#e2e8f0);border:2px solid #fff;border-radius:50%;bottom:2px;height:12px;position:absolute;right:2px;width:12px}.user-status.online{background:#10b981;background:var(--success-green,#10b981)}.user-status.offline{background:#e2e8f0;background:var(--border-grey,#e2e8f0)}.conversation-content{flex:1 1;min-width:0}.conversation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.conversation-name{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{color:#94a3b8;color:var(--text-light,#94a3b8);font-size:12px;margin-left:8px;white-space:nowrap}.conversation-preview{align-items:center;display:flex;gap:8px;justify-content:space-between}.conversation-message{color:#64748b;color:var(--text-grey,#64748b);font-size:13px;line-height:1.4}.conversation-email,.conversation-message{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-email{color:#94a3b8;color:var(--text-light,#94a3b8);font-size:12px}.unread-badge{align-items:center;background:#4f46e5;background:var(--primary-blue,#4f46e5);border-radius:10px;color:#fff;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;min-width:20px;padding:0 6px}.unread-badge,.user-role{font-size:11px;font-weight:600}.user-role{border-radius:6px;border-radius:var(--radius-sm,6px);letter-spacing:.03em;padding:2px 8px;text-transform:uppercase}.role-client{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.role-analyst{background:#d1fae5;color:#065f46}.role-admin{background:#fef3c7;color:#92400e}.conversation-empty{align-items:center;color:#94a3b8;color:var(--text-light,#94a3b8);display:flex;flex-direction:column;justify-content:center;padding:56px 20px;text-align:center}.conversation-empty p{font-size:15px;margin:0 0 16px}.start-chat-btn{background:#4f46e5;background:var(--primary-blue,#4f46e5);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .15s;transition:background var(--transition-fast,.15s)}.start-chat-btn:hover{background:#4338ca;background:var(--primary-blue-dark,#4338ca)}.conversation-items::-webkit-scrollbar{width:6px}.conversation-items::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-grey,#f8fafc)}.conversation-items::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-grey,#e2e8f0);border-radius:3px}.conversation-items::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--text-light,#94a3b8)}.message-input{background:#fff;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);padding:16px 24px}.message-input-wrapper{align-items:flex-end;background:#f8fafc;background:var(--bg-grey,#f8fafc);border:2px solid #e2e8f0;border:2px solid var(--border-grey,#e2e8f0);border-radius:24px;display:flex;gap:12px;padding:8px 8px 8px 16px;transition:border-color .15s,background .15s;transition:border-color var(--transition-fast,.15s),background var(--transition-fast,.15s)}.message-input-wrapper:focus-within{background:#fff;border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5)}.message-textarea{background:#0000;border:none;color:#0f172a;color:var(--text-dark,#0f172a);flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;max-height:120px;min-height:24px;outline:none;padding:8px 0;resize:none}.message-textarea::placeholder{color:#94a3b8;color:var(--text-light,#94a3b8)}.message-textarea:disabled{cursor:not-allowed;opacity:.6}.send-button{align-items:center;background:#4f46e5;background:var(--primary-blue,#4f46e5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .15s;transition:all var(--transition-fast,.15s);width:40px}.send-button:hover:not(:disabled){background:#4338ca;background:var(--primary-blue-dark,#4338ca);transform:scale(1.05)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{background:#e2e8f0;background:var(--border-grey,#e2e8f0);cursor:not-allowed;transform:none}.send-icon{stroke-width:2;height:20px;width:20px}.sending-spinner{animation:miSpin 1s linear infinite;font-size:16px}@keyframes miSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.message-input-hint{color:#94a3b8;color:var(--text-light,#94a3b8);font-size:12px;margin-top:8px;text-align:center}.message-input-hint kbd{background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:6px;border-radius:var(--radius-sm,6px);box-shadow:var(--shadow-xs);color:#64748b;color:var(--text-grey,#64748b);font-family:monospace;font-size:11px;padding:2px 6px}@media (max-width:768px){.message-input{padding:12px 16px}.message-input-hint{display:none}}.chat-window{background:#fff;display:flex;flex-direction:column;height:100%}.chat-window-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);display:flex;justify-content:space-between;min-height:72px;padding:16px 24px}.chat-user-info{align-items:center;display:flex;gap:12px}.chat-user-avatar{position:relative}.chat-user-avatar .avatar-circle{font-size:16px;height:44px;width:44px}.user-status-indicator{border:2px solid #fff;border-radius:50%;bottom:0;height:12px;position:absolute;right:0;width:12px}.user-status-indicator.online{background:#10b981;background:var(--success-green,#10b981)}.user-status-indicator.offline{background:#e2e8f0;background:var(--border-grey,#e2e8f0)}.chat-user-details h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;margin:0}.user-status-text{color:#94a3b8;color:var(--text-light,#94a3b8);font-size:13px}.user-status-text.online{color:#10b981;color:var(--success-green,#10b981)}.chat-actions{align-items:center;display:flex;gap:12px}.ws-indicator{border-radius:50%;font-size:8px;height:8px;transition:all .3s;width:8px}.ws-indicator.connected{color:#10b981;color:var(--success-green,#10b981)}.ws-indicator.disconnected{color:#e2e8f0;color:var(--border-grey,#e2e8f0)}.chat-messages{background:#f8fafc;background:var(--bg-grey,#f8fafc);flex:1 1;overflow-y:auto;padding:20px 24px}.chat-empty,.chat-error,.chat-loading{align-items:center;color:#94a3b8;color:var(--text-light,#94a3b8);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.chat-error button{background:#4f46e5;background:var(--primary-blue,#4f46e5);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:8px 20px}.message-date-divider{align-items:center;display:flex;justify-content:center;margin:24px 0 16px}.message-date-divider span{background:#fff;border-radius:9999px;border-radius:var(--radius-full,9999px);box-shadow:var(--shadow-xs);color:#64748b;color:var(--text-grey,#64748b);font-size:12px;font-weight:500;padding:4px 12px}.message{animation:cwFadeIn .2s ease-in;display:flex;margin-bottom:12px}@keyframes cwFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-sent{justify-content:flex-end}.message-received{justify-content:flex-start}.message-bubble{word-wrap:break-word;border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);max-width:65%;min-width:100px;padding:10px 14px}.message-sent .message-bubble{background:#4f46e5;background:var(--primary-blue,#4f46e5);border-bottom-right-radius:4px;color:#fff}.message-received .message-bubble{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-bottom-left-radius:4px;color:#0f172a;color:var(--text-dark,#0f172a)}.message-content{font-size:15px;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.message-meta{align-items:center;display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.message-time{font-size:11px;opacity:.7}.message-sent .message-time{color:#fff}.message-received .message-time{color:#64748b;color:var(--text-grey,#64748b)}.message-status{font-size:11px;font-weight:600}.message-status.sent{color:#ffffffb3}.message-status.read{color:#10b981;color:var(--success-green,#10b981)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-grey,#f8fafc)}.chat-messages::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-grey,#e2e8f0);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--text-light,#94a3b8)}@media (max-width:768px){.chat-window-header{min-height:64px;padding:12px 16px}.chat-messages{padding:16px}.message-bubble{max-width:80%}}.chat-layout{background:#fff;box-shadow:var(--shadow-lg);display:flex;height:100vh;margin:0 auto;max-width:1600px}.chat-sidebar{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-grey,#e2e8f0);display:flex;flex-direction:column;max-width:420px;min-width:320px;width:360px}.chat-sidebar-header{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);padding:20px}.chat-sidebar-header h2{color:#0f172a;color:var(--text-dark,#0f172a);font-size:20px;font-weight:600;margin:0}.chat-sidebar-error,.chat-sidebar-loading{align-items:center;color:#64748b;color:var(--text-grey,#64748b);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.chat-sidebar-error button{background:#4f46e5;background:var(--primary-blue,#4f46e5);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:8px 20px;transition:background .15s;transition:background var(--transition-fast,.15s)}.chat-sidebar-error button:hover{background:#4338ca;background:var(--primary-blue-dark,#4338ca)}.chat-main{background:#fff;display:flex;flex:1 1;flex-direction:column;position:relative}.chat-placeholder{align-items:center;background:#f8fafc;background:var(--bg-grey,#f8fafc);display:flex;height:100%;justify-content:center}.chat-placeholder-content{max-width:400px;padding:40px;text-align:center}.chat-placeholder-icon{stroke-width:1.5;color:#94a3b8;color:var(--text-light,#94a3b8);height:80px;margin:0 auto 24px;width:80px}.chat-placeholder-content h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:18px;font-weight:600;margin:0 0 12px}.chat-placeholder-content p{color:#64748b;color:var(--text-grey,#64748b);font-size:15px;line-height:1.5;margin:0}@media (max-width:968px){.chat-sidebar{min-width:280px;width:300px}}@media (max-width:768px){.chat-layout{flex-direction:column}.chat-sidebar{height:50vh;max-width:100%;width:100%}.chat-main{height:50vh}}.portal-layout{display:flex;min-height:100vh}.portal-main{background:var(--bg-grey);flex:1 1;margin-left:var(--sidebar-width);max-width:calc(100% - var(--sidebar-width));min-height:100vh;min-width:0;overflow-x:hidden;position:relative;width:calc(100% - var(--sidebar-width))}.page-content{box-sizing:border-box;max-width:100%;overflow-x:hidden;padding:28px;width:100%}@media (max-width:1400px){.page-content{padding:24px}}@media (max-width:1200px){.page-content{padding:20px}}@media (max-width:768px){.portal-main{margin-left:0;max-width:100%;width:100%}.page-content{padding:72px 16px 16px}}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:28px}.stat-card{background:var(--bg-white);border:1px solid var(--border-grey);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden;padding:22px 24px;position:relative;transition:all var(--transition-fast)}.stat-card:before{background:linear-gradient(90deg,var(--primary-blue-light),var(--primary-blue));content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-fast)}.stat-card:hover{border-color:var(--primary-blue-200);box-shadow:var(--shadow-md)}.stat-card:hover:before{opacity:1}.stat-label{color:var(--text-grey);font-size:13px;letter-spacing:.04em;margin-bottom:8px}.stat-value{color:var(--text-dark);font-size:30px;letter-spacing:-.02em}.stat-change{color:var(--success-green);font-size:13px;font-weight:500}.card{background:var(--bg-white);border:1px solid var(--border-grey);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:24px;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{align-items:center;gap:16px;margin-bottom:20px}.card-title{color:var(--text-dark);font-size:16px;letter-spacing:-.01em}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;letter-spacing:-.005em;line-height:1.4;padding:9px 18px;transition:all var(--transition-fast)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary-blue);box-shadow:0 1px 3px #4f46e533;color:#fff}.btn-primary:hover{background:var(--primary-blue-dark);box-shadow:0 4px 12px #4f46e54d}.btn-secondary{background:var(--bg-white);border:1px solid var(--border-grey);color:var(--text-medium)}.btn-secondary:hover{background:var(--bg-subtle);border-color:#cbd5e1;color:var(--text-dark)}.btn-success{background:var(--success-green);box-shadow:0 1px 3px #10b98133;color:#fff}.btn-success:hover{background:#059669;box-shadow:0 4px 12px #10b9814d}.btn-danger{background:var(--danger-red);box-shadow:0 1px 3px #ef444433;color:#fff}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.btn-ghost{background:#0000;border:none;color:var(--text-grey)}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-dark)}.btn-sm{border-radius:var(--radius-sm);font-size:13px;padding:5px 12px}.btn-lg{border-radius:var(--radius-md);font-size:15px;padding:12px 24px}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.5;pointer-events:none}.table-container{border:1px solid var(--border-grey);border-radius:var(--radius-lg);overflow-x:auto}table{border-collapse:collapse;font-size:14px;width:100%}thead th{background:var(--bg-subtle);border-bottom:1px solid var(--border-grey);color:var(--text-grey);font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}tbody td{border-bottom:1px solid var(--border-light);color:var(--text-medium);padding:12px 16px}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--primary-blue-50)}tbody tr:last-child td{border-bottom:none}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:var(--text-medium);font-size:13px;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:var(--bg-white);border:1px solid var(--border-grey);border-radius:var(--radius-md);color:var(--text-dark);font-size:14px;padding:10px 14px;transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.status-badge{border-radius:var(--radius-full);letter-spacing:.02em;padding:4px 10px}.status-badge-sm{font-size:11px;padding:2px 8px}.badge-draft{background:var(--bg-subtle);color:var(--text-grey)}.badge-pending{background:var(--warning-yellow-light)}.badge-running{background:var(--info-blue-light);color:#1e40af}.badge-completed{background:var(--success-green-light)}.badge-failed{background:var(--danger-red-light)}.base-card{background:#fff;background:var(--bg-white,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--shadow-xs,0 1px 2px #0f172a0a);padding:20px 22px;transition:box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.base-card:hover{box-shadow:0 1px 3px #0f172a0f;box-shadow:var(--shadow-sm,0 1px 3px #0f172a0f)}.base-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.base-card-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}.base-card-subtitle{color:#64748b;color:var(--text-grey,#64748b);font-size:13px;margin:3px 0 0}.base-card-body{color:#334155;color:var(--text-medium,#334155);font-size:14px;line-height:1.6}.base-card-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:12px}@media (max-width:768px){.base-card{padding:16px}.base-card-title{font-size:14px}}.metric-card{background:#fff;background:var(--bg-white,#fff);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--shadow-xs,0 1px 2px #0f172a0a);display:flex;flex-direction:column;gap:12px;padding:20px 22px;transition:all .15s cubic-bezier(.4,0,.2,1)}.metric-card:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);box-shadow:0 4px 6px -1px #0f172a0f;box-shadow:var(--shadow-md,0 4px 6px -1px #0f172a0f)}.metric-card-top{gap:12px;justify-content:space-between}.metric-card-top,.metric-icon{align-items:center;display:flex}.metric-icon{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-radius:8px;border-radius:var(--radius-md,8px);color:#4f46e5;color:var(--primary-blue,#4f46e5);font-size:22px;height:40px;justify-content:center;width:40px}.metric-label{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.metric-value-row{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.metric-value{color:#0f172a;color:var(--text-dark,#0f172a);font-size:28px;letter-spacing:-.02em}.metric-trend{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:3px 10px}.metric-trend-up{background:#d1fae5;color:#065f46}.metric-trend-down{background:#fee2e2;color:#991b1b}.metric-trend-neutral{background:#f1f5f9;color:#374151}.metric-trend-arrow{font-size:11px}.metric-trend-value{font-weight:600}.metric-primary{border-left:3px solid #4f46e5;border-left:3px solid var(--primary-blue,#4f46e5)}.metric-success{border-left:3px solid #10b981;border-left:3px solid var(--success-green,#10b981)}.metric-warning{border-left:3px solid #f59e0b;border-left:3px solid var(--warning-yellow,#f59e0b)}.metric-danger{border-left:3px solid #ef4444;border-left:3px solid var(--danger-red,#ef4444)}.metric-lg .metric-value{font-size:34px}@media (max-width:768px){.metric-card{padding:16px 18px}.metric-value{font-size:24px}}.model-card{background:#fff;background:var(--bg-white,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--shadow-xs,0 1px 2px #0f172a0a);overflow:hidden;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1)}.model-card:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);box-shadow:var(--shadow-md)}.model-card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);display:flex;gap:12px;justify-content:space-between;padding:18px 20px 14px}.model-card-title-section{align-items:center;display:flex;flex:1 1;gap:12px}.model-card-icon{align-items:center;background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-radius:8px;border-radius:var(--radius-md,8px);color:#4f46e5;color:var(--primary-blue,#4f46e5);display:flex;font-size:18px;height:38px;justify-content:center;width:38px}.model-card-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;margin:0}.model-card-category{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:500;letter-spacing:.06em;margin:3px 0 0;text-transform:uppercase}.model-card-body{display:flex;flex-direction:column;gap:8px;padding:14px 20px 12px}.model-card-row{display:flex;font-size:13px;justify-content:space-between}.model-card-row .label{color:#64748b;color:var(--text-grey,#64748b);font-weight:500}.model-card-row .value{color:#0f172a;color:var(--text-dark,#0f172a);font-weight:600;margin-left:8px;text-align:right}.model-card-footer{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);display:flex;gap:8px;padding:10px 16px 14px}.model-card-footer .btn{flex:1 1;font-size:12px}@media (max-width:768px){.model-card-header{padding:16px}.model-card-body{padding:12px 16px}.model-card-footer{flex-direction:column}}.analysis-dashboard{background:#f8fafc;background:var(--bg-grey,#f8fafc);min-height:100vh;padding:32px}.dashboard-header{background:linear-gradient(135deg,#312e81,#4f46e5);background:linear-gradient(135deg,#312e81 0,var(--primary-blue,#4f46e5) 100%);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:0 8px 32px #4f46e533;color:#fff;margin-bottom:28px;overflow:hidden;padding:36px 40px;position:relative}.dashboard-header:after{background:radial-gradient(circle,#ffffff14,#0000 70%);border-radius:50%;content:"";height:350px;pointer-events:none;position:absolute;right:-15%;top:-50%;width:350px}.header-content{align-items:center;display:flex;gap:20px;justify-content:space-between;position:relative;z-index:1}.dashboard-header h1{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0}.dashboard-header .subtitle{font-size:14px;margin:6px 0 0;opacity:.8}.stats-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-left:3px solid;border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--shadow-xs,0 1px 2px #0f172a0a);display:flex;gap:16px;padding:22px;transition:all .2s ease;transition:all var(--transition-base,.2s) ease}.stat-card:hover{box-shadow:0 4px 6px -1px #0f172a0f;box-shadow:var(--shadow-md,0 4px 6px -1px #0f172a0f);transform:translateY(-2px)}.stat-card.total{border-left-color:#4f46e5;border-left-color:var(--primary-blue,#4f46e5)}.stat-card.completed{border-left-color:#10b981;border-left-color:var(--success-green,#10b981)}.stat-card.running{border-left-color:#f59e0b;border-left-color:var(--warning-yellow,#f59e0b)}.stat-card.draft{border-left-color:#64748b;border-left-color:var(--text-grey,#64748b)}.stat-card.failed{border-left-color:#ef4444;border-left-color:var(--danger-red,#ef4444)}.stat-icon{font-size:28px;min-width:44px}.stat-content{flex:1 1}.stat-value{color:#0f172a;color:var(--text-dark,#0f172a);font-size:26px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.filters-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);margin-bottom:28px;padding:22px}.filters-section h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;margin:0 0 14px}.filters-grid{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-input,.filter-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);color:#0f172a;color:var(--text-dark,#0f172a);font-family:inherit;font-size:14px;padding:9px 14px;transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.filter-input:focus,.filter-select:focus{border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);box-shadow:0 0 0 3px #4f46e51a;outline:none}.analyses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.analysis-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .2s ease;transition:all var(--transition-base,.2s) ease}.analysis-card:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);display:flex;gap:12px;justify-content:space-between;padding:18px 20px}.card-title-section{align-items:center;display:flex;flex:1 1;gap:12px}.model-icon{font-size:28px;min-width:36px}.card-title{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;line-height:1.3;margin:0}.card-category{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;letter-spacing:.05em;margin:3px 0 0;text-transform:uppercase}.status-badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:5px 12px;white-space:nowrap}.badge-draft{background:#f1f5f9;color:#475569}.badge-pending{background:#fef3c7;color:#92400e}.badge-running{animation:adPulse 2s infinite;background:#eef2ff;background:var(--primary-blue-50,#eef2ff);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.badge-completed{background:#d1fae5;color:#065f46}.badge-failed{background:#fee2e2;color:#991b1b}@keyframes adPulse{0%,to{opacity:1}50%{opacity:.65}}.card-body{flex:1 1;padding:18px 20px}.info-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-bottom:10px}.info-row:last-child{margin-bottom:0}.info-row .label{color:#64748b;color:var(--text-grey,#64748b);font-weight:500}.info-row .value{color:#0f172a;color:var(--text-dark,#0f172a);flex:1 1;font-weight:600;margin-left:8px;text-align:right}.progress-bar{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);height:4px;margin-top:12px;overflow:hidden}.progress-bar,.progress-fill{border-radius:9999px;border-radius:var(--radius-full,9999px)}.progress-fill{animation:adProgress 2s infinite;background:linear-gradient(90deg,#4f46e5,#10b981);background:linear-gradient(90deg,var(--primary-blue,#4f46e5),var(--success-green,#10b981));height:100%}@keyframes adProgress{0%{width:0}50%{width:70%}to{width:100%}}.card-footer{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);display:flex;gap:8px;padding:14px 20px}.card-footer .btn{flex:1 1;font-size:12px;text-align:center}.alert{animation:adSlideDown .3s ease-out;margin-bottom:20px}@keyframes adSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.table-row-clickable:hover{background-color:#eef2ff;background-color:var(--primary-blue-50,#eef2ff)}.dataset-name{color:#4f46e5;color:var(--primary-blue,#4f46e5);font-weight:500}.loading{font-size:16px;padding:40px}.empty-state,.loading{color:#64748b;color:var(--text-grey,#64748b);text-align:center}.empty-state{background:#fff;border:2px dashed #e2e8f0;border:2px dashed var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);padding:56px 20px}.empty-icon{display:block;font-size:56px;margin-bottom:14px;opacity:.6}.empty-state h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:18px;font-weight:600;margin:0 0 10px}.empty-state p{color:#64748b;color:var(--text-grey,#64748b);font-size:14px;margin:0 0 20px}@media (max-width:768px){.analysis-dashboard{padding:16px}.dashboard-header{padding:24px}.header-content{align-items:flex-start;flex-direction:column}.dashboard-header h1{font-size:22px}.stats-section{grid-template-columns:repeat(2,1fr)}.analyses-grid,.filters-grid{grid-template-columns:1fr}.card-footer{flex-direction:column}.card-footer .btn{width:100%}}.analysis-wizard{background:#f8fafc;background:var(--bg-grey,#f8fafc);margin:0 auto;max-width:900px;min-height:100vh;padding:32px 16px}.wizard-header{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-sm);margin-bottom:36px;padding:28px 32px}.wizard-header h1{color:#0f172a;color:var(--text-dark,#0f172a);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 28px}.step-indicator{display:flex;gap:16px;justify-content:space-between;position:relative}.step-indicator:before{background:#e2e8f0;background:var(--border-grey,#e2e8f0);content:"";height:2px;left:0;position:absolute;right:0;top:20px;z-index:0}.step{flex:1 1;flex-direction:column;gap:8px;position:relative;z-index:1}.step,.step-number{align-items:center;display:flex}.step-number{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border:2px solid #e2e8f0;border:2px solid var(--border-grey,#e2e8f0);border-radius:50%;color:#64748b;color:var(--text-grey,#64748b);font-size:15px;font-weight:700;height:42px;justify-content:center;transition:all .3s ease;width:42px}.step.active .step-number{background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary-blue,#4f46e5) 0,var(--primary-blue-dark,#4338ca) 100%);border-color:#0000;box-shadow:0 4px 12px #4f46e559;color:#fff;transform:scale(1.08)}.step.completed .step-number{background:#10b981;background:var(--success-green,#10b981);border-color:#10b981;border-color:var(--success-green,#10b981);box-shadow:0 2px 6px #10b9814d;color:#fff}.step-label{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:600;letter-spacing:.05em;text-align:center;text-transform:uppercase}.step.active .step-label{color:#4f46e5;color:var(--primary-blue,#4f46e5)}.wizard-content{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-sm);margin-bottom:28px;min-height:400px;padding:36px}.wizard-step h2{color:#0f172a;color:var(--text-dark,#0f172a);font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}.step-description{color:#64748b;color:var(--text-grey,#64748b);font-size:14px;margin:0 0 28px}.dataset-selection{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.dataset-card{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);cursor:pointer;padding:18px;transition:all .2s ease}.dataset-card:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);box-shadow:0 6px 16px #4f46e51a;transform:translateY(-2px)}.dataset-card.selected{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);box-shadow:0 6px 16px #4f46e526}.dataset-card h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:600;margin:0 0 6px}.dataset-info{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;margin:0 0 14px}.columns-preview{display:flex;flex-direction:column;gap:8px}.column-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border-radius:6px;border-radius:var(--radius-sm,6px);color:#334155;color:var(--text-medium,#334155);display:inline-block;font-size:11px;padding:3px 8px;white-space:nowrap}.model-categories{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.category-card{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);cursor:pointer;padding:18px;text-align:center;transition:all .2s ease}.category-card:hover{border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe);box-shadow:0 4px 12px #4f46e51a;transform:translateY(-2px)}.category-card.selected{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);box-shadow:0 4px 12px #4f46e526}.category-card h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600;margin:0 0 4px}.category-card p{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;margin:0}.model-selection{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);padding-top:18px}.model-selection h3{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600;margin-bottom:12px}.models-list{display:flex;flex-direction:column;gap:10px}.model-option{align-items:flex-start;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;padding:12px;transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.model-option:hover{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe)}.model-option.selected{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5)}.option-radio{align-items:center;display:flex;margin-right:12px;margin-top:2px}.option-radio input[type=radio]{accent-color:#4f46e5;accent-color:var(--primary-blue,#4f46e5);cursor:pointer;height:16px;width:16px}.option-content{flex:1 1}.option-content strong{color:#0f172a;color:var(--text-dark,#0f172a);display:block;font-size:14px;margin-bottom:3px}.option-content p{color:#64748b;color:var(--text-grey,#64748b);font-size:12px;margin:0}.config-group{margin-bottom:22px}.config-group label{display:block;font-weight:600;margin-bottom:6px}.config-group label,.config-input,.config-select{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px}.config-input,.config-select{border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);padding:10px 12px;width:100%}.config-input:focus,.config-select:focus{border-color:#4f46e5;border-color:var(--primary-blue,#4f46e5);box-shadow:0 0 0 3px #4f46e51a;outline:none}.features-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.feature-checkbox{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;gap:8px;padding:10px;transition:all .15s ease;transition:all var(--transition-fast,.15s) ease}.feature-checkbox:hover{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-color:#c7d2fe;border-color:var(--primary-blue-200,#c7d2fe)}.feature-checkbox input[type=checkbox]{accent-color:#4f46e5;accent-color:var(--primary-blue,#4f46e5);cursor:pointer;height:16px;width:16px}.feature-checkbox span{color:#0f172a;color:var(--text-dark,#0f172a);font-size:13px}.review-summary{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-radius:8px;border-radius:var(--radius-md,8px);padding:18px}.review-item{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-grey,#e2e8f0);display:flex;justify-content:space-between;padding:10px 0}.review-item:last-child{border-bottom:none}.review-item label{color:#0f172a;color:var(--text-dark,#0f172a);font-weight:600}.review-item span{color:#4f46e5;color:var(--primary-blue,#4f46e5);font-weight:500}.wizard-footer{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-sm);display:flex;gap:10px;justify-content:flex-end;padding:20px 32px}.alert{margin-bottom:18px;padding:14px}.alert-error{border-left:3px solid #ef4444;border-left:3px solid var(--danger-red,#ef4444)}@media (max-width:768px){.analysis-wizard{padding:16px}.wizard-header{padding:20px}.wizard-header h1{font-size:22px}.wizard-content{padding:20px}.step-indicator{gap:8px}.step-label{font-size:10px}.dataset-selection,.features-list,.model-categories{grid-template-columns:1fr}.wizard-footer{flex-direction:column-reverse;padding:16px 20px}}.analysis-result-view{background:#f8fafc;background:var(--bg-grey,#f8fafc);min-height:100vh;padding:32px}.error-container,.loading-container{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-sm);padding:56px 20px;text-align:center}.spinner{border:3px solid #e2e8f0;border-top:3px solid #4f46e5;border:3px solid var(--border-grey,#e2e8f0);border-radius:50%;border-top-color:var(--primary-blue,#4f46e5);height:40px;margin:0 auto 16px;width:40px}.spinner,.spinner-mini{animation:arvSpin .8s linear infinite}.spinner-mini{border:2px solid #e2e8f0;border-top:2px solid #4f46e5;border:2px solid var(--border-grey,#e2e8f0);border-radius:50%;border-top-color:var(--primary-blue,#4f46e5);display:inline-block;height:20px;margin-right:8px;width:20px}@keyframes arvSpin{to{transform:rotate(1turn)}}.result-header{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:var(--shadow-sm);margin-bottom:28px;padding:24px}.header-top{align-items:center;display:flex;gap:16px;margin-bottom:18px}.btn-back{background:none;border:none;color:#4f46e5;color:var(--primary-blue,#4f46e5);cursor:pointer;font-size:14px;font-weight:600;padding:0}.btn-back:hover{text-decoration:underline}.result-header h1{color:#0f172a;color:var(--text-dark,#0f172a);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.header-meta{grid-gap:14px;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-grey,#e2e8f0);display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-top:16px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .label{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.meta-item .value{color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600}.meta-item .value.status{font-size:15px;font-weight:700}.result-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.result-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);padding:22px}.result-section h3{border-bottom:2px solid #4f46e5;border-bottom:2px solid var(--primary-blue,#4f46e5);color:#0f172a;color:var(--text-dark,#0f172a);font-size:15px;font-weight:700;margin:0 0 14px;padding-bottom:10px}.config-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.config-item{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-left:3px solid #4f46e5;border-left:3px solid var(--primary-blue,#4f46e5);border-radius:8px;border-radius:var(--radius-md,8px);padding:12px}.config-label{color:#64748b;color:var(--text-grey,#64748b);display:block;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:3px;text-transform:uppercase}.config-value{color:#0f172a;color:var(--text-dark,#0f172a);display:block;font-family:Courier New,monospace;font-size:13px;line-height:1.4;word-break:break-all}.config-display{display:flex;flex-direction:column;gap:14px}.config-item label{color:#64748b;color:var(--text-grey,#64748b);font-size:13px;font-weight:600}.config-item .value{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-radius:6px;border-radius:var(--radius-sm,6px);color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;padding:8px 12px;width:-webkit-fit-content;width:fit-content}.feature-list{display:flex;flex-wrap:wrap;gap:6px}.feature-tag{background:#4f46e5;background:var(--primary-blue,#4f46e5);border-radius:6px;border-radius:var(--radius-sm,6px);color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:5px 10px}.timeline{padding:8px 0;position:relative}.timeline:before{background:linear-gradient(180deg,#4f46e5,#0000);background:linear-gradient(to bottom,var(--primary-blue,#4f46e5),#0000);bottom:0;content:"";left:7px;position:absolute;top:0;width:2px}.timeline-item{display:flex;gap:16px;margin-bottom:14px;padding-left:32px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-icon{font-size:16px;left:0;position:absolute}.timeline-content{display:flex;flex-direction:column;gap:3px}.timeline-label{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.timeline-time{color:#0f172a;color:var(--text-dark,#0f172a);font-size:13px;font-weight:500}.results-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.result-item{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-left:3px solid #10b981;border-left:3px solid var(--success-green,#10b981);border-radius:8px;border-radius:var(--radius-md,8px);padding:12px}.result-label{color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.result-value{color:#0f172a;color:var(--text-dark,#0f172a);font-family:Courier New,monospace;font-size:14px;font-weight:600;word-break:break-all}.metrics-placeholder{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:22px}.metric-card{background:#f8fafc;background:var(--bg-grey,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);padding:16px;text-align:center}.metric-card h3{border-bottom:none;color:#64748b;color:var(--text-grey,#64748b);font-size:11px;font-weight:600;margin:0 0 6px;text-transform:uppercase}.metric-value{color:#4f46e5;color:var(--primary-blue,#4f46e5);font-size:22px;font-weight:700;margin:0 0 3px}.metric-card small{color:#64748b;color:var(--text-grey,#64748b);font-size:11px}.charts-section{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:22px}.chart-placeholder{background:#f8fafc;background:var(--bg-grey,#f8fafc);border:2px dashed #e2e8f0;border:2px dashed var(--border-grey,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);padding:18px}.chart-placeholder h3{border-bottom:none;color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600;margin:0 0 10px}.placeholder-content{align-items:center;color:#64748b;color:var(--text-grey,#64748b);display:flex;font-size:13px;height:200px;justify-content:center;padding:16px;text-align:center}.summary-section{background:#f8fafc;background:var(--bg-grey,#f8fafc);border-radius:8px;border-radius:var(--radius-md,8px);padding:16px}.summary-section h3{border-bottom:none;color:#0f172a;color:var(--text-dark,#0f172a);font-size:14px;font-weight:600;margin:0 0 10px}.placeholder-text p{color:#64748b;color:var(--text-grey,#64748b);font-size:13px;line-height:1.6;margin:0}.error-section{border-left:3px solid #ef4444;border-left:3px solid var(--danger-red,#ef4444)}.error-message{background:#fee2e2;border-radius:8px;border-radius:var(--radius-md,8px);color:#991b1b;font-family:Courier New,monospace;font-size:13px;line-height:1.6;margin:0;padding:14px}.running-section{border-left:3px solid #f59e0b;border-left:3px solid var(--warning-yellow,#f59e0b)}.running-message{align-items:center;background:#fef3c7;border-radius:8px;border-radius:var(--radius-md,8px);color:#92400e;display:flex;font-weight:500;gap:12px;margin-bottom:14px;padding:14px}.status-draft{background:#f1f5f9;color:#475569}.status-pending{background:#fef3c7;color:#92400e}.status-running{background:#eef2ff;background:var(--primary-blue-50,#eef2ff);color:#4f46e5;color:var(--primary-blue,#4f46e5)}.status-completed{background:#d1fae5;color:#065f46}.status-failed{background:#fee2e2;color:#991b1b}.draft-message,.pending-message{color:#64748b;color:var(--text-grey,#64748b);font-size:14px;margin:0}.error-box{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;border-radius:var(--radius-md,8px);color:#991b1b;font-size:14px;padding:14px}.loading-spinner{animation:arvSpin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#4f46e5;border:3px solid var(--border-grey,#e2e8f0);border-radius:50%;border-top-color:var(--primary-blue,#4f46e5);height:40px;margin:20px auto;width:40px}.actions-section{background:#f8fafc;background:var(--bg-grey,#f8fafc);grid-column:1/-1}.actions-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-buttons{display:flex;flex-direction:column;gap:10px}.alert{border-radius:8px;border-radius:var(--radius-md,8px);font-size:14px;margin-bottom:16px;padding:14px 18px}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.error-page,.loading-page{margin:0 auto;max-width:900px;padding:40px;text-align:center}.loading-page{color:#64748b;color:var(--text-grey,#64748b);font-size:16px}.error-page .alert{margin-bottom:20px}@media (max-width:768px){.analysis-result-view,.result-header{padding:16px}.header-top{flex-wrap:wrap}.actions-grid,.charts-section,.config-grid,.header-meta,.result-content,.results-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}}
/*# sourceMappingURL=main.ff7d4108.css.map*/