@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--color-primary: #0d9488;--color-primary-light: #14b8a6;--color-primary-dark: #0f766e;--color-primary-bg: rgba(13, 148, 136, .08);--bg-base: #ffffff;--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-input: #fafafa;--text-primary: #0a0a0a;--text-secondary: #525252;--text-tertiary: #a3a3a3;--text-muted: #71717a;--text-inverse: #ffffff;--border-subtle: #e5e5e5;--border-default: #d4d4d4;--border-focus: #0d9488;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--accent-teal: #0d9488;--accent-green: #16a34a;--accent-red: #dc2626;--accent-amber: #d97706;--accent-blue: #2563eb;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}html.dark{--color-primary: #14b8a6;--color-primary-light: #2dd4bf;--color-primary-dark: #0d9488;--color-primary-bg: rgba(20, 184, 166, .15);--bg-base: #09090b;--bg-primary: #09090b;--bg-secondary: #121214;--bg-tertiary: #18181b;--bg-elevated: #1c1c1f;--bg-card: #18181b;--bg-input: #18181b;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-muted: #52525b;--text-inverse: #09090b;--border-subtle: #27272a;--border-default: #3f3f46;--border-focus: #14b8a6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}.premium-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .2s ease}.premium-card:hover{box-shadow:var(--shadow-md)}.premium-input{width:100%;padding:12px 16px;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-weight:500;transition:all .15s ease;height:48px}.premium-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--color-primary-bg)}.premium-input::placeholder{color:var(--text-tertiary)}.premium-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;border:none}.premium-button-primary{background-color:var(--color-primary);color:var(--text-inverse)}.premium-button-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-slide-up{animation:slideUp .4s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.animate-slide-in-right{animation:slideInRight .4s cubic-bezier(.34,1.56,.64,1) forwards}.stagger-children>*{opacity:0;animation:slideUp .4s ease forwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;max-width:calc(100vw - 48px)}@media print{body *{visibility:hidden}#invoice-print-area,#invoice-print-area *{visibility:visible}#invoice-print-area{position:absolute;left:0;top:0;width:100%;background:#fff!important;color:#000!important;padding:20px!important}nav,header,aside,.no-print,button:not(.print-only),.no-print-invoice{display:none!important}body{background:#fff!important;color:#000!important}.print-container{margin:0!important;padding:0!important;width:100%!important}}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}p,span,div{color:var(--text-secondary)}a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}table{background-color:var(--bg-card)}th{color:var(--text-tertiary)}td{color:var(--text-primary)}tr:hover{background-color:var(--bg-secondary)}label{color:var(--text-secondary)}::placeholder{color:var(--text-tertiary)!important}::selection{background-color:var(--color-primary-bg);color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:60px repeat(7,1fr);position:relative}.time-slot{height:48px;border-bottom:1px solid var(--border-subtle)}.appointment-block{position:absolute;left:3px;right:3px;border-radius:5px;padding:5px 8px;font-size:.75rem;overflow:hidden;cursor:grab;transition:box-shadow .15s;z-index:10;box-shadow:0 1px 2px #0000000a}.appointment-block:hover{box-shadow:0 4px 12px #00000026;z-index:20}.appointment-block.dragging{opacity:.7;cursor:grabbing;box-shadow:0 8px 24px #0003;z-index:50}.current-time-line{position:absolute;left:0;right:0;height:2px;background:#0d9488;z-index:30;pointer-events:none}.current-time-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#0d9488}.sparkline-container{height:40px;width:100%}.donut-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}@keyframes whatsapp-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(0)}75%{transform:translateY(-4px)}}@keyframes whatsapp-glow{0%{box-shadow:0 0 #25d36666}70%{box-shadow:0 0 0 15px #25d36600}to{box-shadow:0 0 #25d36600}}@keyframes check-draw{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}.animate-whatsapp-bounce{animation:whatsapp-bounce 1s ease-in-out infinite}.animate-whatsapp-glow{animation:whatsapp-glow 1.5s ease-in-out infinite}.animate-check-draw{stroke-dasharray:50;animation:check-draw .5s ease-out forwards}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@media(max-width:1024px){.sidebar-nav-label{display:none}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sidebar-mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:40}.dashboard-grid{grid-template-columns:1fr}.calendar-view{display:none!important}.list-view{display:block!important}.modal-content{margin:1rem;max-height:90vh;overflow-y:auto}}@media(min-resolution:192dpi){body{font-size:16px}}html,body,#root{overflow-x:hidden;width:100%}.scroll-smooth{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.text-wrap{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.responsive-grid-2{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.responsive-grid-2{grid-template-columns:repeat(2,1fr)}}
