@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=Source+Serif+4:ital,wght@0,400;0,600;1,400&display=swap";:root{--teal-900: #134E4A;--teal-800: #115E59;--teal-700: #0F766E;--teal-600: #0D9488;--teal-500: #14B8A6;--teal-400: #2DD4BF;--teal-300: #5EEAD4;--teal-200: #99F6E4;--teal-100: #CCFBF1;--teal-50: #F0FDFA;--sky-600: #0284C7;--sky-500: #0EA5E9;--sky-400: #38BDF8;--sky-100: #E0F2FE;--coral-600: #EA580C;--coral-500: #F97316;--coral-400: #FB923C;--dark-900: #0C1222;--dark-800: #111827;--dark-700: #1E293B;--dark-600: #334155;--dark-500: #475569;--dark-400: #64748B;--dark-300: #94A3B8;--dark-200: #CBD5E1;--dark-100: #E2E8F0;--dark-50: #F1F5F9;--white: #FFFFFF;--off-white: #F8FAFB;--bg: #F4F7F9;--success: #10B981;--success-light: rgba(16, 185, 129, .1);--warning: #F59E0B;--warning-light: rgba(245, 158, 11, .1);--danger: #EF4444;--danger-light: rgba(239, 68, 68, .1);--teal: var(--teal-700);--deep: var(--teal-900);--teal-mid: var(--teal-600);--teal-light: var(--teal-50);--teal-glow: var(--teal-500);--sage: var(--success);--sage-light: var(--success-light);--gold: var(--coral-500);--gold-light: rgba(249, 115, 22, .08);--warm-white: var(--off-white);--cream: var(--dark-50);--sand: var(--dark-100);--text: var(--dark-800);--text-secondary: var(--dark-500);--text-light: var(--dark-400);--red: var(--danger);--red-light: var(--danger-light);--sage-text: #059669;--gold-text: #D97706;--font-display: "Outfit", sans-serif;--font-body: "DM Sans", sans-serif;--font-serif: "Source Serif 4", serif;--mono: ui-monospace, Consolas, monospace;--radius: 14px;--radius-sm: 8px;--radius-lg: 22px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(15, 118, 110, .06);--shadow-md: 0 4px 16px rgba(15, 118, 110, .08);--shadow-lg: 0 12px 40px rgba(15, 118, 110, .12);--shadow-xl: 0 24px 60px rgba(15, 118, 110, .16);--shadow-glow: 0 0 40px rgba(14, 165, 233, .15);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--teal-900: #CCFBF1;--teal-800: #99F6E4;--teal-700: #5EEAD4;--teal-600: #2DD4BF;--teal-500: #14B8A6;--teal-400: #0D9488;--teal-300: #0F766E;--teal-200: #115E59;--teal-100: rgba(20, 184, 166, .12);--teal-50: rgba(20, 184, 166, .06);--sky-600: #7DD3FC;--sky-500: #38BDF8;--sky-400: #0EA5E9;--sky-100: rgba(14, 165, 233, .1);--coral-600: #FB923C;--coral-500: #F97316;--coral-400: #EA580C;--dark-900: #F1F5F9;--dark-800: #E2E8F0;--dark-700: #CBD5E1;--dark-600: #94A3B8;--dark-500: #94A3B8;--dark-400: #64748B;--dark-300: #475569;--dark-200: #334155;--dark-100: #1E293B;--dark-50: #111827;--white: #0F172A;--off-white: #0C1222;--bg: #0C1222;--success: #34D399;--success-light: rgba(52, 211, 153, .12);--warning: #FBBF24;--warning-light: rgba(251, 191, 36, .12);--danger: #F87171;--danger-light: rgba(248, 113, 113, .12);--sage-text: #34D399;--gold-text: #FBBF24;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 48px rgba(0, 0, 0, .5);--shadow-xl: 0 24px 60px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px rgba(20, 184, 166, .15)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text);background:var(--off-white);line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:1rem}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15;color:var(--dark-900);letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,var(--teal-700),var(--sky-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--white);border-right:1px solid rgba(15,118,110,.06);padding:24px 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform .4s var(--ease-out)}.sidebar-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--teal-700);text-decoration:none;padding:0 24px;margin-bottom:32px;display:flex;align-items:center;gap:10px}.sidebar-logo span{color:var(--teal-500)}.sidebar-section{padding:0 12px;margin-bottom:8px}.sidebar-section-label{font-family:var(--font-display);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);padding:0 12px;margin-bottom:6px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s var(--ease-out)}.sidebar-link:hover{background:var(--teal-50);color:var(--teal-700)}.sidebar-link.active{background:var(--teal-100);color:var(--teal-700);font-weight:600}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-spacer{flex:1}.sidebar-user{padding:16px 24px;border-top:1px solid rgba(15,118,110,.06);display:flex;align-items:center;gap:10px}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--teal-600),var(--sky-500));color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0;box-shadow:0 2px 8px #0f766e33}.sidebar-user-name{font-size:.85rem;font-weight:600;color:var(--dark-900)}.sidebar-user-role{font-size:.7rem;color:var(--text-light)}.main-content{flex:1;margin-left:260px;padding:32px clamp(24px,3vw,48px);max-width:100%;min-height:100vh;animation:fadeUp .4s var(--ease-out)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0c122266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:49;opacity:0;transition:opacity .4s}.sidebar-overlay.open{opacity:1}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(15,118,110,.08);z-index:48;padding:0 16px;align-items:center;justify-content:space-between}[data-theme=dark] .mobile-header{background:#0f172ad9}.mobile-header-logo{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--teal-700);text-decoration:none}.mobile-header-logo span{color:var(--teal-500)}.hamburger{background:none;border:none;cursor:pointer;padding:8px;color:var(--dark-800);transition:color .3s}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.mobile-header{display:flex}.main-content{margin-left:0;padding-top:72px;padding-left:16px;padding-right:16px}}.page-header{margin-bottom:32px}.page-header h1{font-size:clamp(1.6rem,3vw,2rem);color:var(--dark-900);margin-bottom:4px;letter-spacing:-.03em}.page-header p{color:var(--dark-400);font-size:.95rem}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid rgba(15,118,110,.06);padding:28px;transition:all .4s var(--ease-out)}.card:hover{box-shadow:var(--shadow-md)}a.card:hover,.card-grid .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid rgba(15,118,110,.06);padding:22px;transition:all .4s var(--ease-out)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-value{font-family:var(--font-display);font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--teal-700),var(--sky-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.78rem;color:var(--text-light);margin-top:2px;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:none;border-radius:var(--radius-full);font-family:var(--font-display);font-size:.92rem;font-weight:600;cursor:pointer;letter-spacing:-.01em;transition:all .4s var(--ease-out);text-decoration:none;position:relative;overflow:hidden;isolation:isolate}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;transition:opacity .3s;z-index:-1}.btn:hover:after{opacity:1}.btn-primary{background:linear-gradient(135deg,var(--teal-700),var(--teal-600));color:var(--white);box-shadow:0 4px 20px #0f766e4d}.btn-primary:after{background:linear-gradient(135deg,var(--teal-600),var(--teal-500))}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0f766e66}.btn-secondary{background:var(--teal-50);color:var(--teal-700);border:1.5px solid rgba(15,118,110,.12)}.btn-secondary:hover{background:var(--teal-100);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--white);transform:translateY(-1px);box-shadow:0 4px 20px #ef44444d}.btn-ghost{color:var(--dark-500);padding:10px 20px}.btn-ghost:hover{color:var(--teal-700)}.btn-sm{padding:8px 18px;font-size:.82rem}.btn-lg{padding:16px 36px;font-size:1.05rem}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.form-group{margin-bottom:22px}.form-label{display:block;font-family:var(--font-display);font-size:.88rem;font-weight:600;color:var(--dark-700);margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;padding:14px 18px;border:2px solid var(--dark-100);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;color:var(--dark-800);background:var(--white);transition:all .3s var(--ease-out);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 4px #14b8a61a}.form-input::placeholder{color:var(--dark-300)}.form-textarea{resize:vertical;min-height:120px}.form-hint{font-size:.78rem;color:var(--text-light);margin-top:4px}.form-error{font-size:.78rem;color:var(--danger);margin-top:4px}.form-input.form-input-error,.form-select.form-input-error,.form-textarea.form-input-error{border-color:var(--danger)}.form-input.form-input-error:focus,.form-select.form-input-error:focus,.form-textarea.form-input-error:focus{box-shadow:0 0 0 4px #ef44441a}.form-field-error{font-size:.78rem;color:var(--danger);margin-top:4px}.chat-input{font-size:.88rem}@media (max-width: 768px){.form-input,.form-select,.form-textarea,.chat-input{font-size:16px}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}select.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-sage{background:var(--success-light);color:var(--sage-text)}.badge-gold{background:var(--warning-light);color:var(--gold-text)}.badge-teal{background:var(--teal-100);color:var(--teal-700)}.badge-sky{background:var(--sky-100);color:var(--sky-600)}.badge-coral{background:var(--gold-light);color:var(--coral-600)}.badge-red{background:var(--danger-light);color:var(--danger)}.badge-sand{background:var(--dark-50);color:var(--dark-400)}.table-container{overflow-x:auto;background:var(--white);border-radius:var(--radius-lg);border:1px solid rgba(15,118,110,.06)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:14px 18px;font-family:var(--font-display);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dark-400);border-bottom:1px solid rgba(15,118,110,.06);background:var(--teal-50)}td{padding:14px 18px;font-size:.88rem;border-bottom:1px solid rgba(15,118,110,.04)}tr:last-child td{border-bottom:none}tr:hover td{background:#0f766e05}.upload-zone{border:2px dashed rgba(15,118,110,.2);border-radius:var(--radius-lg);padding:40px;text-align:center;cursor:pointer;transition:all .4s var(--ease-out)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--teal-500);background:var(--teal-50);box-shadow:0 0 0 4px #14b8a614}.file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--teal-50);border-radius:var(--radius-sm);margin-top:10px;transition:all .3s var(--ease-out)}.file-item:hover{background:var(--teal-100)}.file-icon{width:36px;height:36px;border-radius:8px;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--teal-700);flex-shrink:0}.file-info{flex:1}.file-name{font-size:.85rem;font-weight:600}.file-size{font-size:.72rem;color:var(--text-light)}.file-remove{background:none;border:none;cursor:pointer;color:var(--text-light);padding:10px;margin:-4px;transition:color .3s}.file-remove:hover{color:var(--danger)}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--dark-100)}.timeline-item{position:relative;padding-bottom:24px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-24px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--dark-100);border:3px solid var(--off-white);transition:all .3s var(--ease-out)}.timeline-item.active .timeline-dot{background:var(--teal-500);box-shadow:0 0 0 4px #14b8a626}.timeline-item.completed .timeline-dot{background:var(--success);box-shadow:0 0 0 4px #10b98126}.timeline-label{font-size:.85rem;font-weight:600;color:var(--dark-900)}.timeline-date{font-size:.75rem;color:var(--text-light)}.empty-state{text-align:center;padding:64px 24px}.empty-state svg{width:48px;height:48px;color:var(--dark-200);margin-bottom:16px}.empty-state h3{color:var(--dark-900);margin-bottom:8px}.empty-state p{color:var(--dark-400);margin-bottom:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c122266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;align-items:safe center;justify-content:center;z-index:200;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));animation:modalFadeIn .3s var(--ease-out)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--white);border-radius:var(--radius-xl);padding:36px;max-width:500px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlideUp .4s var(--ease-out)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h2{font-size:1.4rem;margin-bottom:8px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:var(--teal-300);filter:blur(120px);opacity:.15;pointer-events:none}.auth-page:after{content:"";position:absolute;bottom:-200px;left:-200px;width:400px;height:400px;border-radius:50%;background:var(--sky-400);filter:blur(120px);opacity:.1;pointer-events:none}.auth-card{background:var(--white);border-radius:var(--radius-xl);padding:clamp(36px,5vw,48px);max-width:440px;width:100%;box-shadow:var(--shadow-xl);position:relative;z-index:1;animation:modalSlideUp .5s var(--ease-out)}.auth-logo{font-family:var(--font-display);font-size:1.8rem;font-weight:800;color:var(--teal-700);text-align:center;margin-bottom:8px;text-decoration:none;display:block}.auth-logo span{color:var(--teal-500)}.auth-subtitle{text-align:center;color:var(--dark-400);font-size:.95rem;margin-bottom:32px}.auth-footer{text-align:center;margin-top:24px;font-size:.85rem;color:var(--dark-400)}.auth-footer a{color:var(--teal-700);text-decoration:none;font-weight:600;padding:8px 4px;display:inline-block;transition:color .3s}.auth-footer a:hover{color:var(--teal-500)}.auth-divider,.auth-divider-text{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--dark-400);font-size:.8rem}.auth-divider:before,.auth-divider:after,.auth-divider-text:before,.auth-divider-text:after{content:"";flex:1;height:1px;background:var(--dark-100)}@keyframes pulseRing{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.15);opacity:0}to{transform:scale(.9);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stagger-item{opacity:0;transform:translateY(16px);animation:staggerIn .5s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes staggerIn{to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--dark-50) 25%,var(--dark-100) 50%,var(--dark-50) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm)}.spinner{width:24px;height:24px;border:2.5px solid var(--dark-100);border-top-color:var(--teal-500);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-spin{animation:spin 1.2s linear infinite}.page-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.page-loading[role=status]:after{content:"Caricamento in corso...";position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-400);animation:typingBounce 1.2s ease infinite}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:300;display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:hidden;pointer-events:none}.toast{pointer-events:auto}.toast{padding:14px 22px;border-radius:var(--radius);font-size:.88rem;font-weight:500;box-shadow:var(--shadow-lg);animation:toastSlideIn .4s var(--ease-out);max-width:360px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-success{background:var(--success-light);color:var(--sage-text);border:1px solid rgba(16,185,129,.15)}.toast-error{background:var(--danger-light);color:var(--danger);border:1px solid rgba(239,68,68,.15)}.toast-info{background:var(--teal-100);color:var(--teal-700);border:1px solid rgba(15,118,110,.1)}@keyframes toastSlideIn{0%{transform:translate(100%) scale(.9);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@media (max-width: 900px){.detail-grid,.analytics-grid{grid-template-columns:1fr!important}.desktop-only{display:none!important}}@media (max-width: 768px){.card-grid{grid-template-columns:1fr}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal{max-width:calc(100vw - 32px);border-radius:var(--radius-lg)}}@media (max-width: 600px){.stats-row{grid-template-columns:repeat(2,1fr)}.card{padding:18px}.modal{padding:24px;border-radius:var(--radius-lg)}.auth-card{padding:28px}.page-header h1{font-size:1.4rem}.table-container{font-size:.82rem}td,th{padding:10px 12px}.toast-container{left:16px;right:16px;bottom:auto;top:16px}.toast{max-width:100%}.notif-dropdown{position:fixed!important;left:16px!important;right:16px!important;bottom:72px!important;width:auto!important;margin-left:0!important}.btn-sm{padding:8px 14px;min-height:44px}.upload-zone{padding:32px 16px}}.skip-link{position:absolute;left:-9999px;top:0;padding:8px 16px;background:linear-gradient(135deg,var(--teal-700),var(--teal-600));color:var(--white);z-index:999;font-size:.85rem;border-radius:0 0 var(--radius-sm) 0}.skip-link:focus{left:0}*:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .4s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}.top-loading-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:999;pointer-events:none}.top-loading-bar-inner{height:100%;background:linear-gradient(90deg,var(--teal-500),var(--sky-400),var(--teal-300));background-size:200% 100%;animation:topBarShimmer 1.5s ease infinite;transition:width .4s var(--ease-out);border-radius:0 2px 2px 0;box-shadow:0 0 10px #14b8a666}@keyframes topBarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ripple-effect{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:ripple .6s linear;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.step-progress{display:flex;align-items:center;gap:0;margin:20px 0;padding:0}.step-progress-item{display:flex;align-items:center;flex:1;position:relative}.step-progress-item:last-child{flex:0}.step-progress-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;transition:all .5s var(--ease-spring);position:relative;z-index:2;border:3px solid var(--dark-200);background:var(--white);color:var(--dark-300)}.step-progress-item.active .step-progress-dot{border-color:#14b8a6;background:#14b8a6;color:#fff;box-shadow:0 0 0 6px #14b8a626,0 4px 12px #14b8a64d;transform:scale(1.1)}.step-progress-item.completed .step-progress-dot{border-color:#10b981;background:#10b981;color:#fff}.step-progress-line{flex:1;height:3px;background:var(--dark-200);margin:0 -2px;position:relative;z-index:1;overflow:hidden}.step-progress-line-fill{height:100%;background:var(--success);transition:width .6s var(--ease-out);border-radius:2px}.step-progress-label{position:absolute;top:48px;left:50%;transform:translate(-50%);font-size:.72rem;font-weight:600;color:var(--text-light);white-space:nowrap;transition:color .3s}.step-progress-item.active .step-progress-label{color:var(--teal-700)}.step-progress-item.completed .step-progress-label{color:var(--success)}.chat-container{display:flex;flex-direction:column;gap:16px;padding:8px 0}.chat-bubble-wrapper{display:flex;gap:10px;align-items:flex-end;animation:chatSlideIn .35s var(--ease-out)}.chat-bubble-wrapper.own{flex-direction:row-reverse}@keyframes chatSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;color:#fff}.chat-avatar-user{background:linear-gradient(135deg,#0d9488,#0ea5e9)}.chat-avatar-doctor{background:linear-gradient(135deg,#059669,#34d399)}.chat-avatar-admin{background:linear-gradient(135deg,#ea580c,#fb923c)}.chat-avatar-ai{background:linear-gradient(135deg,#0f766e,#14b8a6)}.chat-bubble{max-width:75%;padding:12px 16px;border-radius:18px;font-size:.9rem;line-height:1.6;white-space:pre-wrap;position:relative}.chat-bubble-other{background:var(--white);color:var(--text);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm);border:1px solid rgba(15,118,110,.06)}.chat-bubble-own{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 12px #0f766e40}[data-theme=dark] .chat-bubble-own{background:linear-gradient(135deg,#115e59,#0f766e);box-shadow:0 2px 12px #0000004d}.chat-bubble-meta{display:flex;align-items:center;gap:6px;margin-bottom:4px}.chat-bubble-name{font-weight:600;font-size:.78rem}.chat-bubble-role{font-size:.62rem;font-weight:600;padding:1px 8px;border-radius:100px}.chat-bubble-time{font-size:.68rem;opacity:.6;margin-top:4px;text-align:right}.chat-bubble-own .chat-bubble-time{text-align:right}.chat-bubble-other .chat-bubble-time{text-align:left}.chat-quote{padding:6px 10px;margin-bottom:6px;border-left:3px solid rgba(255,255,255,.4);border-radius:4px;background:#ffffff1a;font-size:.82rem;opacity:.85}.chat-bubble-other .chat-quote{border-left-color:var(--teal-300);background:var(--teal-50)}.chat-date-separator{text-align:center;padding:8px 0;position:relative}.chat-date-separator span{background:var(--bg);padding:2px 16px;font-size:.72rem;font-weight:600;color:var(--text-light);border-radius:100px;position:relative;z-index:1}.chat-date-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#0f766e14}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0px));background:var(--white);border-top:1px solid rgba(15,118,110,.08);z-index:100;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0px);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}[data-theme=dark] .bottom-nav{background:#0f172af2}.bottom-nav-inner{display:flex;align-items:center;justify-content:space-around;height:100%;max-width:500px;margin:0 auto}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 12px;border-radius:var(--radius-sm);color:var(--text-light);text-decoration:none;font-size:.65rem;font-weight:600;transition:all .3s var(--ease-out);position:relative;-webkit-tap-highlight-color:transparent}.bottom-nav-item svg{width:22px;height:22px;transition:transform .3s var(--ease-spring)}.bottom-nav-item.active{color:var(--teal-700)}.bottom-nav-item.active svg{transform:scale(1.1)}.bottom-nav-item .bottom-nav-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:3px;border-radius:0 0 3px 3px;background:var(--teal-500);opacity:0;transition:opacity .3s,width .3s var(--ease-spring)}.bottom-nav-item.active .bottom-nav-indicator{opacity:1}.bottom-nav-badge{position:absolute;top:0;right:2px;width:16px;height:16px;border-radius:50%;background:var(--danger);color:#fff;font-size:.58rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--white)}@media (max-width: 768px){.bottom-nav{display:block}.main-content{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.toast-container{bottom:calc(72px + env(safe-area-inset-bottom,0))!important;top:auto!important}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c122299;z-index:500;animation:modalFadeIn .3s var(--ease-out)}.onboarding-tooltip{position:fixed;z-index:501;background:var(--white);border-radius:var(--radius-lg);padding:24px;max-width:340px;box-shadow:var(--shadow-xl);animation:modalSlideUp .4s var(--ease-out)}.onboarding-tooltip:before{content:"";position:absolute;width:12px;height:12px;background:var(--white);transform:rotate(45deg)}.onboarding-tooltip.arrow-top:before{top:-6px;left:24px}.onboarding-tooltip.arrow-bottom:before{bottom:-6px;left:24px}.onboarding-tooltip.arrow-left:before{left:-6px;top:24px}.onboarding-progress{display:flex;gap:4px;margin-top:16px}.onboarding-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--dark-200);transition:all .3s var(--ease-spring)}.onboarding-progress-dot.active{background:var(--teal-500);transform:scale(1.3)}.branded-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;animation:brandedLoaderFadeOut .5s var(--ease-out) .8s forwards}.branded-loader-logo{font-family:var(--font-display);font-size:2.5rem;font-weight:800;color:var(--teal-700);margin-bottom:24px;animation:brandedPulse 1.5s ease infinite}.branded-loader-logo span{color:var(--teal-500)}.branded-loader-bar{width:120px;height:4px;background:var(--dark-100);border-radius:2px;overflow:hidden}.branded-loader-bar-fill{height:100%;width:40%;background:linear-gradient(90deg,var(--teal-500),var(--sky-400));border-radius:2px;animation:brandedBarSlide 1s ease infinite}@keyframes brandedPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes brandedBarSlide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@keyframes brandedLoaderFadeOut{to{opacity:0;pointer-events:none}}.branded-loader.no-autohide{animation:brandedLoaderIn .2s ease .08s both}@keyframes brandedLoaderIn{0%{opacity:0}to{opacity:1}}.page-enter{animation:pageEnter .4s var(--ease-out)}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.case-progress-bar{width:100%;height:4px;background:var(--dark-100);border-radius:2px;overflow:hidden;margin-top:10px}.case-progress-fill{height:100%;border-radius:2px;transition:width .6s var(--ease-out);background:linear-gradient(90deg,var(--teal-500),var(--sky-400))}.case-progress-fill.complete{background:var(--success)}.card-grid .card{position:relative}.card-grid .card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;transition:opacity .4s;background:linear-gradient(135deg,#14b8a608,#0ea5e908);pointer-events:none}.card-grid .card:hover:before{opacity:1}.card-quick-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px;opacity:0;transform:translateY(-4px);transition:all .3s var(--ease-out)}.card:hover .card-quick-actions{opacity:1;transform:translateY(0)}.priority-pulse{animation:priorityPulse 2s ease infinite}@keyframes priorityPulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 8px #ef444400}}.deadline-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.deadline-badge.urgent{background:var(--danger-light);color:var(--danger);animation:priorityPulse 2s ease infinite}.deadline-badge.normal{background:var(--warning-light);color:var(--gold-text)}.deadline-badge.relaxed{background:var(--success-light);color:var(--sage-text)}.kbd-hint{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-light);margin-top:8px}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;background:var(--dark-50);border:1px solid var(--dark-200);border-radius:4px;font-size:.68rem;font-family:var(--mono);font-weight:600;color:var(--text-secondary);line-height:1;min-width:20px}.file-thumbnail{width:44px;height:44px;border-radius:8px;object-fit:cover;border:1px solid rgba(15,118,110,.1);background:var(--dark-50)}.file-icon-lg{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,var(--teal-50),var(--sky-100));display:flex;align-items:center;justify-content:center;color:var(--teal-700);flex-shrink:0}.upload-zone-enhanced{border:2px dashed rgba(15,118,110,.2);border-radius:var(--radius-lg);padding:32px;text-align:center;cursor:pointer;transition:all .4s var(--ease-out);background:linear-gradient(135deg,#14b8a605,#0ea5e905)}.upload-zone-enhanced:hover,.upload-zone-enhanced.dragover{border-color:var(--teal-500);background:linear-gradient(135deg,#14b8a60f,#0ea5e90a);box-shadow:0 0 0 4px #14b8a614;transform:scale(1.01)}.upload-zone-enhanced.dragover{border-style:solid;animation:uploadPulse 1s ease infinite}@keyframes uploadPulse{0%,to{box-shadow:0 0 0 4px #14b8a614}50%{box-shadow:0 0 0 8px #14b8a626}}@media print{.sidebar,.bottom-nav,.mobile-header,.top-loading-bar,.btn{display:none!important}.main-content{margin:0!important;padding:20px!important}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
