@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--primary-h:332;--primary-s:73%;--primary-l:60%;--primary:hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-hover:hsl(var(--primary-h), var(--primary-s), 50%);--primary-light:hsl(var(--primary-h), var(--primary-s), 97%);--primary-alpha:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .08);--primary-glow:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .25);--secondary:#6366f1;--secondary-glow:#6366f140;--success:#10b981;--success-light:#f0fdf4;--warning:#f59e0b;--warning-light:#fffbeb;--error:#ef4444;--error-light:#fef2f2;--bg-base:#f8fafc;--bg-sidebar:#0f172a;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--card-bg:#fff;--card-border:#0000000f;--input-bg:#f8fafc;--border-color:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 20px 25px -5px #0000000d, 0 10px 10px -5px #00000005;--shadow-premium:0 25px 50px -12px #e0528e1f;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:30px;--radius-pill:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--bg-base:#060907;--bg-sidebar:#090c0a;--sidebar-text:#64748b;--sidebar-text-active:#f8fafc;--card-bg:#161c19cc;--card-border:#ffffff0a;--input-bg:#111613;--border-color:#ffffff0f;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--primary-light:#25161c;--primary-alpha:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .15);--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #0006;--shadow-lg:0 20px 40px #0009;--shadow-premium:0 25px 50px -12px #e0528e33}}*{box-sizing:border-box;font-family:var(--font-sans);margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}.ambient-bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(140px);opacity:.08;border-radius:50%;width:600px;height:600px;position:absolute}.blob-1{background:var(--primary);top:-10%;left:20%}.blob-2{background:var(--secondary);bottom:-10%;right:15%}@media (prefers-color-scheme:dark){.blob{opacity:.15}}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:100;width:270px;height:100vh;transition:var(--transition-normal);flex-direction:column;gap:36px;padding:32px 24px;display:flex;position:fixed}.sidebar-logo{color:#fff;letter-spacing:-.03em;align-items:center;gap:12px;font-size:20px;font-weight:800;display:flex}.sidebar-logo svg{width:28px;height:28px;filter:drop-shadow(0 2px 8px var(--primary-glow))}.sidebar-menu{flex-direction:column;flex-grow:1;gap:6px;display:flex}.menu-section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;padding:16px 12px 6px;font-size:10px;font-weight:800}.menu-item{border-radius:var(--radius-md);color:var(--sidebar-text);cursor:pointer;transition:var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:13.5px;font-weight:600;display:flex}.menu-item svg{width:18px;height:18px;transition:var(--transition-fast)}.menu-item:hover{color:var(--sidebar-text-active);background-color:#ffffff0a}.menu-item:hover svg{transform:translate(2px)}.menu-item.active{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;box-shadow:0 4px 20px var(--primary-glow)}.menu-item.active svg{color:#fff}.main-content{flex-direction:column;flex-grow:1;gap:40px;min-height:100vh;margin-left:270px;padding:40px;display:flex}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(20px);padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-lg), var(--shadow-premium);transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.card-title{letter-spacing:-.01em;color:var(--text-primary);font-size:18px;font-weight:800}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-primary);font-size:12.5px;font-weight:700}.form-input{border-radius:var(--radius-md);border:1.5px solid var(--border-color);background-color:var(--input-bg);width:100%;color:var(--text-primary);transition:var(--transition-fast);outline:none;padding:12px 18px;font-size:13.5px;font-weight:550}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-alpha);background-color:var(--card-bg)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:13.5px;font-weight:700;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-1px)}.btn-secondary{background-color:var(--input-bg);color:var(--text-primary);border:1.5px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover{background-color:#dc2626;box-shadow:0 4px 14px #ef444433}.btn-sm{border-radius:var(--radius-sm);padding:8px 16px;font-size:12px}.custom-table{border-collapse:collapse;width:100%}.custom-table th{border-bottom:2px solid var(--border-color);text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;padding:18px 24px;font-size:11px;font-weight:800}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:18px 24px;font-size:13.5px;font-weight:550}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover{background-color:#00000003}@media (prefers-color-scheme:dark){.custom-table tr:hover{background-color:#ffffff03}}.badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:4px 14px;font-size:11px;font-weight:800;display:inline-flex}.badge-success{background-color:var(--success-light);color:var(--success);border:1px solid #10b98126}.badge-warning{background-color:var(--warning-light);color:var(--warning);border:1px solid #f59e0b26}.badge-error{background-color:var(--error-light);color:var(--error);border:1px solid #ef444426}.kpi-container{grid-template-columns:repeat(5,1fr);gap:20px;display:grid}.kpi-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon-wrapper{border-radius:var(--radius-md);background-color:var(--primary-alpha);width:42px;height:42px;color:var(--primary);justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.kpi-icon-wrapper svg{width:20px;height:20px}.kpi-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:11px;font-weight:800}.kpi-value{color:var(--text-primary);letter-spacing:-.02em;font-size:26px;font-weight:800}.calendar-layout{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);grid-template-columns:80px 1fr;gap:12px;padding:24px;display:grid;overflow-x:auto}.time-axis{border-right:1.5px dashed var(--border-color);flex-direction:column;gap:40px;padding-top:50px;padding-right:12px;display:flex}.time-label{color:var(--text-muted);text-align:right;height:20px;font-size:11px;font-weight:800;line-height:20px}.timeline-grid{background-size:100% 60px;background-image:linear-gradient(to bottom, var(--border-color) 1px, transparent 1px);min-height:680px;position:relative}.timeline-header{border-bottom:2px solid var(--border-color);align-items:center;height:40px;margin-bottom:10px;display:flex}.timeline-slot{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:4px solid var(--primary);transition:var(--transition-normal);flex-direction:column;justify-content:space-between;gap:6px;padding:14px 18px;display:flex;position:absolute;left:10px;right:10px;overflow:hidden}.timeline-slot:hover{box-shadow:var(--shadow-md);transform:scale(1.01)}.timeline-slot.status-confirmed{background-color:var(--primary-light);border-left-color:var(--primary);color:var(--primary)}.timeline-slot.status-pending{background-color:var(--warning-light);border-left-color:var(--warning);color:var(--warning)}.timeline-slot.status-completed{background-color:var(--success-light);border-left-color:var(--success);color:var(--success)}.slot-time{text-transform:uppercase;font-size:11px;font-weight:800}.slot-title{color:var(--text-primary);font-size:13.5px;font-weight:700}.slot-detail{color:var(--text-secondary);font-size:12px;font-weight:550}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background-color:#0f172a66;justify-content:center;align-items:center;padding:24px;animation:.2s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--card-bg);border-radius:var(--radius-xl);border:1px solid var(--card-border);width:100%;max-width:500px;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
