:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-dark: #1d4ed8;--color-secondary: #64748b;--color-secondary-light: #94a3b8;--color-secondary-dark: #475569;--color-accent: #0ea5e9;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-dark: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--text-xs: .625rem;--text-sm: .75rem;--text-base: .8125rem;--text-lg: .875rem;--text-xl: 1rem;--text-2xl: 1.125rem;--text-3xl: 1.25rem;--space-1: .25rem;--space-2: .375rem;--space-3: .5rem;--space-4: .625rem;--space-5: .75rem;--space-6: 1rem;--space-8: 1.25rem;--space-10: 1.5rem;--space-12: 2rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .625rem;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-gray-700);background-color:var(--bg-secondary);line-height:1.5;font-size:var(--text-sm)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.3;color:var(--color-gray-800)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{margin:0;color:var(--color-gray-600)}a{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color .2s ease}a:hover{color:var(--color-primary-dark)}button{border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--bg-primary);color:var(--color-gray-700);border:1px solid var(--border-medium)}.btn-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--border-dark)}.btn-ghost{background-color:transparent;color:var(--color-gray-600)}.btn-ghost:hover{background-color:var(--bg-tertiary);color:var(--color-gray-700)}input,textarea,select{border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-family:inherit;background-color:var(--bg-primary);color:var(--color-gray-700);transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-right{text-align:right}.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}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.settings-modal{width:90%;max-width:1000px;height:90%;max-height:800px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 40px #0003;border:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.settings-title{display:flex;align-items:center;gap:16px}.settings-icon{font-size:32px}.settings-title h2{margin:0;font-size:24px;font-weight:700}.close-btn{background:rgba(255,255,255,.2);border:none;border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .3s ease}.close-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}.settings-content{flex:1;display:flex;overflow:hidden}.settings-tabs{width:220px;background:rgba(248,250,252,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(229,231,235,.3);padding:24px 0;display:flex;flex-direction:column;gap:8px}.tab-btn{padding:14px 24px;background:transparent;border:none;text-align:left;cursor:pointer;transition:all .3s ease;font-size:15px;font-weight:500;color:#64748b;border-radius:0 16px 16px 0;margin-right:16px;display:flex;align-items:center;gap:12px}.tab-btn:hover{background:rgba(102,126,234,.1);color:#667eea}.tab-btn.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 20px #667eea4d}.tab-content{flex:1;padding:32px;overflow-y:auto}.tab-panel h3{margin:0 0 24px;font-size:20px;font-weight:700;color:#1f2937}.color-section{margin-bottom:32px;padding:24px;background:rgba(248,250,252,.8);border-radius:16px;border:1px solid rgba(229,231,235,.3)}.color-section h4{margin:0 0 20px;font-size:16px;font-weight:600;color:#1f2937}.color-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.color-input-group{display:flex;flex-direction:column;gap:8px}.color-input-group label{font-size:14px;font-weight:500;color:#374151}.color-picker{display:flex;align-items:center;gap:12px;padding:8px 12px;background:white;border:1px solid #d1d5db;border-radius:12px;transition:all .3s ease}.color-picker:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.color-picker input[type=color]{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer}.color-picker span{font-size:14px;color:#6b7280;font-family:Monaco,Menlo,monospace}.appointment-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:24px}.appointment-color-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:white;border:1px solid #e5e7eb;border-radius:12px;transition:all .3s ease}.appointment-color-item:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 15px #667eea33}.appointment-color-item input[type=color]{width:40px;height:40px;border:none;border-radius:10px;cursor:pointer}.appointment-color-item span{font-size:12px;color:#6b7280;font-weight:500}.color-presets{margin-top:24px}.color-presets h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.preset-buttons{display:flex;gap:12px;flex-wrap:wrap}.preset-buttons button{padding:8px 16px;background:white;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;color:#374151}.preset-buttons button:hover{background:#667eea;color:#fff;border-color:#667eea;transform:translateY(-1px)}.holiday-section{margin-bottom:32px;padding:24px;background:rgba(248,250,252,.8);border-radius:16px;border:1px solid rgba(229,231,235,.3)}.holiday-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.section-description{margin:0 0 20px;font-size:14px;color:#6b7280;line-height:1.5}.holiday-toggles{display:flex;flex-direction:column;gap:16px}.toggle-item{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:#374151}.toggle-item input[type=checkbox]{display:none}.toggle-slider{width:44px;height:24px;background:#d1d5db;border-radius:12px;position:relative;transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;background:white;border-radius:50%;top:2px;left:2px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-item input[type=checkbox]:checked+.toggle-slider{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.toggle-item input[type=checkbox]:checked+.toggle-slider:before{transform:translate(20px)}.add-holiday-form,.add-bridge-form,.add-block-form,.add-unblock-form{margin-bottom:24px}.form-row{display:flex;gap:12px;margin-bottom:12px;align-items:end}.form-row input,.form-row select{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:white;transition:all .3s ease}.form-row input:focus,.form-row select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.add-btn{padding:12px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;white-space:nowrap}.add-btn:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6b4fb0 100%);transform:translateY(-1px);box-shadow:0 4px 15px #667eea4d}.add-btn.full-width{width:100%}.checkbox-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;white-space:nowrap}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#667eea}.holiday-list,.bridge-list,.block-list,.unblock-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.holiday-item,.bridge-item,.block-item,.unblock-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:white;border:1px solid #e5e7eb;border-radius:12px;transition:all .3s ease}.holiday-item:hover,.bridge-item:hover,.block-item:hover,.unblock-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26}.holiday-item.disabled,.bridge-item.disabled,.block-item.disabled,.unblock-item.disabled{opacity:.5;background:#f9fafb}.holiday-info,.bridge-info,.block-info,.unblock-info{display:flex;flex-direction:column;gap:4px;flex:1}.holiday-name,.bridge-name,.block-title,.unblock-reason{font-weight:600;color:#1f2937;font-size:14px}.holiday-date,.bridge-dates,.block-dates,.unblock-date{font-size:13px;color:#6b7280}.holiday-type,.block-type{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;margin-top:4px}.holiday-type.custom,.block-type.vacation{background:#dbeafe;color:#1e40af}.holiday-type.national,.block-type.day_off{background:#dcfce7;color:#166534}.holiday-type.state,.block-type.maintenance{background:#fef3c7;color:#92400e}.holiday-type.city,.block-type.personal{background:#fce7f3;color:#be185d}.block-header{display:flex;align-items:center;gap:8px}.block-times{font-style:italic}.holiday-actions,.bridge-actions,.block-actions,.unblock-actions{display:flex;gap:8px}.toggle-btn,.remove-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .3s ease}.toggle-btn{background:#f3f4f6;color:#6b7280}.toggle-btn:hover{background:#e5e7eb;transform:scale(1.1)}.remove-btn{background:#fee2e2;color:#dc2626}.remove-btn:hover{background:#fecaca;transform:scale(1.1)}.schedule-section,.block-section{margin-bottom:32px;padding:24px;background:rgba(248,250,252,.8);border-radius:16px;border:1px solid rgba(229,231,235,.3)}.schedule-section h4,.block-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.lunch-break-config{display:flex;flex-direction:column;gap:20px}.lunch-time-inputs{display:flex;gap:20px;padding:16px;background:white;border-radius:12px;border:1px solid #e5e7eb}.time-input-group{display:flex;flex-direction:column;gap:8px;flex:1}.time-input-group label{font-size:14px;font-weight:500;color:#374151}.time-input-group input[type=time]{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:white;transition:all .3s ease}.time-input-group input[type=time]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-card{background:white;border:1px solid #e5e7eb;border-radius:16px;padding:20px;display:flex;gap:16px;transition:all .3s ease}.info-card:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea1a;transform:translateY(-2px)}.info-icon{font-size:32px;flex-shrink:0}.info-content h5{margin:0 0 8px;font-size:16px;font-weight:600;color:#1f2937}.info-content p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.settings-footer{padding:24px 32px;background:rgba(248,250,252,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(229,231,235,.3);display:flex;justify-content:flex-end;gap:16px}.cancel-btn,.save-btn{padding:12px 24px;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.cancel-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.save-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 15px #667eea4d}.save-btn:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6b4fb0 100%);transform:translateY(-2px);box-shadow:0 8px 25px #667eea80}@media (max-width: 768px){.settings-modal{width:95%;height:95%}.settings-content{flex-direction:column}.settings-tabs{width:100%;flex-direction:row;overflow-x:auto;padding:16px;gap:4px}.tab-btn{white-space:nowrap;margin-right:0;border-radius:8px}.color-inputs{grid-template-columns:1fr}.appointment-colors{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.form-row{flex-direction:column;gap:8px}.lunch-time-inputs{flex-direction:column;gap:16px}.info-cards{grid-template-columns:1fr}.settings-footer{flex-direction:column}}.urgent-panel{width:100%;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden;position:relative;height:100%}.urgent-panel-header{padding:20px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fef3c7 0%,#fed7aa 100%);position:sticky;top:0;z-index:10}.urgent-header-actions{display:flex;align-items:center;gap:12px}.urgent-close-btn{background:rgba(0,0,0,.1);border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#374151;transition:all .2s ease}.urgent-close-btn:hover{background:rgba(0,0,0,.15);transform:scale(1.05)}.urgent-header-content{display:flex;align-items:center;gap:12px}.urgent-icon{width:36px;height:36px;background:linear-gradient(135deg,#f59e0b,#dc2626);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 8px #f59e0b4d}.urgent-panel-header h3{margin:0;font-size:14px;font-weight:600;color:#111827;letter-spacing:-.025em}.urgent-count{background:#dc2626;color:#fff;font-size:11px;font-weight:700;padding:3px 6px;border-radius:10px;min-width:20px;text-align:center;box-shadow:0 1px 3px #dc262633}.urgent-panel-content{flex:1;padding:0;overflow-y:auto}.no-urgent-appointments{padding:60px 24px;text-align:center;color:#6b7280}.no-urgent-icon{margin:0 auto 20px;width:48px;height:48px;color:#10b981;opacity:.6}.no-urgent-appointments p{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.no-urgent-appointments span{font-size:14px;color:#9ca3af;line-height:1.4}.urgent-appointments-list{padding:12px;display:flex;flex-direction:column;gap:8px}.urgent-appointment-card{background:white;border-radius:8px;border:1px solid #e5e7eb;border-left:3px solid;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;cursor:pointer;padding:12px}.urgent-appointment-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026;border-color:#d1d5db}.urgent-card-content{display:flex;flex-direction:column;gap:8px}.client-name{font-size:14px;font-weight:600;color:#111827;line-height:1.2}.urgency-badge{padding:2px 6px;border-radius:4px;color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.urgency-description{font-size:12px;color:#6b7280;line-height:1.4;font-style:italic;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.reported-time{color:#9ca3af;font-weight:500;font-size:10px}.urgent-panel::-webkit-scrollbar{width:6px}.urgent-panel::-webkit-scrollbar-track{background:#f1f5f9}.urgent-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.urgent-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.urgent-panel-content::-webkit-scrollbar{width:6px}.urgent-panel-content::-webkit-scrollbar-track{background:#f1f5f9}.urgent-panel-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.urgent-panel-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes urgentPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.urgent-appointment-card.critical-card{animation:urgentPulse 3s ease-in-out infinite;box-shadow:0 0 15px #dc26264d}@media (max-width: 1200px){.urgent-panel-header{padding:16px}.urgent-appointments-list{padding:12px}.urgent-appointment-card{margin-bottom:12px}}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);z-index:1000;display:flex;align-items:stretch;transition:background .3s ease,backdrop-filter .3s ease}.drawer-overlay-open{background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer{background:white;height:100vh;box-shadow:0 0 20px #0000004d;display:flex;flex-direction:column;transition:transform .3s ease;width:400px;max-width:90vw}.drawer-left{transform:translate(-100%)}.drawer-right{margin-left:auto;transform:translate(100%)}.drawer-left.drawer-open,.drawer-right.drawer-open{transform:translate(0)}@media (max-width: 768px){.drawer{width:100%;max-width:100%}}.topbar{width:100%;height:50px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative;z-index:1000;box-shadow:0 4px 20px #667eea26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.topbar-logo{display:flex;align-items:center;flex-shrink:0}.logo-container{display:flex;align-items:center;gap:12px}.logo-icon{width:32px;height:32px;background:rgba(255,255,255,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.logo-icon:hover{background:rgba(255,255,255,.25);transform:translateY(-1px) scale(1.05);box-shadow:0 6px 20px #fff3}.logo-text{display:flex;flex-direction:column;color:#fff}.brand-name{font-size:14px;font-weight:700;line-height:1.2;letter-spacing:-.3px}.brand-subtitle{font-size:10px;font-weight:400;opacity:.8;line-height:1;margin-top:1px}.topbar-nav{display:flex;align-items:center;gap:8px;flex:1;justify-content:center;max-width:600px}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fffc;background:transparent;border:1px solid transparent;position:relative;min-width:60px}.nav-item svg{width:16px;height:16px;transition:all .3s ease;flex-shrink:0}.nav-label{font-size:9px;font-weight:500;text-align:center;opacity:.9;transition:all .3s ease}.nav-item:hover{color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px);border-color:#fff3}.nav-item:hover .nav-label{opacity:1}.nav-item.active{background:rgba(255,255,255,.2);color:#fff;border-color:#ffffff4d;box-shadow:0 4px 15px #ffffff1a}.nav-item.active svg{transform:scale(1.15)}.nav-item.active .nav-label{font-weight:600;opacity:1}.nav-item:active{transform:translateY(-1px) scale(.98);transition:all .1s ease}.topbar-user{display:flex;align-items:center;gap:16px;flex-shrink:0}.user-info{display:flex;align-items:center;gap:12px}.user-welcome{color:#fff;font-size:12px;font-weight:500;opacity:.9}.user-avatar{width:28px;height:28px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:11px;border:2px solid rgba(255,255,255,.2);transition:all .3s ease}.user-avatar:hover{background:rgba(255,255,255,.25);border-color:#fff6;transform:scale(1.05)}.user-actions{display:flex;align-items:center;gap:8px}.action-item{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#ffffffb3;background:transparent;border:1px solid transparent;position:relative}.action-item svg{width:14px;height:14px;transition:all .3s ease}.action-item:hover{color:#fff;background:rgba(255,255,255,.1);transform:translateY(-1px);border-color:#fff3}.action-item:hover svg{transform:scale(1.1)}.action-item:active{transform:translateY(0) scale(.95);transition:all .1s ease}.nav-item:after,.action-item:after{content:attr(data-tooltip);position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);pointer-events:none}.nav-item:hover:after,.action-item:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}@media (max-width: 1200px){.topbar{padding:0 24px}.topbar-nav{gap:4px}.nav-item{padding:6px 12px;min-width:70px}.brand-subtitle{display:none}}@media (max-width: 900px){.topbar{padding:0 16px}.logo-text,.nav-label{display:none}.nav-item{min-width:44px;padding:8px}.user-welcome{display:none}}@media (max-width: 600px){.topbar{height:60px;padding:0 12px}.topbar-nav{gap:2px}.nav-item{padding:6px 8px;min-width:40px}.nav-item svg{width:18px;height:18px}.logo-icon{width:32px;height:32px}.logo-svg{width:16px;height:16px}.user-avatar{width:32px;height:32px;font-size:12px}.action-item{width:32px;height:32px}.action-item svg{width:16px;height:16px}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.topbar{animation:fadeInDown .4s ease-out}.topbar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:inherit;z-index:-1}.urgent-action{position:relative}.urgent-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border-radius:50%;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 4px;border:2px solid white;box-shadow:0 2px 8px #ef444466;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.urgent-action svg{color:#f59e0b}.urgent-action:hover svg{color:#d97706}.toast{position:fixed;top:24px;right:24px;min-width:300px;max-width:500px;padding:16px 20px;border-radius:12px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 40px #0003;animation:slideIn .3s ease-out;z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff}.toast-error{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff}.toast-warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff}.toast-info{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff}.toast-icon{font-size:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);border-radius:50%;font-weight:700}.toast-message{flex:1;font-size:15px;font-weight:500;line-height:1.4}.toast-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:background .2s}.toast-close:hover{background:rgba(255,255,255,.3)}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.confirm-dialog{background:white;border-radius:20px;padding:32px;max-width:440px;width:90%;box-shadow:0 20px 60px #0000004d;animation:scaleIn .3s ease-out;text-align:center}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.confirm-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 20px}.confirm-icon-danger{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%)}.confirm-icon-warning{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.confirm-icon-info{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.confirm-title{font-size:22px;font-weight:600;color:#111827;margin:0 0 12px}.confirm-message{font-size:15px;color:#6b7280;margin:0 0 28px;line-height:1.6}.confirm-actions{display:flex;gap:12px}.confirm-btn-cancel,.confirm-btn-confirm{flex:1;padding:12px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn-cancel{background:#f3f4f6;color:#374151}.confirm-btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.confirm-btn-confirm{color:#fff}.confirm-btn-danger{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.confirm-btn-danger:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.confirm-btn-warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.confirm-btn-warning:hover{background:linear-gradient(135deg,#d97706 0%,#b45309 100%);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.confirm-btn-info{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.confirm-btn-info:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.odontogram-container{padding:20px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a}.odontogram-header{text-align:center;margin-bottom:20px}.odontogram-header h3{color:#374151;margin:0 0 8px;font-size:1.5rem}.odontogram-subtitle{color:#6b7280;margin:0;font-size:.9rem}.odontogram-view{max-width:1000px;margin:0 auto}.odontogram-view.linear-layout{display:flex;flex-direction:column;align-items:center;gap:20px}.teeth-row{display:flex;gap:6px;justify-content:center;align-items:center}.teeth-row.upper-teeth{margin-bottom:10px}.teeth-row.lower-teeth{margin-top:10px}.tooth-wrapper{position:relative}.tooth-container{width:50px;height:70px;position:relative;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center}.tooth-container.clickable:hover{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.tooth-container.read-only:hover{transform:none;filter:none}.tooth-svg{width:100%;height:60px;transition:all .2s ease}.tooth-svg.missing-tooth{opacity:.5}.tooth{width:40px;height:40px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.7rem;position:relative;border:2px solid rgba(255,255,255,.2);transition:all .2s ease}.tooth.clickable{cursor:pointer}.tooth.clickable:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.tooth-number{font-size:.7rem;line-height:1;color:#374151;font-weight:600;margin-top:4px;text-shadow:0 1px 2px rgba(255,255,255,.8)}.tooth-procedures{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}.tooth-treatments-info{position:absolute;top:-8px;right:-8px;display:flex;gap:2px;flex-direction:row;z-index:10}.tooth-treatments-info span{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tooth-treatments-info .planned{background:#f59e0b}.tooth-treatments-info .in-progress{background:#3b82f6}.tooth-treatments-info .completed{background:#10b981}.tooth.has-treatments{box-shadow:0 0 8px #3b82f666}.tooth-container.has-treatments .tooth-svg{filter:drop-shadow(0 0 4px rgba(59,130,246,.3))}.treatment-legend{margin-top:20px;padding-top:15px;border-top:1px solid #e5e7eb}.treatment-legend h4{margin:0 0 10px;color:#374151;font-size:.9rem}.treatment-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.7rem;font-weight:700;color:#fff;margin-right:5px}.treatment-badge.planned{background:#f59e0b}.treatment-badge.in-progress{background:#3b82f6}.treatment-badge.completed{background:#10b981}.odontogram-separator{display:flex;justify-content:center;margin:20px 0}.separator-line{width:600px;height:2px;background:linear-gradient(to right,transparent,#d1d5db,transparent)}.odontogram-legend{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb}.odontogram-legend h4{margin:0 0 15px;color:#374151;font-size:1rem}.legend-items{display:flex;flex-wrap:wrap;gap:15px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.modal-content{background:white;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header h3{margin:0;color:#374151}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#374151}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer{padding:20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.btn-secondary{background:#6b7280;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.btn-secondary:hover{background:#4b5563}.treatment-search-container{display:flex;gap:8px;margin-bottom:10px}.treatment-search{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.btn-add-treatment{background:#10b981;color:#fff;border:none;border-radius:6px;width:40px;height:40px;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-add-treatment:hover{background:#059669}.treatments-dropdown{max-height:200px;overflow-y:auto;border:1px solid #d1d5db;border-radius:6px;background:white;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:10px}.treatment-option{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer;border-bottom:1px solid #f3f4f6}.treatment-option:hover{background:#f9fafb}.treatment-option:last-child{border-bottom:none}.treatment-color{width:20px;height:20px;border-radius:4px;flex-shrink:0;border:1px solid rgba(255,255,255,.3)}.treatment-info{flex:1}.treatment-name{font-weight:500;color:#374151;font-size:14px}.treatment-category{font-size:12px;color:#6b7280;text-transform:capitalize}.no-treatments{padding:20px;text-align:center;color:#6b7280}.no-treatments p{margin:0 0 10px}.btn-create-treatment{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.btn-create-treatment:hover{background:#2563eb}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.new-treatment-form{margin-top:20px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.new-treatment-form h4{margin:0 0 20px;color:#374151;font-size:1.1rem}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.existing-treatments{margin-top:20px;padding:15px;background:#fefefe;border:1px solid #e5e7eb;border-radius:8px}.existing-treatments h4{margin:0 0 15px;color:#374151;font-size:1rem}.existing-treatment{display:flex;align-items:center;gap:12px;padding:10px;margin-bottom:8px;background:white;border:1px solid #e5e7eb;border-radius:6px}.existing-treatment:last-child{margin-bottom:0}.treatment-details{flex:1}.treatment-details .treatment-name{font-weight:500;color:#374151;margin-bottom:4px}.treatment-status{font-size:12px;color:#6b7280;margin-bottom:2px}.treatment-notes{font-size:12px;color:#9ca3af;font-style:italic}@media (max-width: 768px){.teeth-row{gap:3px;flex-wrap:wrap;justify-content:center}.tooth-container{width:40px;height:60px}.tooth-svg{height:50px}.tooth-number{font-size:.6rem}.separator-line{width:90%}.tooth{width:35px;height:35px}.legend-items{justify-content:center}.modal-content{max-width:95%}.form-row{flex-direction:column;gap:0}.treatment-search-container{flex-direction:column}.btn-add-treatment{width:100%;height:auto;padding:10px}}.professional-dental-chart{display:flex;flex-direction:column;align-items:center;gap:30px;padding:30px 20px;background:#ffffff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;max-width:1000px;margin:0 auto}.dental-arch{display:flex;flex-direction:column;align-items:center;width:100%}.arch-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:15px;padding:0 20px}.side-label{font-size:.9rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.arch-title{font-size:1.1rem;font-weight:700;color:#1e293b;text-align:center;letter-spacing:1px}.teeth-row.maxila,.teeth-row.mandibula{display:flex;align-items:center;justify-content:center;gap:6px;margin:15px 0;flex-wrap:wrap}.teeth-row.maxila,.teeth-row.mandibula{order:1}.professional-dental-chart .tooth-container{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease;padding:5px;border-radius:8px;width:50px;height:70px}.professional-dental-chart .tooth-container:hover{transform:translateY(-3px);background:rgba(59,130,246,.05);box-shadow:0 4px 12px #3b82f626}.professional-dental-chart .tooth-container .tooth-number{font-size:.75rem;font-weight:600;color:#475569;margin-top:4px;text-align:center}.tooth-categories{display:flex;justify-content:center;align-items:center;gap:8px;margin:10px 0;width:100%;flex-wrap:wrap}.tooth-categories.upper-categories{order:2;margin-top:20px}.tooth-categories.lower-categories{order:0;margin-bottom:20px}.category{font-size:.8rem;font-weight:500;color:#64748b;text-align:center;padding:4px 8px;border-radius:4px;background:rgba(100,116,139,.1);border:1px solid rgba(100,116,139,.2);min-width:70px;transition:all .2s ease}.category.molares{color:#7c3aed;background:rgba(124,58,237,.1);border-color:#7c3aed33}.category.pre-molares{color:#059669;background:rgba(5,150,105,.1);border-color:#05966933}.category.caninos{color:#dc2626;background:rgba(220,38,38,.1);border-color:#dc262633}.category.incisivos{color:#2563eb;background:rgba(37,99,235,.1);border-color:#2563eb33}.arch-separator{width:80%;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.2) 20%,rgba(59,130,246,.4) 50%,rgba(59,130,246,.2) 80%,transparent 100%);border-radius:2px;margin:20px 0}@media (max-width: 768px){.professional-dental-chart{padding:20px 10px;gap:20px}.arch-header{padding:0 10px}.side-label,.arch-title{font-size:.8rem}.teeth-row.maxila,.teeth-row.mandibula{gap:4px}.professional-dental-chart .tooth-container{padding:3px;width:45px;height:65px}.tooth-categories{gap:4px}.category{font-size:.7rem;padding:2px 6px;min-width:60px}}@media (max-width: 480px){.teeth-row.maxila,.teeth-row.mandibula{gap:2px}.professional-dental-chart .tooth-container{width:40px;height:60px}.tooth-categories{flex-direction:column;gap:8px}.category{width:100%;min-width:auto}}.medical-record-container{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.medical-record-header{padding:24px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.medical-record-header h3{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.record-subtitle{margin:8px 0 0;color:#6b7280;font-size:.9rem}.add-entry-btn{background:#3b82f6;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s ease}.add-entry-btn:hover{background:#2563eb}.new-entry-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:24px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-header h4{margin:0;color:#1f2937;font-size:1.1rem;font-weight:600}.form-close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:color .2s ease}.form-close-btn:hover{color:#374151;background:rgba(0,0,0,.05)}.form-grid{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-group label{margin-bottom:6px;font-weight:500;color:#374151;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background-color .2s ease}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background-color .2s ease}.entries-list{padding:24px}.empty-state{text-align:center;padding:40px 20px;color:#6b7280}.empty-state p{margin:8px 0;line-height:1.5}.entries-timeline{display:flex;flex-direction:column;gap:20px}.entry-card{background:white;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:box-shadow .2s ease}.entry-card:hover{box-shadow:0 4px 12px #0000001a}.entry-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.entry-meta{display:flex;flex-direction:column;gap:8px}.entry-type-badge{display:inline-flex;align-items:center;gap:6px;background:#3b82f6;color:#fff;padding:4px 12px;border-radius:16px;font-size:.8rem;font-weight:500;width:fit-content}.entry-datetime{font-size:.85rem;color:#6b7280}.entry-professional{font-size:.85rem;color:#4b5563;font-weight:500}.delete-entry-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:4px;transition:background-color .2s ease;font-size:14px}.delete-entry-btn:hover{background:rgba(239,68,68,.1)}.entry-content{padding:20px}.entry-title{margin:0 0 16px;color:#1f2937;font-size:1.1rem;font-weight:600}.entry-description{margin-bottom:16px}.entry-description strong{display:block;margin-bottom:6px;color:#374151;font-size:.9rem}.entry-description p,.entry-section p{margin:0;color:#4b5563;line-height:1.6;background:#f9fafb;padding:12px;border-radius:6px;border-left:3px solid #e5e7eb}.entry-section{margin-bottom:16px}.entry-section strong{display:block;margin-bottom:6px;color:#374151;font-size:.9rem}.entry-footer{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.next-appointment{display:inline-flex;align-items:center;gap:6px;background:#dbeafe;color:#1e40af;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:500}@media (max-width: 768px){.medical-record-header{flex-direction:column;align-items:flex-start}.form-row{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions button{flex:1}.entry-header{flex-direction:column;gap:12px}.entry-meta{width:100%}.delete-entry-btn{align-self:flex-end}}@media (max-width: 480px){.medical-record-header,.new-entry-form,.entries-list,.entry-content{padding:16px}.entry-header{padding:12px 16px}}.odontogram-wrapper{padding:20px;background:white;border-radius:8px}.odontogram-header{margin-bottom:30px;text-align:center}.odontogram-header h3{margin:0 0 8px;color:#1a1a1a;font-size:24px}.odontogram-header p{margin:0;color:#666;font-size:14px}.odontogram-loading{text-align:center;padding:40px;color:#666}.odontogram-chart{max-width:1200px;margin:0 auto}.dental-arch{margin:20px 0}.arch-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.arch-name{font-weight:600;color:#1a1a1a;font-size:14px}.teeth-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.arch-divider{height:2px;background:linear-gradient(to right,transparent,#e5e7eb,transparent);margin:30px 0}.tooth-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.tooth-btn{position:relative;width:50px;height:70px;background:transparent;border:none;cursor:pointer;padding:0;transition:transform .2s}.tooth-btn:not(.readonly):hover{transform:scale(1.1)}.tooth-btn.readonly{cursor:default}.tooth-svg{width:100%;height:100%}.tooth-shape{fill:#f3f4f6;stroke:#9ca3af;stroke-width:2;transition:all .2s}.tooth-btn:not(.readonly):hover .tooth-shape{fill:#e5e7eb}.tooth-btn.has-procedure .tooth-shape{fill:#10b981;stroke:#059669}.tooth-btn.has-procedure:not(.readonly):hover .tooth-shape{fill:#059669}.procedure-count{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.tooth-number{font-size:12px;font-weight:500;color:#4b5563}.odontogram-legend{margin-top:30px;padding:20px;background:#f9fafb;border-radius:8px;display:flex;gap:30px;justify-content:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#4b5563}.badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px}.badge-procedure{background:#10b981;color:#fff;font-size:18px}.badge-count{background:#ef4444;color:#fff;font-size:12px;font-weight:600}.tooth-panel{width:90%;max-width:500px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:20px;color:#1a1a1a}.modal-close{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#1a1a1a}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b981}.form-group textarea{resize:vertical;font-family:inherit}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#10b981;color:#fff}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.error-message{background:#fee2e2;color:#991b1b;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.clinical-history{padding:20px}.history-header{margin-bottom:24px}.history-header h3{margin:0 0 16px;color:#1a1a1a;font-size:20px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-buttons button{padding:8px 16px;border:1px solid #e5e7eb;background:white;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.filter-buttons button:hover{background:#f9fafb}.filter-buttons button.active{background:#10b981;color:#fff;border-color:#10b981}.history-timeline{position:relative}.timeline-item{margin-bottom:16px}.history-card{background:white;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:box-shadow .2s}.history-card:hover{box-shadow:0 4px 6px -1px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.type-badge{font-size:14px;font-weight:500;color:#374151}.date{font-size:12px;color:#6b7280}.card-body{padding:16px}.card-body h4{margin:0 0 12px;color:#1a1a1a;font-size:16px}.card-body p{margin:8px 0;color:#4b5563;font-size:14px;line-height:1.5}.tooth-info{display:flex;gap:12px;margin-bottom:12px}.tooth-number{display:inline-flex;align-items:center;padding:4px 12px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:13px;font-weight:500}.procedure-type{display:inline-flex;align-items:center;padding:4px 12px;background:#d1fae5;color:#065f46;border-radius:4px;font-size:13px;font-weight:500}.structured-content{background:#f9fafb;padding:12px;border-radius:6px;margin-top:8px}.structured-content .field{margin-bottom:8px;font-size:14px;color:#4b5563}.structured-content .field:last-child{margin-bottom:0}.structured-content .field strong{color:#1a1a1a;margin-right:8px}.linked-appointment{margin-top:12px;padding:8px 12px;background:#fef3c7;color:#92400e;border-radius:6px;font-size:13px}.appointment-details{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.appointment-details span{display:flex;align-items:center;gap:4px;font-size:14px;color:#4b5563}.services-list,.products-list{margin-top:8px;padding:8px 12px;background:#f9fafb;border-radius:6px;font-size:14px;color:#4b5563}.services-list strong,.products-list strong{color:#1a1a1a;display:block;margin-bottom:4px}.loading,.no-history{text-align:center;padding:40px;color:#6b7280}.no-history p{margin:0;font-size:16px}.clinical-note{border-left:4px solid #10b981}.appointment-history{border-left:4px solid #3b82f6}.record{border-left:4px solid #8b5cf6}.form-section{margin-bottom:24px}.form-section h4{margin:0 0 16px;color:#1a1a1a;font-size:16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.anamnese-form,.prontuario-form{max-width:900px;margin:0 auto}.form-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.form-header h3{margin:0 0 8px;color:#1a1a1a;font-size:20px}.last-update{margin:0;font-size:13px;color:#6b7280}.badge{display:inline-flex;align-items:center;padding:4px 12px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:12px;font-weight:500}.clinical-module{display:flex;flex-direction:column;height:100%;background:white;border-radius:8px}.clinical-tabs{display:flex;gap:4px;padding:16px 16px 0;border-bottom:2px solid #e5e7eb;background:#f9fafb;border-radius:8px 8px 0 0}.tab-btn{padding:12px 20px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.tab-btn:hover{background:#e5e7eb;color:#1a1a1a}.tab-btn.active{background:white;color:#10b981;border-bottom:2px solid #10b981}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#10b981}.clinical-content{flex:1;overflow-y:auto;padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.btn-primary{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#059669}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:40px;color:#6b7280;font-size:16px}.client-tab-form{width:100%}.tab-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px}.tab-info{flex:1}.tab-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#1e293b}.tab-icon{font-size:1.125rem}.tab-description{margin:0;font-size:.875rem;color:#64748b;line-height:1.4}.history-btn{background:#ffffff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.history-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#334155;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.history-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}@media (max-width: 768px){.tab-header{flex-direction:column;gap:12px;align-items:stretch}.history-btn{align-self:flex-end;width:fit-content}}.form-fields{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:32px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field.array,.form-field.files{grid-column:1 / -1}.form-label{display:flex;align-items:center;gap:4px;color:var(--color-gray-700);font-size:.95rem;font-weight:600;margin-bottom:4px}.required-asterisk{color:var(--color-danger);font-weight:700}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid var(--border-medium);border-radius:8px;font-size:.95rem;background:var(--bg-primary);color:var(--color-gray-800);transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #14b8a61a}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.form-select{cursor:pointer}.form-input.small{padding:8px 12px;font-size:.9rem}.currency-input{position:relative;display:flex;align-items:center}.currency-symbol{position:absolute;left:16px;color:var(--color-gray-500);font-weight:600;z-index:1}.currency-input .form-input{padding-left:48px}.color-input-container{display:flex;gap:12px;align-items:center}.color-input{width:60px;height:44px;border:2px solid var(--border-medium);border-radius:8px;cursor:pointer;background:none}.color-text{flex:1;max-width:200px}.switch-label{display:flex;align-items:center;cursor:pointer;width:fit-content}.switch-input{display:none}.switch-slider{position:relative;width:60px;height:32px;background:var(--color-gray-300);border-radius:32px;transition:all .3s ease}.switch-slider:before{content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:white;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.switch-input:checked+.switch-slider{background:var(--color-primary)}.switch-input:checked+.switch-slider:before{transform:translate(28px)}.multiselect-container{display:flex;flex-direction:column;gap:12px;max-height:200px;overflow-y:auto;padding:12px;border:2px solid var(--border-medium);border-radius:8px;background:var(--bg-secondary)}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease}.checkbox-label:hover{background:rgba(20,184,166,.05)}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--border-medium);border-radius:4px;position:relative;transition:all .3s ease}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;color:#fff;font-size:14px;font-weight:700;top:-1px;left:3px}.array-field{display:flex;flex-direction:column;gap:12px}.array-item{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px}.array-item-content{flex:1}.object-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.object-field{display:flex;flex-direction:column;gap:4px}.object-field label{color:var(--color-gray-600);font-size:.85rem;font-weight:500}.remove-item-btn{background:var(--color-danger);color:#fff;border:none;border-radius:6px;width:32px;height:32px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.remove-item-btn:hover{background:#dc2626;transform:scale(1.05)}.add-item-btn{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:12px 20px;cursor:pointer;transition:all .3s ease;font-weight:600;align-self:flex-start}.add-item-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.file-upload{border:3px dashed var(--border-medium);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary)}.file-upload:hover{border-color:var(--color-primary);background:rgba(20,184,166,.05)}.file-input{display:none}.file-upload-text{color:var(--color-gray-600);font-weight:500;margin-top:8px}.form-notes{border-top:2px solid var(--border-light);padding-top:24px}.form-notes .form-label{color:var(--color-gray-600);font-size:1rem}.no-fields{text-align:center;padding:60px 20px;color:var(--color-gray-500)}.no-fields p{font-size:1.1rem;margin:0}.saving-indicator-bottom{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.2);border-radius:8px;color:var(--color-primary);font-weight:600;margin-top:24px}.saving-spinner{animation:pulse 1.5s ease-in-out infinite alternate}.odontogram-container{width:100%;max-width:800px;margin:0 auto}.odontogram-grid{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.teeth-row{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.tooth{width:40px;height:50px;border:2px solid var(--border-medium);border-radius:8px 8px 4px 4px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4px;background:white}.tooth:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.tooth-number{font-size:8px;font-weight:700;color:var(--color-gray-600)}.tooth-visual{width:24px;height:30px;border-radius:4px 4px 2px 2px;transition:all .3s ease}.tooth.healthy .tooth-visual{background:#10b981;border:1px solid #059669}.tooth.cavity .tooth-visual{background:#ef4444;border:1px solid #dc2626}.tooth.filling .tooth-visual{background:#6366f1;border:1px solid #4f46e5}.tooth.crown .tooth-visual{background:#f59e0b;border:1px solid #d97706}.tooth.missing .tooth-visual{background:var(--color-gray-300);border:1px solid var(--color-gray-400);opacity:.5}.odontogram-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light)}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--color-gray-700)}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid var(--border-medium)}.legend-color.healthy{background:#10b981}.legend-color.cavity{background:#ef4444}.legend-color.filling{background:#6366f1}.legend-color.crown{background:#f59e0b}.legend-color.missing{background:var(--color-gray-300)}.form-actions{display:flex;justify-content:center;margin-top:32px;padding-top:24px;border-top:2px solid var(--border-light)}.save-btn{background:linear-gradient(135deg,var(--color-primary) 0%,#0d9488 100%);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #14b8a64d}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #14b8a666}.save-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 768px){.form-fields{gap:20px}.odontogram-grid{gap:16px}.tooth{width:32px;height:40px}.tooth-visual{width:20px;height:24px}.tooth-number{font-size:7px}.odontogram-legend{gap:12px}.legend-item{font-size:.8rem}.color-input-container{flex-direction:column;align-items:stretch;gap:8px}.color-text{max-width:none}.object-fields{grid-template-columns:1fr;gap:8px}.array-item{flex-direction:column;gap:8px}.remove-item-btn{align-self:flex-end;width:40px;height:40px}.file-upload{padding:24px 16px}}.form-container{display:flex;flex-direction:column;gap:2rem}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease}.form-section:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.section-title{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.section-title:before{content:"";width:4px;height:22px;background:linear-gradient(135deg,var(--color-primary),#0d9488);border-radius:3px}.section-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;align-items:start}.form-section .form-field{background:white;padding:1rem;border-radius:8px;border:1px solid #f1f5f9;transition:all .2s ease}.form-section .form-field:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #14b8a61a}.form-section .form-field:focus-within{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a626}.form-section .form-field.boolean{flex-direction:row;align-items:center;gap:1rem;padding:1.25rem}.form-section .form-field.boolean .form-label{margin-bottom:0;order:2;font-weight:600}.two-columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.two-columns-grid .form-field{width:100%}.two-columns-grid .form-field.width-50{grid-column:span 1}.rich-textarea-container{position:relative}.rich-textarea-toolbar{display:flex;gap:8px;padding:8px;background:var(--bg-secondary);border:2px solid var(--border-medium);border-bottom:none;border-radius:8px 8px 0 0;margin-bottom:0}.toolbar-btn{padding:4px 8px;border:1px solid var(--border-medium);background:var(--bg-primary);color:var(--color-gray-700);border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.toolbar-btn:hover{background:var(--color-gray-100);border-color:var(--color-primary)}.rich-textarea{border-radius:0 0 8px 8px!important;min-height:120px;font-family:inherit}.rich-textarea-container .rich-textarea{border-top:none}.layout-full-width .section-fields{display:block}.layout-full-width .form-field{margin-bottom:20px}.layout-two-columns .section-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.section-fields,.two-columns-grid,.layout-two-columns .section-fields{grid-template-columns:1fr;gap:1rem}.form-section{padding:1rem}.section-title{font-size:1rem}}@media (min-width: 768px){.form-fields{grid-template-columns:repeat(2,1fr);gap:24px 32px}.form-field.textarea,.form-field.array,.form-field.files{grid-column:1 / -1}}@media (min-width: 1024px){.form-fields{grid-template-columns:repeat(3,1fr)}.form-field.textarea,.form-field.array,.form-field.files{grid-column:1 / -1}.section-fields{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}.form-intro{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center}.intro-text{color:#0369a1;font-size:1.1rem;font-weight:500;margin:0;line-height:1.6}.form-checkbox{width:20px;height:20px;margin:0;cursor:pointer;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #d1d5db;border-radius:4px;background:white;transition:all .2s ease}.form-checkbox:hover{border-color:var(--color-primary);transform:scale(1.05)}.form-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.form-checkbox:checked:after{content:"✓";position:absolute;top:-2px;left:2px;color:#fff;font-size:14px;font-weight:700}.form-checkbox:focus{outline:2px solid rgba(20,184,166,.2);outline-offset:2px}.radio-group{display:flex;flex-direction:column;gap:12px;padding:8px 0}.radio-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px 16px;border-radius:8px;background:white;border:2px solid #f1f5f9;transition:all .2s ease;font-weight:500}.radio-label:hover{border-color:var(--color-primary);background:rgba(20,184,166,.02);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.form-radio{width:20px;height:20px;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #d1d5db;border-radius:50%;background:white;transition:all .2s ease;position:relative}.form-radio:checked{border-color:var(--color-primary);background:var(--color-primary)}.form-radio:checked:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:white}.radio-text{color:#374151;font-size:.95rem}.radio-label:hover .radio-text{color:var(--color-primary)}.checkbox-group{display:grid;gap:12px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.checkbox-group.grid-3-columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checkbox-group .checkbox-label{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;margin:0;transition:all .2s ease;font-size:.95rem;font-weight:500}.checkbox-group .checkbox-label:hover{border-color:var(--color-primary);background:rgba(20,184,166,.02);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.checkbox-text{color:#374151;margin-left:8px}.checkbox-group .checkbox-label:hover .checkbox-text{color:var(--color-primary)}.field-agreement{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:20px;margin:16px 0}.field-agreement .checkbox-container{display:flex;align-items:flex-start;gap:16px}.field-agreement .form-checkbox{margin-top:3px;width:24px;height:24px;border-width:3px}.field-agreement .checkbox-text{font-size:1rem;font-weight:600;color:#92400e;line-height:1.5}.field-help-text{font-size:.85rem;color:#6b7280;margin-top:8px;line-height:1.4;font-style:italic;padding:8px 12px;background:#f9fafb;border-radius:6px;border-left:3px solid #d1d5db}.field-readonly{background:#f9fafb!important;color:#6b7280!important;border-color:#e5e7eb!important;cursor:not-allowed}.field-readonly:focus{box-shadow:none!important;border-color:#e5e7eb!important}.btn-submit-anamnese{background:linear-gradient(135deg,#0f766e 0%,#059669 100%);color:#fff;border:none;border-radius:12px;padding:18px 40px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 6px 20px #0f766e66;min-width:200px;text-transform:uppercase;letter-spacing:.5px}.btn-submit-anamnese:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 30px #0f766e99;background:linear-gradient(135deg,#0d9488 0%,#10b981 100%)}.btn-submit-anamnese:active{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,#0d9488 100%)}.form-field.required .form-label:after{content:" *";color:#ef4444;font-weight:700}.form-field.error .form-input,.form-field.error .form-textarea,.form-field.error .form-select{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.field-error-message{color:#ef4444;font-size:.85rem;margin-top:4px;font-weight:500}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-section{animation:slideInUp .6s ease-out}.form-section:nth-child(2){animation-delay:.1s}.form-section:nth-child(3){animation-delay:.2s}.form-section:nth-child(4){animation-delay:.3s}.form-section:nth-child(5){animation-delay:.4s}@media (max-width: 768px){.checkbox-group.grid-3-columns{grid-template-columns:1fr}.radio-group{gap:8px}.radio-label,.checkbox-group .checkbox-label{padding:10px 12px}.btn-submit-anamnese{padding:16px 32px;font-size:1rem;width:100%}.form-intro{padding:1rem;margin-bottom:1.5rem}.intro-text{font-size:1rem}.field-agreement{padding:16px}}@media (prefers-color-scheme: dark){.form-intro{background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%);border-color:#3b82f6}.intro-text{color:#dbeafe}.checkbox-group{background:#1f2937;border-color:#374151}.checkbox-group .checkbox-label,.radio-label{background:#111827;border-color:#374151;color:#f9fafb}.field-agreement{background:#451a03;border-color:#d97706}.field-agreement .checkbox-text{color:#fbbf24}}.history-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.history-modal{background:white;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:90%;max-height:80vh;display:flex;flex-direction:column}.history-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;background:#f9fafb;border-radius:8px 8px 0 0}.history-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.history-subtitle{margin:4px 0 0;font-size:.875rem;color:#6b7280}.history-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:4px;line-height:1}.history-close:hover{color:#374151}.history-content{flex:1;overflow-y:auto;padding:20px}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.history-empty{text-align:center;padding:40px;color:#6b7280}.history-list{display:flex;flex-direction:column;gap:16px}.history-entry{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.history-entry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.history-entry-action{display:flex;align-items:center;gap:8px;flex:1}.history-action-icon{font-size:1.125rem;font-weight:600}.history-action-text{font-weight:500;color:#374151}.history-entry-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.75rem;color:#6b7280}.history-user{font-weight:500}.history-timestamp{font-style:italic}.history-changes{border-top:1px solid #e5e7eb;padding-top:12px}.history-changes h4{margin:0 0 8px;font-size:.875rem;font-weight:600;color:#374151}.history-change{margin-bottom:8px;padding:8px;background:white;border-radius:4px;border:1px solid #e5e7eb}.change-field{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:4px}.change-details{font-size:.875rem}.change-added{color:#059669;font-weight:500}.change-modified{display:flex;flex-direction:column;gap:2px}.change-old{color:#dc2626;text-decoration:line-through}.change-new{color:#059669;font-weight:500}.change-removed{color:#dc2626;font-weight:500}@media (max-width: 768px){.history-modal{width:95%;max-height:90vh}.history-header,.history-content{padding:16px}.history-entry-header{flex-direction:column;gap:8px}.history-entry-meta{align-items:flex-start;flex-direction:row;gap:8px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.finalize-modal{background:white;border-radius:var(--radius-xl);width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:var(--text-2xl);font-weight:600;color:var(--color-gray-800)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-6)}.section{margin-bottom:var(--space-6)}.section h3{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:600;color:var(--color-gray-700)}.service-selector{display:flex;flex-direction:column;gap:var(--space-3)}.selected-items{display:flex;flex-direction:column;gap:var(--space-2)}.item-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg);gap:var(--space-3)}.item-row span{color:var(--color-gray-700)}.price{font-weight:600;color:var(--color-gray-800);margin-left:auto}.btn-remove{background:transparent;border:none;cursor:pointer;font-size:18px;padding:4px;transition:transform .2s ease}.btn-remove:hover{transform:scale(1.1)}.product-select,.payment-select{width:100%;padding:var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all .2s ease}.product-select:focus,.payment-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.qty-control{display:flex;align-items:center;gap:8px;background:white;border-radius:var(--radius-md);padding:4px}.qty-control button{width:28px;height:28px;border:1px solid var(--border-medium);background:white;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .2s ease}.qty-control button:hover{background:var(--bg-secondary);border-color:var(--color-primary)}.qty-control input{width:50px;text-align:center;border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:4px;font-weight:600}textarea{width:100%;padding:var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:inherit;resize:vertical;transition:all .2s ease}textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.total-section{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:var(--radius-lg);color:#fff;margin-top:var(--space-6)}.total-label{font-size:var(--text-lg);font-weight:600}.total-value{font-size:var(--text-3xl);font-weight:700}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-6);border-top:1px solid var(--border-light)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-outline:hover{background:var(--color-primary);color:#fff}@media (max-width: 768px){.finalize-modal{max-width:100%;margin:0;border-radius:0}.modal-body{padding:var(--space-4)}.item-row{flex-wrap:wrap}}.dashboard{display:flex;flex-direction:column;height:100vh;background:var(--bg-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow-x:auto;overflow-y:hidden;min-width:1400px}.sidebar{width:100%;height:50px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:0 20px;position:relative;z-index:20;box-shadow:0 2px 16px #667eea33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:0}.sidebar-logo{margin-right:24px;flex-shrink:0}.logo-icon{width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--text-sm);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden}.logo-svg{width:16px;height:16px;transition:all .3s ease}.logo-icon:hover{background:rgba(255,255,255,.3);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #fff3}.logo-icon:hover .logo-svg{transform:rotate(180deg) scale(1.1)}.sidebar-nav{display:flex;flex-direction:row;gap:8px;flex:1;padding:0 40px;justify-content:center;max-width:600px}.sidebar-footer{display:flex;align-items:center;gap:16px;flex-shrink:0}.nav-item{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fffc;background:transparent;border:1px solid transparent;position:relative;flex-shrink:0}.nav-item svg{width:16px;height:16px;transition:all .3s ease;z-index:2;position:relative}.nav-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.1);border-radius:inherit;transform:scale(0);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.nav-item:after{content:attr(data-tooltip);position:absolute;left:50%;top:-16px;transform:translate(-50%) translateY(-100%);background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;margin-top:-4px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);pointer-events:none}.nav-item:hover{color:#fff;transform:translateY(-2px)}.nav-item:hover:before{transform:scale(1)}.nav-item:hover:after{opacity:1;visibility:visible;transform:translateY(-100%) translate(-50%)}.nav-item:hover svg{transform:scale(1.1)}.nav-item.active{background:rgba(255,255,255,.2);color:#fff;box-shadow:0 8px 25px #ffffff26;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav-item.active svg{transform:scale(1.2)}.nav-item.active:before{transform:scale(1);background:rgba(255,255,255,.1)}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.nav-item.active{animation:pulse 2s ease-in-out infinite}.nav-item:active{transform:translateY(-2px) scale(.95);transition:all .1s ease}.dashboard-content{display:flex;flex:1;height:calc(100vh - 50px);overflow:hidden}.panel-bar{width:320px;background:var(--bg-primary);border-right:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto;position:relative;z-index:15;box-shadow:var(--shadow-sm);transition:width .3s ease}.panel-controls{padding:16px;flex:1}.filter-section{margin-bottom:20px}.filter-section h4{margin-bottom:12px;font-size:var(--text-sm);font-weight:600;color:#111827;letter-spacing:-.025em}.search-bar{display:flex;gap:8px}.search-bar input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:var(--text-sm);background:white;transition:all .2s ease}.search-bar input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.search-btn{padding:var(--space-3) var(--space-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-weight:600;font-size:var(--text-sm)}.search-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.category-filters,.status-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{padding:6px 12px;border:1px solid #d1d5db;background:white;border-radius:6px;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#f3f4f6}.filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px)}.professional-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:var(--text-sm);background:white;transition:all .2s ease}.professional-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.client-details-panel{height:100%;background:white;display:flex;flex-direction:column;overflow-y:auto}.client-header{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fafafa}.back-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.back-btn:hover{background:#e5e7eb;color:#374151}.client-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.client-info{padding:24px;display:flex;gap:20px;align-items:center;border-bottom:1px solid #f3f4f6}.client-avatar{flex-shrink:0}.client-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #e5e7eb}.client-basic-info h2{margin:0 0 8px;font-size:20px;font-weight:700;color:#111827}.client-phone{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px;font-weight:500;margin:0}.client-phone svg{color:var(--color-primary)}.current-appointment{padding:24px;border-bottom:1px solid #f3f4f6}.current-appointment h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.appointment-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.appointment-service{font-size:16px;font-weight:600;color:#111827;margin-bottom:8px}.appointment-details{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.appointment-details span{font-size:14px;color:#6b7280}.appointment-status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.appointment-status.confirmed{background:#d1fae5;color:#065f46}.appointment-status.pending{background:#fef3c7;color:#92400e}.appointment-status.cancelled{background:#fee2e2;color:#991b1b}.action-buttons{padding:24px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid #f3f4f6}.action-btn{padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover{background:#2563eb;transform:translateY(-1px)}.action-btn.success{background:#10b981;color:#fff}.action-btn.success:hover{background:#059669;transform:translateY(-1px)}.action-btn.info{background:#0ea5e9;color:#fff}.action-btn.info:hover{background:#0284c7;transform:translateY(-1px)}.action-btn.warning{background:#f59e0b;color:#fff}.action-btn.warning:hover{background:#d97706;transform:translateY(-1px)}.action-btn.danger{background:#ef4444;color:#fff}.action-btn.danger:hover{background:#dc2626;transform:translateY(-1px)}.client-history{padding:24px;border-bottom:1px solid #f3f4f6}.client-history h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.history-date{font-size:12px;font-weight:600;color:#6b7280;min-width:70px}.history-details{flex:1}.history-service{font-weight:600;color:#111827;font-size:14px}.history-professional{font-size:12px;color:#6b7280}.history-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.history-status.completed{background:#d1fae5;color:#065f46}.history-status.no_show{background:#fee2e2;color:#991b1b}.history-status.cancelled{background:#f3f4f6;color:#6b7280}.no-history{text-align:center;color:#9ca3af;font-style:italic;padding:20px}.client-notes{padding:24px}.client-notes h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.notes-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.note-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.note-date{font-weight:600;color:#6b7280}.note-author{color:#9ca3af}.note-content{color:#374151;font-size:14px;line-height:1.5}.no-notes{text-align:center;color:#9ca3af;font-style:italic;padding:20px}.add-note{border-top:1px solid #e5e7eb;padding-top:20px}.add-note h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#111827}.add-note textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px;transition:border-color .2s ease}.add-note textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.add-note-btn{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.add-note-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.add-note-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.week-navigation{padding:var(--space-6) var(--space-8);background:var(--bg-primary);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;position:relative}.week-controls{display:flex;align-items:center;gap:20px}.week-nav-btn{width:40px;height:40px;border:1px solid #e5e7eb;background:white;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280}.week-nav-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.week-nav-btn:active{transform:scale(.95)}.week-display{text-align:center;min-width:200px}.week-display h2{margin:0;font-size:24px;font-weight:700;color:#111827;letter-spacing:-.025em}.week-subtitle{color:#6b7280;font-size:14px;font-weight:500;margin-top:2px}.week-actions{display:flex;align-items:center;gap:16px}.today-btn{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease}.today-btn:hover{background:#e5e7eb;border-color:#9ca3af}.appointments-section{flex:1;min-width:600px;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;z-index:5;margin:var(--space-5) var(--space-5) var(--space-5) 0;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-light);overflow:hidden}.appointments-header{padding:20px 30px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.header-actions{display:flex;align-items:center;gap:15px}.user-welcome{color:#6b7280;font-size:14px}.logout-btn{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px}.logout-btn:hover{background:#dc2626}.date-info h2{margin:0;font-size:24px;color:#1f2937}.weekday{color:#6b7280;font-size:16px}.add-appointment-btn{padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:var(--text-sm);transition:all .2s ease;display:flex;align-items:center;gap:var(--space-2)}.add-appointment-btn:hover{transform:translateY(-1px);background:var(--color-primary-dark)}.appointments-grid{flex:1;display:flex;flex-direction:column;overflow:hidden}.appointments-grid.weekly-view{display:flex;flex-direction:column}.week-header{display:flex;border-bottom:2px solid #e5e7eb;background:#f9fafb;position:sticky;top:0;z-index:10}.time-header{width:80px;padding:15px 10px;font-weight:600;font-size:14px;color:#374151;border-right:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center}.day-header{flex:1;padding:10px;text-align:center;border-right:1px solid #e5e7eb;min-width:120px}.day-header:last-child{border-right:none}.day-header.blocked-day{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(220,38,38,.1) 100%);border-color:#ef444433;position:relative}.day-header.blocked-day:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(239,68,68,.1) 5px,rgba(239,68,68,.1) 10px);pointer-events:none}.blocked-indicator{margin-left:4px;font-size:10px;opacity:.8}.holiday-name{font-size:10px;color:#dc2626;font-weight:500;margin-top:2px;line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-name{font-weight:600;font-size:14px;color:#1f2937;margin-bottom:4px}.day-date{font-size:12px;color:#6b7280}.appointments-content{display:flex;flex:1;overflow-y:auto;overflow-x:hidden}.time-column{width:80px;background:#f9fafb;border-right:1px solid #e5e7eb;padding:10px 0;flex-shrink:0}.time-slot{height:30px;padding:5px 10px;font-size:12px;color:#6b7280;border-bottom:1px solid #f3f4f6;display:flex;align-items:flex-start}.day-column{flex:1;position:relative;border-right:1px solid #e5e7eb;min-width:120px}.day-column:last-child{border-right:none}.day-column.blocked-day-column{background:rgba(239,68,68,.05);position:relative}.day-column.blocked-day-column:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(239,68,68,.1) 10px,rgba(239,68,68,.1) 20px);pointer-events:none;z-index:1}.blocked-day-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:rgba(239,68,68,.9);color:#fff;padding:16px;border-radius:12px;text-align:center;box-shadow:0 4px 20px #ef44444d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.blocked-message{display:flex;flex-direction:column;align-items:center;gap:8px}.blocked-icon{font-size:24px}.blocked-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.appointments-timeline{position:relative;height:720px;padding:0 8px}.appointments-timeline:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 29px,#f3f4f6 29px,#f3f4f6 30px);pointer-events:none}.appointment-block{position:absolute;left:4px;right:4px;border-radius:6px;padding:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;border-left:3px solid rgba(255,255,255,.3);overflow:hidden}.appointment-block:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.appointment-content{color:#fff}.appointment-title{font-weight:600;font-size:13px;margin-bottom:3px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-service{font-size:11px;opacity:.9;margin-bottom:3px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-time{font-size:10px;opacity:.8;line-height:1.1}@media (max-width: 1200px){.panel-bar{width:280px}.appointments-timeline{padding:10px}.appointment-block{left:10px;right:10px}}@media (max-width: 900px){.dashboard{flex-direction:column;height:auto}.sidebar{width:100%;height:80px;flex-direction:row;justify-content:center;padding:10px 0}.sidebar-nav{flex-direction:row;gap:15px}.panel-bar{width:100%;max-height:300px}.appointments-section{height:70vh}}.urgency-panel{margin:16px 0 24px;border-radius:12px;padding:16px;border-left:6px solid;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a;animation:slideInTop .3s ease-out}@keyframes slideInTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.urgency-panel.urgency-critical{border-left-color:#dc2626;background:linear-gradient(135deg,rgba(254,226,226,.95) 0%,rgba(254,242,242,.95) 100%);box-shadow:0 8px 32px #dc262626}.urgency-panel.urgency-high{border-left-color:#ea580c;background:linear-gradient(135deg,rgba(255,237,213,.95) 0%,rgba(254,243,199,.95) 100%);box-shadow:0 8px 32px #ea580c26}.urgency-panel.urgency-medium{border-left-color:#d97706;background:linear-gradient(135deg,rgba(254,243,199,.95) 0%,rgba(255,251,235,.95) 100%);box-shadow:0 8px 32px #d9770626}.urgency-panel.urgency-low{border-left-color:#059669;background:linear-gradient(135deg,rgba(220,252,231,.95) 0%,rgba(240,253,244,.95) 100%);box-shadow:0 8px 32px #05966926}.urgency-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.urgency-icon{font-size:28px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0}.urgency-title{flex:1;display:flex;flex-direction:column;gap:4px}.urgency-level{font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.urgency-critical .urgency-level{color:#dc2626}.urgency-high .urgency-level{color:#ea580c}.urgency-medium .urgency-level{color:#d97706}.urgency-low .urgency-level{color:#059669}.urgency-time{font-size:12px;color:#6b7280;font-weight:500}.urgency-description{font-size:14px;line-height:1.5;color:#374151;margin-bottom:16px;font-weight:500}.urgency-actions{display:flex;gap:8px;flex-wrap:wrap}.urgency-action-btn{padding:8px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.urgency-action-btn.priority{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);color:#fff}.urgency-action-btn.priority:hover{background:linear-gradient(135deg,#b91c1c 0%,#991b1b 100%);transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.urgency-action-btn.contact{background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);color:#fff}.urgency-action-btn.contact:hover{background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a64d}@media (max-width: 768px){.urgency-panel{margin:12px 0 20px;padding:12px}.urgency-header{gap:8px;margin-bottom:8px}.urgency-icon{font-size:24px;width:32px;height:32px}.urgency-level{font-size:12px}.urgency-time{font-size:11px}.urgency-description{font-size:13px;margin-bottom:12px}.urgency-actions{gap:6px}.urgency-action-btn{padding:6px 10px;font-size:11px}}.urgency-queue-section{margin-bottom:20px;background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(248,250,252,.95) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:12px;padding:20px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.3);position:sticky;top:0;z-index:5}.urgency-queue-section h4{margin:0 0 16px;font-size:15px;font-weight:600;color:#ef4444;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid rgba(239,68,68,.1)}.urgency-queue{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;padding-right:4px}.urgency-queue::-webkit-scrollbar{width:4px}.urgency-queue::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:2px}.urgency-queue::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}.urgency-queue::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.urgency-queue-item{padding:14px 16px;border-radius:10px;border:1px solid;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.urgency-queue-item.urgency-critical:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#dc2626;opacity:.8}.urgency-queue-item.urgency-high:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#ea580c;opacity:.8}.urgency-queue-item.urgency-medium:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#d97706;opacity:.8}.urgency-queue-item.urgency-low:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#059669;opacity:.8}.urgency-queue-item:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0000001f;background:rgba(255,255,255,.9)}.urgency-queue-item:active{transform:translateY(0)}.urgency-queue-item.urgency-critical{border-color:#dc26264d;background:linear-gradient(135deg,rgba(254,242,242,.8) 0%,rgba(255,255,255,.9) 100%)}.urgency-queue-item.urgency-critical:hover{background:linear-gradient(135deg,rgba(254,242,242,.95) 0%,rgba(255,255,255,1) 100%);box-shadow:0 6px 20px #dc262633;border-color:#dc262666}.urgency-queue-item.urgency-high{border-color:#ea580c4d;background:linear-gradient(135deg,rgba(255,247,237,.8) 0%,rgba(255,255,255,.9) 100%)}.urgency-queue-item.urgency-high:hover{background:linear-gradient(135deg,rgba(255,247,237,.95) 0%,rgba(255,255,255,1) 100%);box-shadow:0 6px 20px #ea580c33;border-color:#ea580c66}.urgency-queue-item.urgency-medium{border-color:#d977064d;background:linear-gradient(135deg,rgba(255,251,235,.8) 0%,rgba(255,255,255,.9) 100%)}.urgency-queue-item.urgency-medium:hover{background:linear-gradient(135deg,rgba(255,251,235,.95) 0%,rgba(255,255,255,1) 100%);box-shadow:0 6px 20px #d9770633;border-color:#d9770666}.urgency-queue-item.urgency-low{border-color:#0596694d;background:linear-gradient(135deg,rgba(240,253,244,.8) 0%,rgba(255,255,255,.9) 100%)}.urgency-queue-item.urgency-low:hover{background:linear-gradient(135deg,rgba(240,253,244,.95) 0%,rgba(255,255,255,1) 100%);box-shadow:0 6px 20px #05966933;border-color:#05966966}.urgency-queue-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.urgency-queue-icon{font-size:18px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;margin-top:2px}.urgency-queue-info{flex:1;min-width:0}.urgency-queue-client{font-weight:600;font-size:13px;color:#111827;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.urgency-queue-time{font-size:11px;color:#4b5563;font-weight:500;line-height:1.2}.urgency-queue-badge{padding:3px 8px;border-radius:12px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0;margin-top:1px;box-shadow:0 1px 3px #0000001a}.urgency-queue-badge.urgency-critical{background:#dc2626;color:#fff}.urgency-queue-badge.urgency-high{background:#ea580c;color:#fff}.urgency-queue-badge.urgency-medium{background:#d97706;color:#fff}.urgency-queue-badge.urgency-low{background:#059669;color:#fff}.urgency-queue-description{font-size:11px;line-height:1.4;color:#374151;padding-left:40px;margin-right:70px;font-style:italic}.no-urgencies{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;text-align:center;color:#9ca3af;background:rgba(249,250,251,.5);border-radius:8px;border:1px dashed rgba(156,163,175,.3)}.no-urgencies-icon{font-size:24px;margin-bottom:6px;opacity:.7}.no-urgencies-text{font-size:12px;font-weight:500;opacity:.8}@media (max-width: 768px){.urgency-queue-section{margin-bottom:16px;padding:16px}.urgency-queue-section h4{font-size:14px;margin-bottom:12px;padding-bottom:10px}.urgency-queue{max-height:220px;gap:8px}.urgency-queue-item{padding:12px 14px}.urgency-queue-header{gap:10px;margin-bottom:8px}.urgency-queue-icon{font-size:16px;width:24px;height:24px}.urgency-queue-client{font-size:12px}.urgency-queue-time{font-size:10px}.urgency-queue-badge{padding:2px 6px;font-size:8px}.urgency-queue-description{font-size:10px;padding-left:34px;margin-right:50px}.no-urgencies{padding:16px 12px}.no-urgencies-icon{font-size:20px}.no-urgencies-text{font-size:11px}}.service-management-panel{padding:var(--space-3);height:100%;overflow-y:auto;background:var(--bg-primary);width:100%;min-width:340px}.service-management-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.service-management-header h3{font-size:var(--text-xl);font-weight:600;color:var(--color-gray-900);margin:0}.service-tabs{display:flex;gap:0;margin-bottom:var(--space-4);border-bottom:1px solid var(--border-light)}.service-tab{padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--color-gray-600);font-size:var(--text-sm);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;position:relative}.service-tab:hover{color:var(--color-primary);background:var(--bg-secondary)}.service-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--bg-secondary)}.service-tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.service-form-section{margin-bottom:var(--space-6)}.service-form-section h4{font-size:var(--text-base);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-3)}.service-form{background:var(--bg-secondary);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-light)}.form-row{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3)}@media (min-width: 480px){.form-row{flex-direction:row}.form-row .form-group{flex:1}}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.form-group input,.form-group select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all .2s ease;background:var(--bg-primary);height:40px;width:100%;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.days-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}@media (min-width: 380px){.days-selector{grid-template-columns:repeat(7,1fr)}}.day-btn{padding:var(--space-1);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--color-gray-600);font-size:var(--text-xs);cursor:pointer;transition:all .2s ease;height:32px;display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;flex:1}.day-btn:hover{background:var(--bg-tertiary);border-color:var(--color-primary)}.day-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--color-gray-700);line-height:1.4;margin-bottom:var(--space-3)}.checkbox-label input[type=checkbox]{margin:0;width:auto}.form-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}@media (min-width: 400px){.form-actions{flex-direction:row}}.save-service-btn,.cancel-edit-btn{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s ease;height:40px;flex:1;white-space:nowrap}.save-service-btn{background:var(--color-primary);color:#fff}.save-service-btn:hover{background:var(--color-primary-dark)}.cancel-edit-btn{background:var(--bg-tertiary);color:var(--color-gray-700);border:1px solid var(--border-light)}.cancel-edit-btn:hover{background:var(--bg-quaternary)}.services-list-section h4{font-size:var(--text-lg);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-4)}.services-list{display:flex;flex-direction:column;gap:var(--space-3)}.service-item{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease}.service-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.service-info{flex:1}.service-name{font-size:var(--text-base);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-2)}.service-details{display:flex;gap:var(--space-4);margin-bottom:var(--space-2)}.service-type,.service-duration,.service-price{font-size:var(--text-sm);color:var(--color-gray-600);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.service-type{text-transform:capitalize}.service-schedule{font-size:var(--text-xs);color:var(--color-gray-500)}.service-global-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-blue-600);background:var(--color-blue-50);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-top:var(--space-2)}.service-actions{display:flex;gap:var(--space-2)}.edit-service-btn,.delete-service-btn{width:32px;height:32px;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:var(--text-sm)}.edit-service-btn{background:var(--color-blue-50);color:var(--color-blue-600)}.edit-service-btn:hover{background:var(--color-blue-100)}.delete-service-btn{background:var(--color-red-50);color:var(--color-red-600)}.delete-service-btn:hover{background:var(--color-red-100)}.no-services{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-gray-500)}.no-services-icon{font-size:48px;margin-bottom:var(--space-3);opacity:.5}.no-services-text{font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-2)}.no-services-subtitle{font-size:var(--text-sm);opacity:.7}.service-selector{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light)}.service-selector h5{font-size:var(--text-sm);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-3)}.service-select{width:100%;padding:var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);transition:all .2s ease}.service-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.metrics-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.metric-item{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-radius:8px;border:1px solid #d1d5db;transition:all .2s ease}.metric-item:hover{background:#f9fafb}.metric-count{font-size:15px;font-weight:600;min-width:20px;text-align:center}.metric-name{font-size:14px;color:var(--color-gray-700);font-weight:500}.metrics-total{font-size:13px;color:var(--color-gray-600);text-align:center;padding-top:8px;border-top:1px solid #e5e7eb}.metric-approved .metric-count{color:#10b981}.metric-pending .metric-count{color:#f59e0b}.metric-cancelled .metric-count{color:#ef4444}.metric-rescheduled .metric-count{color:#6366f1}.metrics-section{margin-bottom:24px}.section-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:12px;letter-spacing:-.025em}.metrics-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.metric-card{background:white;border-radius:12px;padding:12px 10px;display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:visible;min-height:75px}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:currentColor;transform:scaleX(0);transition:transform .3s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.metric-card:hover:before{transform:scaleX(1)}.metric-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon svg{width:20px;height:20px}.metric-card.metric-approved .metric-icon{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);color:#059669}.metric-card.metric-pending .metric-icon{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#d97706}.metric-card.metric-cancelled .metric-icon{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);color:#dc2626}.metric-card.metric-rescheduled .metric-icon{background:linear-gradient(135deg,#ddd6fe 0%,#c4b5fd 100%);color:#7c3aed}.metric-card.metric-approved{color:#059669}.metric-card.metric-pending{color:#d97706}.metric-card.metric-cancelled{color:#dc2626}.metric-card.metric-rescheduled{color:#7c3aed}.metric-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.metric-card .metric-count{font-size:24px;font-weight:700;line-height:1;color:inherit}.metric-label{font-size:10.5px;font-weight:500;color:#6b7280;line-height:1.3;word-break:normal;overflow-wrap:normal}.metrics-summary{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:10px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid #e2e8f0}.summary-label{font-size:13px;font-weight:500;color:#64748b}.summary-value{font-size:18px;font-weight:700;color:#1e293b}.urgency-section{background:white;border-radius:12px;padding:16px;border:1px solid #e5e7eb;margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.urgency-badge{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;min-width:24px;text-align:center;box-shadow:0 2px 8px #ef44444d}.urgency-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.urgency-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:10px;border-left:3px solid transparent;transition:all .2s ease;cursor:pointer}.urgency-item:hover{background:#f3f4f6;transform:translate(2px)}.urgency-item.urgency-high{border-left-color:#ef4444;background:linear-gradient(90deg,rgba(239,68,68,.05) 0%,#f9fafb 100%)}.urgency-item.urgency-medium{border-left-color:#f59e0b;background:linear-gradient(90deg,rgba(245,158,11,.05) 0%,#f9fafb 100%)}.urgency-item.urgency-low{border-left-color:#10b981;background:linear-gradient(90deg,rgba(16,185,129,.05) 0%,#f9fafb 100%)}.urgency-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;animation:pulse 2s ease-in-out infinite}.urgency-high .urgency-indicator{background:#ef4444;box-shadow:0 0 #ef4444b3}.urgency-medium .urgency-indicator{background:#f59e0b;box-shadow:0 0 #f59e0bb3}.urgency-low .urgency-indicator{background:#10b981;box-shadow:0 0 #10b981b3}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 4px transparent}to{box-shadow:0 0 0 0 transparent}}.urgency-content{flex:1;display:flex;flex-direction:column;gap:4px}.urgency-client{font-size:14px;font-weight:600;color:#111827}.urgency-details{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.urgency-time{font-weight:600;color:#374151}.urgency-separator{color:#d1d5db}.urgency-service{font-weight:500}.urgency-level-tag{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.urgency-level-tag.high{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.urgency-level-tag.medium{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.urgency-level-tag.low{background:#f0fdf4;color:#059669;border:1px solid #bbf7d0}.view-all-urgency-btn{width:100%;padding:10px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3b82f633}.view-all-urgency-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)}.view-all-urgency-btn:active{transform:translateY(0)}.new-appointment-panel{height:100%;background:white;display:flex;flex-direction:column;overflow-y:auto}.appointment-panel-backdrop{position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:1040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.new-appointment-header{position:sticky;top:0;padding:24px;background:white;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:16px;z-index:1055}.new-appointment-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;color:#6b7280;cursor:pointer;transition:all .2s ease}.new-appointment-header .back-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6;transform:translate(-2px)}.new-appointment-header h3{flex:1;margin:0;font-size:18px;font-weight:600;color:#111827}.selected-time{padding:8px 16px;background:#3b82f6;color:#fff;border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap}.new-appointment-panel>div:not(.new-appointment-header){padding:0 24px 24px}.client-search-section{border-bottom:1px solid #e5e7eb;margin-bottom:24px}.client-search-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.search-input-container{display:flex;gap:12px;margin-bottom:16px}.search-input-container input{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:white;transition:all .2s ease}.search-input-container input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-container .search-btn{padding:12px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-input-container .search-btn:hover{background:#2563eb;transform:translateY(-1px)}.search-input-container .search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.found-client{margin-bottom:var(--space-4)}.client-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);transition:all .2s ease}.client-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.client-info{flex:1}.client-info h5{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:600;color:var(--color-gray-800)}.client-info p{margin:0;font-size:var(--text-sm);color:var(--color-gray-600);line-height:1.4}.use-client-btn{padding:var(--space-2) var(--space-4);background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.use-client-btn:hover:not(:disabled){background:var(--color-success-dark);transform:translateY(-1px)}.use-client-btn.selected{background:#10b981;color:#fff;cursor:default}.use-client-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.8;transform:none}.found-client.client-selected{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1px solid #10b981;box-shadow:0 4px 12px #10b98126}.client-selected-message{margin-top:12px;padding:10px 12px;background:#dcfce7;border:1px solid #bbf7d0;border-radius:6px;color:#166534;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;animation:slideDownSuccess .3s ease-out}@keyframes slideDownSuccess{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:16px}.service-management-btn{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)!important;border:none!important;color:#fff!important;font-weight:600!important;padding:10px 16px!important;border-radius:8px!important;transition:all .2s ease!important;box-shadow:0 2px 4px #8b5cf633!important}.service-management-btn:hover{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #8b5cf64d!important}.new-client-form{border-bottom:1px solid var(--border-light);margin-bottom:var(--space-6)}.new-client-form h4{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:600;color:var(--color-gray-800)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--color-gray-700)}.form-group input,.form-group textarea{padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--text-sm);background:var(--bg-secondary);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a;background:var(--bg-primary)}.create-client-btn{width:100%;padding:var(--space-4) var(--space-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:var(--space-4)}.create-client-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.service-selection{border-bottom:1px solid var(--border-light);margin-bottom:var(--space-6)}.service-selection h4{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:600;color:var(--color-gray-800)}.services-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.service-option{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);cursor:pointer;transition:all .2s ease}.service-option:hover{border-color:var(--color-primary);background:var(--bg-tertiary);transform:translateY(-1px)}.service-option.selected{border-color:var(--color-primary);background:rgb(37 99 235 / .05);box-shadow:var(--shadow-sm)}.service-option .service-info{flex:1}.service-option .service-name{font-size:var(--text-base);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-1)}.service-option .service-details{display:flex;gap:var(--space-3);margin-bottom:var(--space-1)}.service-option .service-duration,.service-option .service-price{font-size:var(--text-sm);color:var(--color-gray-600);font-weight:500}.service-option .service-type{font-size:var(--text-xs);color:var(--color-gray-500)}.selected-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:var(--text-sm);font-weight:600}.no-services{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-gray-500)}.appointment-notes-section{border-bottom:1px solid var(--border-light);margin-bottom:var(--space-6)}.appointment-notes-section h4{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:600;color:var(--color-gray-800)}.appointment-notes-section textarea{width:100%;padding:var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-xl);font-size:var(--text-sm);background:var(--bg-secondary);resize:vertical;min-height:100px;margin-bottom:var(--space-4);transition:all .2s ease}.appointment-notes-section textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a;background:var(--bg-primary)}.appointment-actions{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-6)}.create-appointment-btn{width:100%;padding:var(--space-4) var(--space-6);background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .2s ease}.create-appointment-btn:hover{background:var(--color-success-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.cancel-appointment-btn{width:100%;padding:var(--space-3) var(--space-6);background:var(--bg-secondary);color:var(--color-gray-700);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-appointment-btn:hover{background:var(--bg-tertiary);border-color:var(--color-danger);color:var(--color-danger);transform:translateY(-1px)}.new-appointment-panel .client-header{position:sticky;top:0;z-index:100;background:#fafafa}.new-appointment-panel .header-content{flex:1}.new-appointment-panel .header-content h3{margin:0;font-size:18px;font-weight:600;color:#111827}.new-appointment-panel .selected-time{margin-top:4px;font-size:13px;color:#6b7280;font-weight:500}.client-search-section{padding:24px;border-bottom:1px solid #f3f4f6}.client-search-section h4{margin:0 0 16px;font-size:15px;font-weight:600;color:#111827}.search-input-container{display:flex;gap:8px;margin-bottom:16px}.cpf-input{flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;transition:all .2s ease;background:#f9fafb}.cpf-input:focus{outline:none;border-color:#3b82f6;background:white;box-shadow:0 0 0 3px #3b82f61a}.search-input-container .search-btn{padding:12px 20px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border:none;border-radius:10px;font-size:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.search-input-container .search-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.search-input-container .search-btn:disabled{opacity:.6;cursor:not-allowed}.found-client-card{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #bae6fd;border-radius:12px;padding:20px;margin-top:16px}.client-info-display{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.client-info-display .client-avatar{flex-shrink:0}.client-info-display .client-avatar img{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #0000001a}.client-info-display .client-details{flex:1}.client-info-display .client-details h5{margin:0 0 8px;font-size:16px;font-weight:700;color:#111827}.client-info-display .client-details p{margin:4px 0;font-size:13px;color:#4b5563;display:flex;align-items:center;gap:6px}.client-info-display .client-details .client-phone svg{color:#3b82f6}.found-client-card .use-client-btn{width:100%;padding:12px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.found-client-card .use-client-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.client-selected-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border-radius:10px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #10b9814d}.new-client-form-section{padding:24px;border-bottom:1px solid #f3f4f6;background:#f9fafb}.new-client-form-section h4{margin:0 0 20px;font-size:15px;font-weight:600;color:#111827}.service-selection-section{padding:24px;border-bottom:1px solid #f3f4f6}.service-selection-section h4{margin:0 0 16px;font-size:15px;font-weight:600;color:#111827}.services-grid{display:grid;grid-template-columns:1fr;gap:12px}.service-card{background:white;border:2px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative}.service-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.service-card.selected{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);box-shadow:0 4px 12px #3b82f633}.service-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.service-card-header .service-icon{font-size:28px;flex-shrink:0}.service-card-title{flex:1}.service-card-title .service-name{font-size:15px;font-weight:700;color:#111827;margin-bottom:4px}.service-card-title .service-type-tag{display:inline-block;padding:2px 8px;background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase}.service-card-info{display:flex;gap:16px;padding-top:12px;border-top:1px solid #f3f4f6}.service-detail{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280;font-weight:500}.service-detail-icon{font-size:14px}.service-selected-badge{position:absolute;top:12px;right:12px;background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.no-services-message{text-align:center;padding:40px 20px;color:#9ca3af}.no-services-message .loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.no-services-message p{margin:0;font-size:14px}.appointment-notes-section{padding:24px;border-bottom:1px solid #f3f4f6}.appointment-notes-section h4{margin:0 0 16px;font-size:15px;font-weight:600;color:#111827}.notes-textarea{width:100%;padding:14px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;transition:all .2s ease;background:#f9fafb}.notes-textarea:focus{outline:none;border-color:#3b82f6;background:white;box-shadow:0 0 0 3px #3b82f61a}.client-tabs-section{padding:24px;border-bottom:1px solid #f3f4f6;background:#f9fafb}.client-tabs-section h4{margin:0 0 16px;font-size:15px;font-weight:600;color:#111827}.appointment-actions{padding:24px;display:flex;flex-direction:column;gap:12px;background:white;border-top:1px solid #f3f4f6}.appointment-actions .create-appointment-btn{padding:14px 24px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.appointment-actions .create-appointment-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.appointment-actions .cancel-appointment-btn{padding:12px 24px;background:white;color:#6b7280;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.appointment-actions .cancel-appointment-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444;transform:translateY(-1px)}@media (max-width: 1200px){.new-appointment-panel{width:400px}.dashboard-container{min-width:auto!important}}@media (max-width: 768px){.new-appointment-panel{width:100vw;height:calc(100vh - 70px);top:70px;border-radius:0}.form-grid{grid-template-columns:1fr}.service-option .service-details{flex-direction:column;gap:4px}.client-search-section,.new-client-form-section,.service-selection-section,.appointment-notes-section,.client-tabs-section,.appointment-actions{padding:16px}.search-input-container input,.search-input-container .search-btn,.form-group input,.form-group textarea,.create-client-btn,.create-appointment-btn,.cancel-appointment-btn{min-height:44px}}.urgent-panel-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.urgent-panel-modal-content{background:white;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:80vh;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close-btn{position:absolute;top:16px;right:16px;background:rgba(0,0,0,.05);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;color:#6b7280}.modal-close-btn:hover{background:rgba(0,0,0,.1);color:#111827;transform:rotate(90deg)}.urgent-panel-modal-content .urgent-panel{border-radius:16px;border:none;box-shadow:none}.client-tabs-view{background:white;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;max-width:1200px;margin:0 auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.client-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e5e7eb}.client-info h2{margin:0 0 8px;color:#1f2937;font-size:1.5rem;font-weight:600}.business-type-badge{display:inline-flex;align-items:center;gap:6px;background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:.875rem;font-weight:500;box-shadow:0 2px 4px #0000001a}.close-button{background:#f3f4f6;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:18px;transition:all .2s ease}.close-button:hover{background:#e5e7eb;color:#374151;transform:scale(1.05)}.tabs-container{display:flex;flex-direction:column;min-height:500px}.tabs-header{display:flex;background:#f9fafb;border-bottom:1px solid #e5e7eb;overflow-x:auto;padding:0 24px;gap:4px}.tabs-header::-webkit-scrollbar{height:4px}.tabs-header::-webkit-scrollbar-track{background:transparent}.tabs-header::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.tab-button{display:flex;align-items:center;gap:8px;padding:16px 20px;background:none;border:none;cursor:pointer;position:relative;color:#6b7280;font-weight:500;white-space:nowrap;transition:all .2s ease;border-radius:8px 8px 0 0;margin-top:8px}.tab-button:hover{background:rgba(59,130,246,.05);color:#374151}.tab-button.active{background:white;color:var(--tab-color, #3b82f6);box-shadow:0 -2px 8px #0000001a;border-bottom:2px solid var(--tab-color, #3b82f6);margin-top:0}.tab-button.active:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tab-color, #3b82f6);border-radius:2px 2px 0 0}.tab-icon{font-size:16px;display:flex;align-items:center}.tab-name{font-size:.875rem;font-weight:500}.tab-saving{font-size:12px;animation:pulse 1.5s infinite}.tab-content{flex:1;background:white}.tab-panel{height:100%;display:flex;flex-direction:column}.tab-panel-header{padding:24px 32px 16px;border-bottom:1px solid #f3f4f6}.tab-panel-header h3{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#1f2937;font-size:1.25rem;font-weight:600}.tab-panel-icon{font-size:20px}.tab-panel-description{margin:0;color:#6b7280;font-size:.9rem;line-height:1.5}.tab-panel-content{flex:1;padding:0 32px 32px;overflow-y:auto}.client-tabs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.client-tabs-loading p{color:#6b7280;margin:0}.client-tabs-error{text-align:center;padding:60px 20px;color:#6b7280}.client-tabs-error h3{color:#f59e0b;margin:0 0 16px}.client-tabs-error p{margin:8px 0;line-height:1.5}@media (max-width: 768px){.client-header{padding:16px 20px;flex-direction:column;gap:12px;text-align:center}.client-info h2{font-size:1.25rem}.tabs-header{padding:0 16px}.tab-button{padding:12px 16px;min-width:120px}.tab-name{font-size:.8rem}.tab-panel-header{padding:16px 20px 12px}.tab-panel-header h3{font-size:1.1rem}.tab-panel-content{padding:0 20px 20px}}@media (max-width: 480px){.tab-button{padding:10px 12px;min-width:100px}.tab-icon{font-size:14px}.tab-name{font-size:.75rem}}.client-tabs-view .form-input,.client-tabs-view .form-textarea,.client-tabs-view .form-select{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.client-tabs-view .form-input:focus,.client-tabs-view .form-textarea:focus,.client-tabs-view .form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.client-tabs-view .form-group{margin-bottom:24px}.client-tabs-view .form-label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:.875rem}.client-tabs-view .form-button{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.client-tabs-view .form-button:hover{background:#2563eb}.client-tabs-view .form-button:disabled{background:#9ca3af;cursor:not-allowed}.clients-container{padding:2rem;max-width:1400px;margin:0 auto}.clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.clients-header h1{font-size:2rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.subtitle{color:#6b7280;font-size:.95rem;margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#14b8a6;border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border-radius:12px;border:2px dashed #d1d5db}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.5rem;color:#374151;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0 0 1.5rem}.table-container{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.clients-table{width:100%;border-collapse:collapse}.clients-table thead{background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);color:#fff}.clients-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.clients-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s;cursor:pointer}.clients-table tbody tr:hover{background-color:#f9fafb}.clients-table td{padding:1rem;color:#374151}.client-name{display:flex;align-items:center;gap:.75rem}.client-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem}.btn-primary{background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #14b8a666}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:white;color:#374151;border:2px solid #e5e7eb;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-secondary:hover{border-color:#14b8a6;color:#14b8a6}.btn-action{background:transparent;color:#14b8a6;border:1px solid #14b8a6;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.875rem}.btn-action:hover{background:#14b8a6;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content{background:white;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin:auto}.modal-header{padding:1.5rem 2rem;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%)}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937;font-weight:600}.close-btn{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#e5e7eb;color:#374151}.client-form{padding:2rem}.form-section{margin-bottom:2rem}.form-section h3{font-size:1.125rem;color:#374151;margin:0 0 1rem;font-weight:600;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.form-group{margin-bottom:1rem;flex:1}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500;font-size:.875rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.form-group input:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:1rem}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.modal-footer{padding:1.5rem 2rem;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;gap:1rem;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%)}@media (max-width: 768px){.clients-container{padding:1rem}.clients-header{flex-direction:column;align-items:flex-start;gap:1rem}.table-container{overflow-x:auto}.form-row{flex-direction:column}.modal-content{max-width:100%;border-radius:0;max-height:100vh}}.clients-chatgpt-layout{display:flex;height:calc(100vh - 60px);background:#f9fafb;overflow:hidden}.clients-sidebar{width:320px;background:#ffffff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 8px #0000000d}.sidebar-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#f8fafc 0%,#ffffff 100%)}.sidebar-title{display:flex;align-items:center;gap:8px;flex:1}.sidebar-title h3{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.clients-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#14b8a6;color:#fff;font-size:.75rem;font-weight:600;border-radius:12px}.btn-add-client{width:36px;height:36px;border-radius:50%;background:#14b8a6;color:#fff;border:none;font-size:1.5rem;font-weight:300;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #14b8a633}.btn-add-client:hover{background:#0d9488;transform:scale(1.05);box-shadow:0 4px 8px #14b8a64d}.btn-add-client:active{transform:scale(.95)}.sidebar-filters{padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fafafa}.search-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:white;transition:all .2s ease;margin-bottom:12px}.search-input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.search-input::placeholder{color:#9ca3af}.filter-buttons{display:flex;gap:6px}.filter-btn{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:white;color:#6b7280;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#f9fafb;border-color:#14b8a6;color:#14b8a6}.filter-btn.active{background:#14b8a6;border-color:#14b8a6;color:#fff;box-shadow:0 2px 4px #14b8a633}.clients-list{flex:1;overflow-y:auto;padding:8px}.clients-list::-webkit-scrollbar{width:6px}.clients-list::-webkit-scrollbar-track{background:transparent}.clients-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.clients-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.client-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:all .2s ease;margin-bottom:4px;position:relative;border:1px solid transparent}.client-item:hover{background:#f9fafb;border-color:#e5e7eb}.client-item.active{background:#ecfdf5;border-color:#14b8a6;box-shadow:0 2px 6px #14b8a626}.client-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:600;flex-shrink:0;box-shadow:0 2px 8px #14b8a640}.client-item.active .client-avatar{box-shadow:0 4px 12px #14b8a666}.client-item-info{flex:1;min-width:0}.client-name{font-weight:600;color:#1f2937;font-size:.9375rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-meta{color:#6b7280;font-size:.8125rem;margin-bottom:2px}.client-phone{font-family:Courier New,monospace}.client-date{color:#9ca3af;font-size:.75rem}.client-edit-btn{width:28px;height:28px;border-radius:6px;background:transparent;border:1px solid transparent;cursor:pointer;font-size:.875rem;opacity:0;transition:all .2s ease;flex-shrink:0}.client-item:hover .client-edit-btn{opacity:1}.client-edit-btn:hover{background:#f3f4f6;border-color:#d1d5db}.loading-state,.empty-state-sidebar{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#9ca3af}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#14b8a6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.clients-main-area{flex:1;overflow:auto;background:#f9fafb}.clients-cards-container{padding:32px;max-width:1400px;margin:0 auto}.cards-header{margin-bottom:32px}.cards-header h2{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:#1f2937}.cards-header .subtitle{margin:0;color:#6b7280;font-size:1rem}.clients-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.client-card{background:white;border-radius:16px;border:1px solid #e5e7eb;padding:24px;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.client-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014;border-color:#14b8a6}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;box-shadow:0 4px 12px #14b8a64d}.card-edit-btn{width:36px;height:36px;border-radius:8px;background:#f3f4f6;border:none;cursor:pointer;font-size:1rem;opacity:0;transition:all .2s ease}.client-card:hover .card-edit-btn{opacity:1}.card-edit-btn:hover{background:#e5e7eb;transform:scale(1.05)}.card-body{margin-bottom:16px}.card-name{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:#1f2937}.card-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#6b7280}.info-label{font-size:1rem;flex-shrink:0}.info-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-footer{border-top:1px solid #e5e7eb;padding-top:12px;display:flex;justify-content:flex-end}.view-details{color:#14b8a6;font-size:.875rem;font-weight:600;transition:all .2s ease}.client-card:hover .view-details{color:#0d9488}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:#1f2937}.empty-state p{margin:0 0 24px;color:#6b7280;max-width:400px}.btn-primary{padding:12px 24px;background:#14b8a6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #14b8a640}.btn-primary:hover{background:#0d9488;transform:translateY(-2px);box-shadow:0 6px 16px #14b8a659}.btn-primary:active{transform:translateY(0)}@media (max-width: 1024px){.clients-sidebar{width:280px}.clients-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (max-width: 768px){.clients-chatgpt-layout{flex-direction:column}.clients-sidebar{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid #e5e7eb}.clients-main-area{height:60vh}.clients-cards-grid{grid-template-columns:1fr}.clients-cards-container{padding:16px}}.financial-page{min-height:100vh;background:var(--bg-secondary);display:flex;flex-direction:column}.financial-container{flex:1;padding:var(--space-6);max-width:1400px;margin:0 auto;width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding:var(--space-6);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.header-content h1{margin:0 0 var(--space-2) 0;font-size:var(--text-3xl);font-weight:700;color:var(--color-gray-800)}.header-content p{margin:0;color:var(--color-gray-600);font-size:var(--text-lg)}.header-actions{display:flex;gap:var(--space-4)}.btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);border:1px solid transparent;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:var(--text-sm)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-secondary);color:var(--color-gray-700);border-color:var(--border-medium)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.btn-outline{background:transparent;color:#667eea;border:2px solid #667eea}.btn-outline:hover{background:#667eea;color:#fff}.financial-navigation{margin-bottom:var(--space-6)}.nav-tabs{display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.nav-tab{flex:1;padding:var(--space-4) var(--space-6);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:500;color:var(--color-gray-600);transition:all .2s ease;font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px}.nav-tab:hover:not(.active){background:var(--bg-tertiary);color:var(--color-gray-700);transform:translateY(-1px)}.nav-tab.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);font-weight:600}.tab-icon{font-size:var(--text-base)}.tab-label{font-weight:inherit}.financial-content{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);min-height:600px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.metric-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;align-items:center;gap:var(--space-5);border:1px solid var(--border-light);transition:all .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-medium)}.metric-card.revenue{border-left:4px solid #10b981}.metric-card.expenses{border-left:4px solid #ef4444}.metric-card.profit{border-left:4px solid #8b5cf6}.metric-card.pending{border-left:4px solid #f59e0b}.metric-icon{font-size:2.5rem;padding:var(--space-4);background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.metric-info h3{margin:0 0 var(--space-2) 0;color:var(--color-gray-600);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:var(--text-3xl);font-weight:700;color:var(--color-gray-800);margin-bottom:var(--space-1)}.metric-growth{font-size:.875rem;font-weight:500}.metric-growth.positive{color:#10b981}.metric-growth.negative{color:#ef4444}.metric-growth.neutral{color:#64748b}.metric-growth.warning{color:#f59e0b}.charts-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.chart-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid var(--border-light)}.chart-card h3{margin:0 0 var(--space-5) 0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.payment-methods{display:flex;flex-direction:column;gap:16px}.payment-method{display:flex;flex-direction:column;gap:8px}.method-info{display:flex;justify-content:space-between;align-items:center}.method-name{font-weight:600;color:#374151}.method-percentage{font-weight:700;color:#1f2937}.method-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.method-progress{height:100%;border-radius:4px;transition:width .6s ease}.cash-flow-chart{height:200px;display:flex;align-items:center;justify-content:center}.chart-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}.chart-bars{display:flex;align-items:end;justify-content:space-between;height:150px;margin-bottom:12px;gap:8px}.bar{flex:1;background:linear-gradient(180deg,#667eea 0%,#764ba2 100%);border-radius:4px 4px 0 0;min-height:20px;transition:all .3s ease}.bar:hover{transform:scaleY(1.1);opacity:.8}.chart-labels{display:flex;justify-content:space-between;font-size:.875rem;color:#64748b;font-weight:500}.transactions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.transactions-header h3{margin:0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.filter-actions{display:flex;gap:var(--space-3)}.filter-select{padding:var(--space-3) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--bg-primary);font-size:var(--text-sm);color:var(--color-gray-700);transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.transactions-table{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-light);background:var(--bg-primary)}.table-header{display:grid;grid-template-columns:100px 1fr 150px 120px 120px 100px 80px;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-secondary);font-weight:600;color:var(--color-gray-600);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:100px 1fr 150px 120px 120px 100px 80px;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-light);align-items:center;transition:all .2s ease}.table-row:hover{background:var(--bg-tertiary)}.transaction-description{display:flex;align-items:center;gap:8px;font-weight:500}.type-indicator{font-size:1.1rem}.amount{font-weight:700;font-size:1rem}.amount.revenue{color:#10b981}.amount.expense{color:#ef4444}.status-badge{padding:4px 12px;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.action-buttons{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;font-size:1rem}.btn-icon:hover{background:#f3f4f6;transform:scale(1.1)}.billing-section h3{margin:0 0 var(--space-2) 0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.billing-section p{margin:0 0 var(--space-8) 0;color:var(--color-gray-600);font-size:var(--text-lg)}.billing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6)}.billing-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center;border:1px solid var(--border-light);transition:all .2s ease}.billing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-medium)}.card-icon{font-size:3rem;margin-bottom:var(--space-4)}.billing-card h4{margin:0 0 var(--space-3) 0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.billing-card p{margin:0 0 var(--space-6) 0;color:var(--color-gray-600);font-size:var(--text-sm);line-height:1.5}.reports-section h3{margin:0 0 var(--space-2) 0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.reports-section p{margin:0 0 var(--space-8) 0;color:var(--color-gray-600);font-size:var(--text-lg)}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.report-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center;border:1px solid var(--border-light);transition:all .2s ease}.report-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-medium)}.report-icon{font-size:3rem;margin-bottom:var(--space-4)}.report-card h4{margin:0 0 var(--space-3) 0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.report-card p{margin:0 0 var(--space-6) 0;color:var(--color-gray-600);font-size:var(--text-sm);line-height:1.5}@media (max-width: 1200px){.charts-section{grid-template-columns:1fr}.billing-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width: 768px){.financial-container{padding:16px}.financial-header{flex-direction:column;gap:16px;text-align:center;padding:24px 20px}.header-actions{width:100%;justify-content:center}.metrics-grid{grid-template-columns:1fr}.financial-tabs{flex-direction:column}.table-header,.table-row{grid-template-columns:80px 1fr 80px 60px;font-size:.8rem}.table-header div:nth-child(3),.table-header div:nth-child(4),.table-header div:nth-child(7),.table-row div:nth-child(3),.table-row div:nth-child(4),.table-row div:nth-child(7){display:none}}.products-page{min-height:100vh;background:var(--bg-secondary);display:flex;flex-direction:column}.products-container{flex:1;padding:var(--space-6);max-width:1400px;margin:0 auto;width:100%}.loading-state{text-align:center;padding:60px 20px}.loading-spinner{font-size:48px;margin-bottom:20px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.product-form-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--border-light);box-shadow:var(--shadow-md)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.form-header h2{margin:0;color:var(--color-gray-800);font-size:var(--text-2xl);font-weight:600}.btn-close{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--color-gray-500);transition:all .2s ease;padding:4px 8px;border-radius:var(--radius-md)}.btn-close:hover{background:var(--bg-secondary);color:var(--color-gray-700)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-5);margin-bottom:var(--space-6)}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:var(--space-2);color:var(--color-gray-700);font-weight:600;font-size:var(--text-sm)}.form-group input,.form-group select{padding:var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.products-table-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.products-table-card h2{margin:0 0 var(--space-5) 0;color:var(--color-gray-800);font-size:var(--text-xl);font-weight:600}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h3{margin:0 0 10px;color:var(--color-gray-700);font-size:var(--text-xl)}.empty-state p{margin:0 0 30px;color:var(--color-gray-500);font-size:var(--text-base)}.table-responsive{overflow-x:auto}.products-table{width:100%;border-collapse:collapse;border-radius:var(--radius-lg);overflow:hidden}.products-table thead{background:var(--bg-secondary)}.products-table th{padding:var(--space-4);text-align:left;font-weight:600;color:var(--color-gray-600);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px}.products-table tbody tr{border-top:1px solid var(--border-light);transition:all .2s ease}.products-table tbody tr:hover{background:var(--bg-tertiary)}.products-table td{padding:var(--space-4);color:var(--color-gray-700);font-size:var(--text-base)}.product-name{font-weight:600;color:var(--color-gray-800)}.profit{color:#10b981;font-weight:600}.margin{font-weight:600;color:#8b5cf6}.stock-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-weight:600;font-size:var(--text-sm)}.stock-badge.high{background:#d1fae5;color:#065f46}.stock-badge.medium{background:#fef3c7;color:#92400e}.stock-badge.low{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:8px}@media (max-width: 768px){.products-container{padding:16px}.form-grid{grid-template-columns:1fr}.table-responsive{overflow-x:scroll}.products-table{min-width:800px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333}.login-container{display:flex;min-height:100vh}.login-left{flex:1;width:50%;background:linear-gradient(135deg,#4fd1c7,#2dd4bf,#14b8a6);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;width:200%;height:200%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="2"/></svg>');animation:float 20s infinite linear}@keyframes float{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.login-left-content{text-align:center;color:#fff;z-index:2;position:relative}.logo{width:200px;height:auto;margin-bottom:2rem;filter:brightness(0) invert(1)}.login-left h1{font-size:2.5rem;margin-bottom:1rem;font-weight:300}.login-left p{font-size:1.2rem;opacity:.9}.login-right{flex:1;width:50%;display:flex;align-items:center;justify-content:center;background:#f8fafc}.login-form-container{width:100%;max-width:400px;padding:2rem;background:white;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a}.login-form-container h2{font-size:2rem;margin-bottom:.5rem;color:#1f2937}.login-subtitle{color:#6b7280;margin-bottom:2rem}.login-form .form-group{margin-bottom:1.5rem}.login-form input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s ease;background:#f9fafb}.login-form input:focus{outline:none;border-color:#14b8a6;background:white}.login-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease;margin-bottom:1.5rem}.login-btn:hover{transform:translateY(-2px)}.register-link{text-align:center}.register-link a{color:#14b8a6;text-decoration:none;font-weight:600}.register-link a:hover{text-decoration:underline}.register-container{display:flex;min-height:100vh}.register-left{flex:1;width:50%;background:linear-gradient(135deg,#4fd1c7,#2dd4bf,#14b8a6);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.register-left-content{text-align:center;color:#fff;z-index:2;position:relative}.register-left h1{font-size:2.5rem;margin-bottom:1rem;font-weight:300}.register-left p{font-size:1.2rem;opacity:.9;margin-bottom:2rem}.benefits-list{text-align:left;max-width:350px}.benefit-item{display:flex;align-items:center;margin-bottom:1rem;font-size:1rem}.benefit-icon{font-size:1.5rem;margin-right:1rem;background:rgba(255,255,255,.2);padding:.5rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.plans-section{width:100%;padding:2rem;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.plans-header{text-align:center;margin-bottom:3rem;max-width:600px}.plans-header h3{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem;background:linear-gradient(135deg,#0E3B3C,#1FA037);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plans-header p{font-size:1.1rem;color:#6b7280;opacity:.9}.loading-state{text-align:center;font-size:1.2rem;color:#6b7280;padding:2rem}.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:100%;width:100%}.plan-card{background:#ffffff;border:3px solid #e5e7eb;border-radius:20px;padding:2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:420px;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.plan-card:hover{border-color:#1fa037;box-shadow:0 20px 25px -5px #1fa0371a,0 10px 10px -5px #1fa0370a;transform:translateY(-8px) scale(1.02);background:#fefefe}.plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#0E3B3C,#1FA037);transform:scaleX(0);transition:transform .3s ease}.plan-card:hover:before{transform:scaleX(1)}.plan-card.selected{border-color:#1fa037;background:linear-gradient(135deg,#ffffff,#f0fdf4);box-shadow:0 0 0 3px #1fa03733,0 20px 25px -5px #1fa0371a;transform:translateY(-4px)}.plan-card.selected:before{transform:scaleX(1)}.plan-badge{position:absolute;top:-3px;right:20px;background:linear-gradient(135deg,#1FA037,#059669);color:#fff;padding:.5rem 1rem;border-radius:0 0 12px 12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 6px -1px #1fa03733}.plan-header{margin-bottom:1.5rem}.plan-card h4{font-size:1.8rem;margin-bottom:.8rem;color:#0e3b3c;font-weight:700;letter-spacing:-.5px}.plan-description{color:#6b7280;margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.plan-price{font-size:1.6rem;font-weight:700;color:#1fa037;margin-bottom:.5rem;background:linear-gradient(135deg,#1FA037,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-features{flex-grow:1;margin-bottom:2rem;text-align:left}.feature-item{display:flex;align-items:flex-start;margin-bottom:.8rem;font-size:.9rem;color:#4b5563;line-height:1.4}.feature-check{color:#1fa037;font-weight:700;margin-right:.8rem;font-size:1rem;flex-shrink:0;margin-top:1px}.plan-button{background:linear-gradient(135deg,#1FA037,#059669);color:#fff;border:none;border-radius:12px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px;width:100%;box-shadow:0 4px 6px -1px #1fa03733;position:relative;overflow:hidden}.plan-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 10px 15px -3px #1fa0374d}.plan-button:active{transform:translateY(0)}.plan-card.selected .plan-button{background:linear-gradient(135deg,#0E3B3C,#065f60)}.plan-card.selected .plan-button:hover{background:linear-gradient(135deg,#065f60,#0E3B3C)}.plans-full-container{min-height:100vh;width:100vw;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);display:flex;flex-direction:column;position:relative}.plans-full-header{text-align:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#4fd1c7,#2dd4bf,#14b8a6);color:#fff;position:relative;z-index:1}.plans-logo{width:120px;height:auto;margin-bottom:1rem;filter:brightness(0) invert(1)}.plans-full-header h2{font-size:2.5rem;margin-bottom:1rem;font-weight:300}.plans-full-header .step-indicator{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.plans-full-header .step-indicator span{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.plans-full-header .step-indicator span.active{background:#1FA037;color:#fff;box-shadow:0 0 20px #1fa03766}.plans-full-header .step-indicator span.completed{background:#1FA037;color:#fff}.plans-full-header .plans-header h3{font-size:2rem;margin-bottom:.5rem;font-weight:400}.plans-full-header .plans-header p{font-size:1.1rem;opacity:.9}.plans-section{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1400px;width:100%}.plan-card{background:#ffffff;border:3px solid #e5e7eb;border-radius:20px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;min-height:500px;text-align:center;position:relative;overflow:visible;box-shadow:0 4px 6px -1px #0000001a}.plan-card:hover{border-color:#1fa037;box-shadow:0 20px 25px -5px #1fa03726,0 10px 10px -5px #1fa03714;transform:translateY(-8px) scale(1.02);background:#fefefe}.plan-card.selected{border-color:#1fa037;background:linear-gradient(135deg,#ffffff,#f0fdf4);box-shadow:0 0 0 4px #1fa0374d,0 20px 25px -5px #1fa03733;transform:translateY(-4px)}.plan-card.selected:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#1FA037,#059669)}.plans-footer{text-align:center;padding:2rem;background:#ffffff;border-top:1px solid #e5e7eb}.register-btn-full{background:linear-gradient(135deg,#1FA037,#059669);color:#fff;border:none;border-radius:12px;padding:1.2rem 3rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.8px;min-width:250px;box-shadow:0 4px 6px -1px #1fa0374d}.register-btn-full:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-3px);box-shadow:0 10px 15px -3px #1fa03766}.register-btn-full:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}.register-btn-full:active:not(:disabled){transform:translateY(0)}.back-button{position:absolute;top:1.5rem;left:1.5rem;background:rgba(255,255,255,.9);border:2px solid #1FA037;border-radius:8px;padding:.5rem 1rem;color:#1fa037;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;z-index:10}.back-button:hover{background:#1FA037;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #1fa0374d}.back-arrow{font-size:1.2rem;font-weight:700}.back-button-regular{background:transparent;border:2px solid #1FA037;border-radius:8px;padding:.5rem 1rem;color:#1fa037;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;margin-bottom:1rem;align-self:flex-start}.back-button-regular:hover{background:#1FA037;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #1fa0374d}.register-right{flex:1;width:50%;display:flex;align-items:center;justify-content:center;background:white;padding:0;overflow-x:hidden}.register-form-container{width:100%;max-width:500px;padding:2rem}.register-form-container h2{font-size:2rem;margin-bottom:1rem;color:#1f2937}.step-indicator{display:flex;gap:1rem;margin-bottom:2rem}.step-indicator span{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6b7280}.step-indicator span.active,.step-indicator span.completed{background:#1FA037;color:#fff}.register-form .form-group{margin-bottom:1.5rem}.register-form input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.register-form input:focus{outline:none;border-color:#1fa037}.register-form input[readonly]{background:#f3f4f6;cursor:not-allowed}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.address-section{margin:2rem 0}.address-section h4{font-size:1.1rem;margin-bottom:1rem;color:#1f2937;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem}.working-days{margin:2rem 0}.working-days h4{font-size:1.1rem;margin-bottom:1rem;color:#1f2937}.days-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.day-toggle{padding:.75rem;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:600;color:#6b7280}.day-toggle:hover{border-color:#1fa037}.day-toggle.active{background:#1FA037;border-color:#1fa037;color:#fff}.register-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#1FA037,#0d7f2a);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease;margin:2rem 0 1.5rem}.register-btn:hover{transform:translateY(-2px)}.login-link{text-align:center}.login-link a{color:#1fa037;text-decoration:none;font-weight:600}.login-link a:hover{text-decoration:underline}@media (max-width: 1024px){.plans-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.plan-card{height:380px}.plans-header h3{font-size:2.2rem}}@media (max-width: 768px){.login-container,.register-container{flex-direction:column}.login-left,.register-left{min-height:40vh}.form-row{grid-template-columns:1fr}.days-grid{grid-template-columns:repeat(3,1fr)}.plans-section{padding:2rem 1rem;margin:0;width:100%}.plans-grid{grid-template-columns:1fr;gap:1.5rem;max-width:100%;width:100%}.plan-card{height:auto;min-height:400px}.plans-header h3{font-size:1.8rem}.plans-header p{font-size:1rem}.plan-card h4{font-size:1.5rem}.plan-price{font-size:1.4rem}}@media (max-width: 480px){.plans-section{padding:1.5rem .5rem}.plans-grid{max-width:100%;width:100%}.plan-card{padding:1.5rem}.plans-header h3{font-size:1.6rem}}.register-success-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#4fd1c7,#2dd4bf,#14b8a6);position:relative;overflow:hidden}.register-success-container:before{content:"";position:absolute;width:200%;height:200%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="2"/></svg>');animation:float 20s infinite linear}.register-success-content{background:white;border-radius:20px;padding:3rem;max-width:600px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;position:relative;z-index:2}.register-success-content .logo{width:150px;height:auto;margin-bottom:2rem;filter:none}.success-icon{margin:2rem 0;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.register-success-content h1{font-size:2.5rem;color:#10b981;margin-bottom:.5rem;font-weight:600}.register-success-content h2{font-size:1.8rem;color:#1f2937;margin-bottom:1.5rem;font-weight:500}.success-message{font-size:1.1rem;color:#6b7280;margin-bottom:2rem;line-height:1.6}.next-steps{background:#f0fdf4;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:left}.next-steps h3{font-size:1.2rem;color:#059669;margin-bottom:1rem;font-weight:600}.next-steps ul{list-style:none;padding:0}.next-steps li{font-size:1rem;color:#374151;margin-bottom:.75rem;padding-left:.5rem}.go-to-login-btn{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.go-to-login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #14b8a64d}.auto-redirect{margin-top:1.5rem;font-size:.9rem;color:#9ca3af;font-style:italic}@media (max-width: 768px){.register-success-content{padding:2rem;width:95%}.register-success-content h1{font-size:2rem}.register-success-content h2{font-size:1.5rem}.success-message{font-size:1rem}}
