:root{--color-primary-50:#eef7f7;--color-primary-100:#d5ecec;--color-primary-200:#aad9da;--color-primary-300:#7ec3c4;--color-primary-400:#5faeb0;--color-primary-500:#5f9ea0;--color-primary-600:#4d8486;--color-primary-700:#3d6a6c;--color-primary-800:#2d4f51;--color-primary-900:#1e3536;--color-neutral-0:#fff;--color-neutral-25:#fcfcfd;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-accent:#e91e8c;--color-accent-light:#fce4f1;--color-success:#22c55e;--color-success-light:#dcfce7;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#ef4444;--color-danger-light:#fee2e2;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-bg:#f8fafc;--color-bg-elevated:#fff;--color-bg-sidebar:#2d4f51;--color-text-primary:#1e3536;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--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;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--sidebar-width:260px;--header-height:64px;--max-content-width:1280px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg)}a{color:var(--color-primary-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-700)}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-normal);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700));color:var(--color-text-inverse);box-shadow:var(--shadow-sm), 0 0 0 0 #0e948800}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-primary-700), var(--color-primary-800));box-shadow:var(--shadow-md), 0 0 0 3px #0e94881a;transform:translateY(-1px)}.btn-secondary{background:var(--color-neutral-0);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-50);border-color:var(--color-neutral-400)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-100);color:var(--color-text-primary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-neutral-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);margin-bottom:var(--space-1);display:block}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-neutral-0);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #14b8a626}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1)}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap;display:inline-flex}.badge-new{color:#4338ca;background:#eef2ff}.badge-review{color:#7c3aed;background:#f5f3ff}.badge-waiting{background:var(--color-warning-light);color:#92400e}.badge-design{background:var(--color-info-light);color:#1e40af}.badge-production{color:#075985;background:#e0f2fe}.badge-approval{background:var(--color-success-light);color:#166534}.badge-approved{color:#14532d;background:#bbf7d0}.badge-shipped{color:#155e75;background:#cffafe}.badge-completed{background:var(--color-neutral-100);color:var(--color-neutral-600)}.badge-hold{background:var(--color-danger-light);color:#991b1b}.badge-role-admin{color:#92400e;background:#fef3c7}.badge-role-tech{color:#1e40af;background:#dbeafe}.badge-role-office{color:#6b21a8;background:#f3e8ff}.badge-role-doctor{color:#115e59;background:#ccfbf1}.table-container{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:var(--font-medium);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-neutral-50);border-bottom:1px solid var(--color-border)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-neutral-50)}.data-table tbody tr:last-child td{border-bottom:none}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);color:var(--color-text-inverse);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-brand{padding:var(--space-5) var(--space-5);align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff14;display:flex}.sidebar-brand-icon{background:linear-gradient(135deg, var(--color-primary-400), var(--color-primary-600));border-radius:var(--radius-md);width:36px;height:36px;font-weight:var(--font-bold);font-size:var(--text-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-text{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.sidebar-brand-sub{font-size:var(--text-xs);color:var(--color-neutral-400);font-weight:var(--font-normal)}.sidebar-nav{padding:var(--space-3) var(--space-3);flex:1}.sidebar-section{margin-bottom:var(--space-4)}.sidebar-section-title{padding:var(--space-2) var(--space-3);font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-neutral-500)}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-400);border-radius:var(--radius-md);transition:all var(--transition-fast);text-decoration:none;display:flex}.sidebar-link:hover{color:var(--color-neutral-100);background:#ffffff0f}.sidebar-link.active{color:var(--color-primary-300);background:#14b8a626}.sidebar-link-icon{width:20px;height:20px;font-size:var(--text-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user{padding:var(--space-4) var(--space-4);align-items:center;gap:var(--space-3);border-top:1px solid #ffffff14;display:flex}.sidebar-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));width:36px;height:36px;font-weight:var(--font-semibold);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-role{font-size:var(--text-xs);color:var(--color-neutral-400)}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh}.main-header{height:var(--header-height);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);padding:0 var(--space-8);z-index:40;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.main-header-title{font-size:var(--text-xl);font-weight:var(--font-semibold)}.main-header-actions{align-items:center;gap:var(--space-3);display:flex}.page-content{padding:var(--space-8);max-width:var(--max-content-width)}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);align-items:flex-start;gap:var(--space-4);transition:box-shadow var(--transition-normal), transform var(--transition-normal);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-lg);width:44px;height:44px;font-size:var(--text-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-info h3{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:1}.notification-bell{cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);font-size:var(--text-xl);background:0 0;border:none;position:relative}.notification-bell:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}.notification-count{background:var(--color-danger);color:#fff;min-width:18px;height:18px;font-size:11px;font-weight:var(--font-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 4px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notification-dropdown{top:calc(100% + var(--space-2));background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:380px;max-height:480px;box-shadow:var(--shadow-xl);z-index:100;position:absolute;right:0;overflow-y:auto}.notification-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);gap:var(--space-3);transition:background var(--transition-fast);cursor:pointer;display:flex}.notification-item:hover{background:var(--color-neutral-50)}.notification-item.unread{background:var(--color-primary-50)}.notification-item.unread:hover{background:var(--color-primary-100)}.notification-dot{border-radius:var(--radius-full);background:var(--color-primary-500);flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-text{flex:1}.notification-title{font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:2px}.notification-body{font-size:var(--text-xs);color:var(--color-text-muted)}.notification-time{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.upload-zone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--color-neutral-50)}.upload-zone:hover,.upload-zone.dragging{border-color:var(--color-primary-400);background:var(--color-primary-50)}.upload-zone-icon{font-size:var(--text-4xl);color:var(--color-neutral-400);margin-bottom:var(--space-3)}.upload-zone-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.upload-zone-text strong{color:var(--color-primary-600)}.upload-zone-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.file-list{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.file-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.file-item-icon{font-size:var(--text-xl);flex-shrink:0}.file-item-info{flex:1;min-width:0}.file-item-name{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-item-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.file-progress{background:var(--color-neutral-200);border-radius:var(--radius-full);width:100%;height:4px;margin-top:var(--space-1);overflow:hidden}.file-progress-bar{background:linear-gradient(90deg, var(--color-primary-500), var(--color-primary-400));border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal)}.tabs{border-bottom:2px solid var(--color-border);margin-bottom:var(--space-6);gap:0;display:flex}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600)}.message-thread{gap:var(--space-4);flex-direction:column;display:flex}.message-bubble{max-width:80%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm)}.message-outgoing{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));color:#fff;border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.message-incoming{background:var(--color-neutral-100);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.message-internal{color:#713f12;border-bottom-left-radius:var(--radius-sm);background:#fef9c3;border:1px solid #fde68a;align-self:flex-start}.message-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.message-author{font-weight:var(--font-medium)}.timeline{padding-left:var(--space-6);position:relative}.timeline:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:11px}.timeline-item{padding-bottom:var(--space-4);position:relative}.timeline-dot{left:calc(-1 * var(--space-6) + 6px);border-radius:var(--radius-full);background:var(--color-primary-500);border:2px solid var(--color-bg);width:12px;height:12px;position:absolute;top:4px}.timeline-content{font-size:var(--text-sm)}.timeline-time{font-size:var(--text-xs);color:var(--color-text-muted)}.login-page{min-height:100vh;display:flex}.login-branding{padding:var(--space-12);background:linear-gradient(135deg,#1e3536 0%,#2d4f51 40%,#5f9ea0 100%);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-branding:before{content:"";background:radial-gradient(circle at 30%,#5f9ea033 0%,#0000 60%),radial-gradient(circle at 70% 80%,#e91e8c14 0%,#0000 40%);position:absolute;inset:0}.login-branding-content{z-index:1;max-width:480px;position:relative}.login-branding h1{color:#fff;font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.login-branding p{color:var(--color-primary-200);font-size:var(--text-lg);line-height:var(--leading-relaxed)}.login-form-side{width:480px;padding:var(--space-12);background:var(--color-bg-elevated);justify-content:center;align-items:center;display:flex}.login-form-container{width:100%;max-width:360px}.login-form-container h2{margin-bottom:var(--space-1)}.login-form-container .login-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-8)}.login-form-container .form-input{padding:var(--space-3) var(--space-4)}.login-form-container .btn{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.login-error{background:var(--color-danger-light);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.empty-state{text-align:center;padding:var(--space-16) var(--space-8)}.empty-state-icon{margin-bottom:var(--space-4);opacity:.5;font-size:48px}.empty-state h3{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state p{color:var(--color-text-muted);font-size:var(--text-sm);max-width:400px;margin:0 auto var(--space-6)}.steps{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);display:flex}.step{align-items:center;gap:var(--space-2);display:flex}.step-number{border-radius:var(--radius-full);width:32px;height:32px;font-size:var(--text-sm);font-weight:var(--font-semibold);border:2px solid var(--color-border);color:var(--color-text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.step.active .step-number{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted)}.step.active .step-label{color:var(--color-text-primary)}.step-connector{background:var(--color-border);width:40px;height:2px}.step-connector.completed{background:var(--color-success)}.calendar-grid{border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.calendar-header-cell{padding:var(--space-3);text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-neutral-50);border-bottom:1px solid var(--color-border)}.calendar-cell{min-height:100px;padding:var(--space-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated);transition:background var(--transition-fast)}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover{background:var(--color-neutral-50)}.calendar-cell.other-month{background:var(--color-neutral-50);opacity:.5}.calendar-cell.today{background:var(--color-primary-50)}.calendar-date{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.calendar-date.today{background:var(--color-primary-600);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.calendar-event{padding:2px var(--space-2);font-size:11px;font-weight:var(--font-medium);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--transition-fast);margin-bottom:2px;overflow:hidden}.calendar-event:hover{opacity:.85}@media (max-width:1024px){.login-branding{display:none}.login-form-side{width:100%}.sidebar{transition:transform var(--transition-normal);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.page-content{padding:var(--space-4)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.w-full{width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.spinner{border:2px solid var(--color-neutral-200);border-top-color:var(--color-primary-600);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dropzone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--color-neutral-50)}.dropzone:hover,.dropzone-active{border-color:var(--color-primary-400);background:var(--color-primary-50)}.dropzone-content{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.dropzone-icon{opacity:.6;font-size:36px}.dropzone-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.dropzone-text strong{color:var(--color-primary-600)}.dropzone-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.upload-file-list{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.upload-file-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex}.upload-file-item.done{border-color:var(--color-success);background:#f0fdf4}.upload-file-item.error{border-color:var(--color-danger);background:#fef2f2}.upload-file-icon{font-size:var(--text-xl);flex-shrink:0}.upload-file-info{flex:1;min-width:0}.upload-file-name{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.upload-file-meta{font-size:var(--text-xs);color:var(--color-text-muted);gap:var(--space-2);align-items:center;display:flex}.upload-status-done{color:var(--color-success);font-weight:var(--font-medium)}.upload-status-loading{color:var(--color-primary-600)}.upload-status-error{color:var(--color-danger);font-weight:var(--font-medium)}.upload-file-remove{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:var(--text-base);background:0 0;border:none}.upload-file-remove:hover{color:var(--color-danger);background:var(--color-danger-light)}.upload-progress{background:var(--color-neutral-200);border-radius:var(--radius-full);width:100%;height:4px;margin-top:var(--space-1);overflow:hidden}.upload-progress-bar{background:linear-gradient(90deg, var(--color-primary-500), var(--color-primary-400));border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal);animation:1.5s ease-in-out infinite pulse}.file-actions{gap:var(--space-2);align-items:center;display:flex}.file-actions .btn{padding:2px 8px;font-size:11px}.invoice-status-draft{color:var(--color-text-muted)}.invoice-status-sent{color:var(--color-primary-600);font-weight:var(--font-medium)}.invoice-status-paid{color:var(--color-success);font-weight:var(--font-medium)}.invoice-status-overdue{color:var(--color-danger);font-weight:var(--font-medium)}.pay-button{color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:var(--space-2);background:linear-gradient(135deg,#1a1a2e,#16213e);border:none;display:inline-flex}.pay-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:.2s ease-out slide-down}
