:root{--primary-yellow:#FDB813;--primary-yellow-light:#FDE68A;--primary-yellow-lighter:#FEF3C7;--primary-yellow-lightest:#FFFBEB;--dark-yellow:#FCA311;--accent-gold:#F5B800;--accent-gold-light:#FACC15;--primary-gray:#333333;--dark-gray:#1A1A1A;--darker-gray:#0F0F0F;--mid-gray:#666666;--light-gray:#F8F9FA;--lighter-gray:#FAFBFC;--lightest-gray:#FDFDFD;--white:#FFFFFF;--success-green:#10B981;--success-green-dark:#047857;--success-light:#D1FAE5;--success-lighter:#ECFDF5;--warning-orange:#F59E0B;--warning-orange-dark:#D97706;--warning-light:#FEF3C7;--warning-lighter:#FFFBEB;--error-red:#EF4444;--error-red-dark:#DC2626;--error-light:#FEE2E2;--error-lighter:#FEF2F2;--info-blue:#3B82F6;--info-blue-dark:#2563EB;--info-light:#DBEAFE;--info-lighter:#EFF6FF;--text-primary:#1F2937;--text-secondary:#4B5563;--text-tertiary:#6B7280;--text-quaternary:#9CA3AF;--text-inverse:#FFFFFF;--border-light:#E5E7EB;--border-medium:#D1D5DB;--border-dark:#9CA3AF;--border-focus:#3B82F6;--shadow-xs:0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm:0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl:0 25px 50px -12px rgba(0, 0, 0, .25);--focus-ring:0 0 0 3px rgba(59, 130, 246, .5);--focus-ring-offset:0 0 0 2px var(--white);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:24px;--radius-full:9999px;--space-px:1px;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--duration-75:75ms;--duration-100:.1s;--duration-150:.15s;--duration-200:.2s;--duration-300:.3s;--duration-500:.5s;--duration-700:.7s;--duration-1000:1s;--ease-linear:linear;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--lighter-gray);color:var(--text-primary);line-height:var(--line-height-normal);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--duration-200) var(--ease-out);border:1px solid var(--border-light);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-yellow),var(--accent-gold));opacity:0;transition:opacity var(--duration-200) var(--ease-out)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-medium)}.card:hover:before{opacity:1}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl)}.card.card-elevated{box-shadow:var(--shadow-md)}.card.card-elevated:hover{box-shadow:var(--shadow-2xl)}.card-title{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:var(--space-2)}.card-value{font-size:var(--font-size-3xl);font-weight:700;margin:var(--space-2) 0;color:var(--text-primary);line-height:var(--line-height-tight)}.card-change{font-size:var(--font-size-sm);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-1)}.positive{color:var(--success-green-dark)}.negative{color:var(--error-red-dark)}.card-description{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--space-2)}.btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all var(--duration-150) var(--ease-out);border:1px solid transparent;font-size:var(--font-size-sm);line-height:var(--line-height-tight);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;position:relative;min-height:44px;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring-offset),var(--focus-ring)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn:disabled:hover{box-shadow:none!important;background:inherit!important}.btn-primary{background:linear-gradient(135deg,var(--primary-yellow),var(--dark-yellow));color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--dark-yellow),var(--accent-gold));transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--white);color:var(--text-primary);border:1px solid var(--border-medium);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--lighter-gray);border-color:var(--border-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){transform:translateY(0);background:var(--light-gray)}.btn-outline{background:transparent;color:var(--primary-yellow);border:2px solid var(--primary-yellow)}.btn-outline:hover:not(:disabled){background:var(--primary-yellow-lightest);transform:translateY(-1px)}.btn-danger{background:var(--error-red);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--error-red-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);min-height:36px}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base);min-height:52px}.badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.badge-success{background:var(--success-lighter);color:var(--success-green-dark);border:1px solid var(--success-light)}.badge-warning{background:var(--warning-lighter);color:var(--warning-orange-dark);border:1px solid var(--warning-light)}.badge-error{background:var(--error-lighter);color:var(--error-red-dark);border:1px solid var(--error-light)}.badge-info{background:var(--info-lighter);color:var(--info-blue-dark);border:1px solid var(--info-light)}.progress{width:100%;height:10px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress>div{height:100%;background:linear-gradient(90deg,var(--primary-yellow),var(--accent-gold));border-radius:var(--radius-full);transition:width var(--duration-300) var(--ease-out);position:relative}.progress>div:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:progress-shimmer 2s infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.container{max-width:1400px;margin:2rem auto;padding:0 2rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.upload{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.upload-zone{display:block;width:100%;border:2px dashed #D1D5DB;border-radius:8px;padding:3rem;text-align:center;transition:.3s;cursor:pointer}.upload-zone:hover{border-color:var(--primary-yellow);background:#fffbeb}.table-wrap{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}table{width:100%;border-collapse:collapse}thead{background:var(--light-gray)}th{padding:1rem;text-align:left;font-weight:600;color:var(--primary-gray);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}td{padding:1rem;border-top:1px solid #E5E7EB}tbody tr:hover{background:#fafafa}.td-date{white-space:nowrap;width:1%}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--line-height-snug)}.form-label.required:after{content:" *";color:var(--error-red)}.form-help{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--space-1)}input,select,textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:all var(--duration-150) var(--ease-out);background:var(--white);color:var(--text-primary);font-family:inherit;min-height:44px}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-quaternary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring);background:var(--white)}input:invalid,select:invalid,textarea:invalid{border-color:var(--error-red)}input:invalid:focus,select:invalid:focus,textarea:invalid:focus{border-color:var(--error-red);box-shadow:0 0 0 3px #ef44441a}input:disabled,select:disabled,textarea:disabled{background:var(--light-gray);color:var(--text-quaternary);cursor:not-allowed;opacity:.6}.form-error{font-size:var(--font-size-sm);color:var(--error-red);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.form-success{font-size:var(--font-size-sm);color:var(--success-green-dark);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.input-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);min-height:36px}.input-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-lg);min-height:52px}input[type=checkbox],input[type=radio]{width:auto;min-height:20px;margin-right:var(--space-2);cursor:pointer}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:var(--space-2)}.checkbox-item,.radio-item{display:flex;align-items:center;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:background-color var(--duration-150) var(--ease-out)}.checkbox-item:hover,.radio-item:hover{background:var(--lighter-gray)}.alert{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);position:relative;box-shadow:var(--shadow-sm);border:1px solid transparent}.alert-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.alert-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.alert-info{background:var(--info-lighter);color:var(--info-blue-dark);border-color:var(--info-light);border-left:4px solid var(--info-blue)}.alert-success{background:var(--success-lighter);color:var(--success-green-dark);border-color:var(--success-light);border-left:4px solid var(--success-green)}.alert-warning{background:var(--warning-lighter);color:var(--warning-orange-dark);border-color:var(--warning-light);border-left:4px solid var(--warning-orange)}.alert-error{background:var(--error-lighter);color:var(--error-red-dark);border-color:var(--error-light);border-left:4px solid var(--error-red)}.alert-dismissible{padding-right:var(--space-10)}.alert-close{position:absolute;top:var(--space-4);right:var(--space-4);background:transparent;border:none;cursor:pointer;padding:var(--space-1);color:inherit;opacity:.6;transition:opacity var(--duration-150) var(--ease-out)}.alert-close:hover{opacity:1}.header{background:linear-gradient(135deg,var(--dark-gray),var(--primary-gray));padding:1rem 2rem;box-shadow:0 2px 8px #0000001a}.header-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo,.user-info{display:flex;align-items:center;gap:1rem;color:#fff}.user-avatar{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--primary-yellow);font-weight:700}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only:focus{position:static;width:auto;height:auto;padding:var(--space-2) var(--space-4);margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--primary-yellow);color:var(--text-primary);border-radius:var(--radius-md);z-index:9999}.chat-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.menu-section{padding:.5rem 0;border-bottom:1px solid #E5E7EB}.menu-main-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:var(--primary-gray);font-weight:500;cursor:pointer;text-decoration:none;transition:.2s}.menu-main-item:hover{background:var(--light-gray)}.menu-main-item.active{color:var(--primary-yellow);background:#fffbeb}.menu-sub{padding-left:3.5rem}.menu-sub a{display:block;padding:.75rem 1rem;color:var(--mid-gray);text-decoration:none;font-size:.9rem;transition:.2s}.menu-sub a:hover{color:var(--primary-gray);background:var(--light-gray)}.menu-sub a.active{color:var(--primary-yellow);font-weight:500}.menu-footer{margin-top:auto;padding:1.5rem;background:var(--light-gray)}.topnav{display:flex;gap:.5rem;align-items:center}.topnav-link{color:#fff;text-decoration:none;padding:.5rem .9rem;border-radius:6px;transition:background .2s ease,color .2s ease;border:1px solid transparent}.topnav-link:hover{background:#ffffff14}.topnav-link.active{background:var(--primary-yellow);color:var(--dark-gray);border-color:transparent}.subtabs{display:flex;gap:.5rem;margin:.5rem 0 1.25rem;border-bottom:1px solid #E5E7EB;flex-wrap:wrap}.subtab{padding:.6rem 1rem;background:transparent;border:none;color:var(--mid-gray);font-weight:500;text-decoration:none;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;transition:.2s}.subtab:hover{color:var(--primary-gray);background:#f4f6f8}.subtab.active{color:var(--primary-yellow);border-bottom-color:var(--primary-yellow);background:#fff9e6}.chat-fab{position:fixed!important;right:var(--space-6)!important;bottom:var(--space-6)!important;left:unset!important;top:unset!important;width:64px;height:64px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary-yellow),var(--dark-yellow));color:var(--text-primary);font-size:24px;box-shadow:var(--shadow-lg);cursor:pointer;z-index:1100;transition:all var(--duration-200) var(--ease-out);display:flex;align-items:center;justify-content:center}.chat-fab:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.chat-fab:focus-visible{outline:none;box-shadow:var(--focus-ring-offset),var(--focus-ring)}.chat-fab-open{background:var(--error-red);color:var(--text-inverse)}.chat-fab-icon{transition:transform var(--duration-200) var(--ease-out)}.chat-fab-open .chat-fab-icon{transform:rotate(180deg)}.chat-fab-status{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:var(--warning-orange);border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}.chat-panel-enhanced{position:fixed;right:var(--space-6);bottom:88px;width:420px;max-height:80vh;min-height:500px;background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);border:1px solid var(--border-light);overflow:hidden;transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:all var(--duration-300) var(--ease-out);z-index:1100;display:flex;flex-direction:column}.chat-panel-enhanced.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.chat-header-enhanced{padding:var(--space-4);background:linear-gradient(135deg,var(--primary-yellow),var(--dark-yellow));color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light)}.chat-header-info h2{margin:0;font-size:var(--font-size-lg);font-weight:700}.chat-status-indicator{font-size:var(--font-size-xs);opacity:.8;font-weight:500}.chat-header-actions{display:flex;gap:var(--space-2);align-items:center}.chat-close-enhanced{background:transparent;border:none;color:var(--text-primary);font-size:24px;line-height:1;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);transition:all var(--duration-150) var(--ease-out)}.chat-close-enhanced:hover{background:#0000001a}.chat-close-enhanced:focus-visible{outline:2px solid var(--text-primary)}.chat-body-enhanced{padding:var(--space-4);overflow-y:auto;flex:1;background:var(--lightest-gray);scroll-behavior:smooth}.chat-welcome{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-secondary)}.chat-welcome-icon{font-size:48px;margin-bottom:var(--space-4)}.chat-welcome h3{margin:0 0 var(--space-2);color:var(--text-primary);font-size:var(--font-size-xl)}.chat-welcome p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.chat-msg{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);align-items:flex-end}.chat-msg-user{flex-direction:row-reverse}.chat-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--info-blue),var(--info-blue-dark));color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;flex-shrink:0;border:2px solid var(--white);box-shadow:var(--shadow-sm)}.chat-avatar-user{background:linear-gradient(135deg,var(--primary-yellow),var(--dark-yellow));color:var(--text-primary)}.chat-bubble{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);max-width:280px;box-shadow:var(--shadow-sm);position:relative}.chat-msg-user .chat-bubble{background:linear-gradient(135deg,var(--primary-yellow-lightest),var(--primary-yellow-lighter));border-color:var(--primary-yellow-light)}.chat-bubble-error{background:var(--error-lighter);border-color:var(--error-light);color:var(--error-red-dark)}.chat-message-content{white-space:pre-wrap;line-height:var(--line-height-relaxed);font-size:var(--font-size-sm)}.chat-message-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-quaternary)}.chat-timestamp{opacity:.7}.chat-status{font-weight:500}.chat-status-error{color:var(--error-red)}.typing-indicator{display:flex;gap:4px;align-items:center;padding:var(--space-2)}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-quaternary);animation:typing-bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-quick-actions,.chat-suggestions{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light);background:var(--white)}.chat-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.chat-quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.chat-quick-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--lighter-gray);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-out);font-size:var(--font-size-xs);font-weight:500;color:var(--text-primary)}.chat-quick-action:hover{background:var(--primary-yellow-lightest);border-color:var(--primary-yellow-light);transform:translateY(-1px)}.chat-quick-action-icon{font-size:20px}.chat-quick-action-label{text-align:center;line-height:var(--line-height-tight)}.chat-suggestions-list{display:flex;flex-direction:column;gap:var(--space-2)}.chat-suggestion{padding:var(--space-2) var(--space-3);background:var(--lighter-gray);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-out);font-size:var(--font-size-sm);color:var(--text-primary);text-align:left}.chat-suggestion:hover{background:var(--primary-yellow-lightest);border-color:var(--primary-yellow-light)}.chat-input-enhanced{padding:var(--space-4);border-top:1px solid var(--border-light);background:var(--white)}.chat-input-wrapper{display:flex;gap:var(--space-2);align-items:flex-end}.chat-input-field{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-xl);font-size:var(--font-size-sm);line-height:var(--line-height-normal);resize:none;max-height:120px;transition:all var(--duration-150) var(--ease-out)}.chat-input-field:focus{outline:none;border-color:var(--primary-yellow);box-shadow:0 0 0 3px #fdb8131f}.chat-input-field:disabled{background:var(--light-gray);color:var(--text-quaternary);cursor:not-allowed}.chat-send-button{width:44px;height:44px;border-radius:50%;border:none;background:var(--primary-yellow);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-150) var(--ease-out);flex-shrink:0}.chat-send-button:hover:not(:disabled){background:var(--dark-yellow);transform:translateY(-1px);box-shadow:var(--shadow-md)}.chat-send-button:disabled{background:var(--border-medium);color:var(--text-quaternary);cursor:not-allowed;opacity:.6}.chat-send-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.chat-input-help{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:center}.chat-overlay-enhanced{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--duration-200) var(--ease-out)}@media (max-width: 480px){.chat-panel-enhanced{right:var(--space-2);left:var(--space-2);width:auto;bottom:70px}.chat-fab{right:var(--space-4);bottom:var(--space-4)}.chat-quick-actions-grid{grid-template-columns:1fr}.chat-bubble{max-width:240px}}html,body{height:auto;overflow-y:auto}.container{min-height:100vh;overflow:visible}.upload{max-width:100%}.chat-panel{pointer-events:auto}.upload-zone{display:block;width:100%}.calculator-nav{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.calculator-nav .btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.calculator-nav .btn:disabled:hover{background:inherit;box-shadow:none}.mowing-calculator,.service-calculators{max-width:100%}.service-calculators{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:16px}.calculator-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.calculator-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.calculator-label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--text-dark)}.calculator-checkbox{display:flex;align-items:center;font-size:14px;cursor:pointer;margin-bottom:8px}.calculator-checkbox input{margin-right:8px;width:auto}.calculator-results{padding:12px;background-color:#f9f9f9;border-radius:6px;font-size:14px}.calculator-result-row{display:flex;justify-content:space-between;margin-bottom:4px}.calculator-result-total{display:flex;justify-content:space-between;font-weight:700;font-size:16px;border-top:1px solid #ddd;padding-top:8px;margin-top:8px}.quote-item{display:flex;justify-content:space-between;align-items:start;padding:12px;background-color:#f9f9f9;border-radius:6px;margin-bottom:8px}.quote-item-details{flex:1}.quote-item-name{font-weight:600;margin-bottom:4px}.quote-item-description{font-size:12px;color:#666;margin-bottom:4px}.quote-item-price{text-align:right;margin-left:16px}.quote-item-total{font-weight:600;font-size:16px}.quote-remove-btn{font-size:11px;padding:2px 6px;margin-top:4px;background-color:#dc2626;color:#fff;border:none;border-radius:3px;cursor:pointer}.quote-remove-btn:hover{background-color:#b91c1c}.customer-card{cursor:pointer;transition:all .2s ease}.customer-card:hover{box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.customer-card.selected{border:2px solid var(--primary-yellow);background-color:#fffbeb}.customer-selected-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.request-action-buttons{display:flex;gap:4px;justify-content:flex-end}.request-status-btn,.request-delete-btn{font-size:11px;padding:4px 8px;border:none;border-radius:3px;cursor:pointer;color:#fff}.request-status-btn{background-color:#10b981}.request-status-btn.pending{background-color:#fdb813}.request-delete-btn{background-color:#dc2626}.request-delete-btn:hover{background-color:#b91c1c}.request-status-btn:hover{opacity:.9}.add-service-dropdown{margin-top:20px}.add-service-form{background-color:#f9f9f9;padding:16px;border-radius:6px;margin-top:16px}.service-form-title{margin-top:0;margin-bottom:12px;color:var(--text-dark)}.obstacle-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;background-color:#f9f9f9;border-radius:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-8px)}70%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-in{animation:slideInUp var(--duration-300) var(--ease-out) forwards}.fade-in{animation:fadeIn var(--duration-300) var(--ease-out) forwards}.bounce{animation:bounce 1s}.skeleton{background:linear-gradient(110deg,var(--light-gray) 8%,var(--lighter-gray) 18%,var(--light-gray) 33%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:calc(200% + 200px) 0}}.skeleton-text{height:1em;margin-bottom:var(--space-2);border-radius:var(--radius-sm)}.skeleton-card{height:120px;border-radius:var(--radius-xl)}.container{max-width:1400px;margin:var(--space-8) auto;padding:0 var(--space-4)}@media (max-width: 1024px){.container{padding:0 var(--space-3);margin:var(--space-6) auto}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}}@media (max-width: 768px){.container{padding:0 var(--space-4);margin:var(--space-4) auto}.dashboard-grid{grid-template-columns:1fr;gap:var(--space-3)}.card{padding:var(--space-4)}.card-value{font-size:var(--font-size-2xl)}.service-calculators,.calculator-form-grid{grid-template-columns:1fr}.calculator-nav{flex-direction:column}.calculator-nav .btn{width:100%;justify-content:center}.request-action-buttons{flex-direction:column;gap:var(--space-1)}.btn{width:100%;justify-content:center}.btn-sm{width:auto}.topnav{flex-wrap:wrap;gap:var(--space-1)}.topnav-link{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}}@media (max-width: 480px){.container{padding:0 var(--space-3);margin:var(--space-3) auto}.card{padding:var(--space-3)}.card-value{font-size:var(--font-size-xl)}.header-inner{flex-direction:column;gap:var(--space-3);align-items:flex-start}.topnav,.user-info{width:100%;justify-content:space-between}}@media print{.btn,.floating-chat,.chat-fab,.chat-panel{display:none!important}.card{box-shadow:none;border:1px solid var(--border-medium);break-inside:avoid}.container{margin:0;padding:0;max-width:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.progress>div:after{animation:none}}@media (prefers-contrast: high){.card{border:2px solid var(--text-primary)}.btn{border:2px solid currentColor}}
