@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";.toast-container[data-v-fd368dbd]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast[data-v-fd368dbd]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-dropdown);min-width:280px;max-width:400px;cursor:pointer;pointer-events:all;font-size:13.5px}[data-theme=light] .toast[data-v-fd368dbd]{background:#fff}[data-theme=dark] .toast[data-v-fd368dbd]{background:#000}.toast-success[data-v-fd368dbd]{border-left:3px solid var(--success)}.toast-error[data-v-fd368dbd]{border-left:3px solid var(--danger)}.toast-warning[data-v-fd368dbd]{border-left:3px solid var(--warning)}.toast-info[data-v-fd368dbd]{border-left:3px solid var(--info)}.toast-icon[data-v-fd368dbd]{font-size:15px;flex-shrink:0}.toast-success .toast-icon[data-v-fd368dbd]{color:var(--success)}.toast-error .toast-icon[data-v-fd368dbd]{color:var(--danger)}.toast-warning .toast-icon[data-v-fd368dbd]{color:var(--warning)}.toast-info .toast-icon[data-v-fd368dbd]{color:var(--info)}.toast-msg[data-v-fd368dbd]{flex:1;line-height:1.4}.toast-close[data-v-fd368dbd]{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:0;flex-shrink:0}.toast-enter-active[data-v-fd368dbd]{transition:all .25s ease}.toast-leave-active[data-v-fd368dbd]{transition:all .2s ease}.toast-enter-from[data-v-fd368dbd],.toast-leave-to[data-v-fd368dbd]{opacity:0;transform:translate(30px)}.login-page[data-v-44384428]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);padding:20px}.login-card[data-v-44384428]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow-card)}.login-logo[data-v-44384428]{font-size:2.2rem;margin-bottom:10px}.login-title[data-v-44384428]{font-size:1.4rem;font-weight:700;margin-bottom:4px}.login-sub[data-v-44384428]{color:var(--text-secondary);font-size:13.5px;margin-bottom:28px}.login-form[data-v-44384428]{display:flex;flex-direction:column;gap:14px;text-align:left}.login-error[data-v-44384428]{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px}.app-shell[data-v-7a71aef3]{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar[data-v-7a71aef3]{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease}.sidebar-logo[data-v-7a71aef3]{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.logo-icon[data-v-7a71aef3]{font-size:1.3rem}.logo-text[data-v-7a71aef3]{font-weight:700;font-size:1rem;letter-spacing:-.01em}.sidebar-nav[data-v-7a71aef3]{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.nav-section-label[data-v-7a71aef3]{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:12px 8px 4px}.nav-section-toggle[data-v-7a71aef3]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:6px;border-radius:4px;transition:color .15s}.nav-section-toggle[data-v-7a71aef3]:hover{color:var(--text-secondary)}.section-arrow[data-v-7a71aef3]{font-size:14px;font-weight:400;color:var(--text-muted);transition:transform .2s ease;display:inline-block;transform:rotate(90deg)}.section-arrow.collapsed[data-v-7a71aef3]{transform:rotate(0)}.nav-section-items[data-v-7a71aef3]{display:flex;flex-direction:column;gap:2px}.nav-collapse-enter-active[data-v-7a71aef3],.nav-collapse-leave-active[data-v-7a71aef3]{transition:all .22s ease;overflow:hidden}.nav-collapse-enter-from[data-v-7a71aef3],.nav-collapse-leave-to[data-v-7a71aef3]{opacity:0;max-height:0}.nav-collapse-enter-to[data-v-7a71aef3],.nav-collapse-leave-from[data-v-7a71aef3]{opacity:1;max-height:400px}.nav-item[data-v-7a71aef3]{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:13.5px;font-weight:500;transition:all .15s}.nav-item[data-v-7a71aef3]:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.router-link-active[data-v-7a71aef3]{background:var(--accent-soft);color:var(--accent)}.nav-icon[data-v-7a71aef3]{font-size:1rem;width:20px;text-align:center}.nav-badge[data-v-7a71aef3]{margin-left:auto;background:var(--accent-soft);color:var(--accent);border-radius:99px;font-size:11px;font-weight:700;padding:1px 7px;font-family:var(--font-mono)}.nav-badge-danger[data-v-7a71aef3]{background:var(--danger-soft);color:var(--danger)}.nav-badge-info[data-v-7a71aef3]{background:var(--info-soft);color:var(--info)}.sidebar-footer[data-v-7a71aef3]{padding:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0}.user-info[data-v-7a71aef3]{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.user-avatar[data-v-7a71aef3]{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar-sm[data-v-7a71aef3]{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.user-meta[data-v-7a71aef3]{min-width:0}.user-name[data-v-7a71aef3]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-7a71aef3]{font-size:11.5px}.main-content[data-v-7a71aef3]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:28px 32px;background:var(--bg-base)}.mobile-header[data-v-7a71aef3],.mobile-overlay[data-v-7a71aef3]{display:none}.hamburger[data-v-7a71aef3]{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:6px}.hamburger span[data-v-7a71aef3]{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .25s}.hamburger span.open[data-v-7a71aef3]:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger span.open[data-v-7a71aef3]:nth-child(2){opacity:0}.hamburger span.open[data-v-7a71aef3]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.mobile-header[data-v-7a71aef3]{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;background:#000;border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0;z-index:40}.mobile-logo[data-v-7a71aef3]{font-weight:700;font-size:15px}.mobile-overlay[data-v-7a71aef3]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:49}.sidebar[data-v-7a71aef3]{position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translate(-100%)}.sidebar.sidebar-open[data-v-7a71aef3]{transform:translate(0);background:#000;overflow:hidden}.sidebar.sidebar-open .sidebar-logo[data-v-7a71aef3]{flex-shrink:0}.sidebar.sidebar-open .sidebar-nav[data-v-7a71aef3]{overflow-y:auto}.sidebar.sidebar-open .sidebar-footer[data-v-7a71aef3]{flex-shrink:0}[data-theme=light] .sidebar.sidebar-open[data-v-7a71aef3],[data-theme=light] .mobile-header[data-v-7a71aef3]{background:#fff}.sidebar-logo[data-v-7a71aef3]{padding-top:24px}.main-content[data-v-7a71aef3]{padding:72px 16px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));margin-left:0}}.dash-grid[data-v-dd7b8ece]{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.dash-grid>div[data-v-dd7b8ece]{display:flex;flex-direction:column;gap:20px}.dash-grid>div>.card[data-v-dd7b8ece]{flex:1}.mini-stat[data-v-dd7b8ece]{flex:1;min-width:0;overflow:hidden}.mini-stat-val[data-v-dd7b8ece]{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-stat-lbl[data-v-dd7b8ece]{font-size:11.5px;color:var(--text-muted);margin-top:3px;white-space:nowrap}.hour-bar[data-v-dd7b8ece]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.hour-bar-name[data-v-dd7b8ece]{font-size:12.5px;width:80px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hour-bar-track[data-v-dd7b8ece]{flex:1;height:6px;background:var(--bg-input);border-radius:99px;overflow:hidden}.hour-bar-fill[data-v-dd7b8ece]{height:100%;border-radius:99px;transition:width .6s ease}.hour-bar-val[data-v-dd7b8ece]{font-size:11px;font-family:var(--font-mono);width:40px;text-align:right;color:var(--text-secondary)}.schedule-item[data-v-dd7b8ece]{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.schedule-item[data-v-dd7b8ece]:last-child{border-bottom:none}.schedule-dot[data-v-dd7b8ece]{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.schedule-title[data-v-dd7b8ece]{font-size:13.5px;font-weight:500}.schedule-meta[data-v-dd7b8ece]{font-size:12px;color:var(--text-muted);margin-top:2px}.stock-warning-item[data-v-dd7b8ece]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.stock-warning-item[data-v-dd7b8ece]:last-child{border-bottom:none}.absence-list[data-v-dd7b8ece]{display:flex;flex-wrap:wrap;gap:6px}.billing-rows[data-v-dd7b8ece]{display:flex;flex-direction:column}.billing-row[data-v-dd7b8ece]{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.billing-row[data-v-dd7b8ece]:last-child{border-bottom:none}.billing-lbl[data-v-dd7b8ece]{font-size:13.5px;color:var(--text-secondary)}.billing-val[data-v-dd7b8ece]{font-family:var(--font-mono);font-size:14px;font-weight:700}.quick-access[data-v-dd7b8ece]{display:flex;gap:12px;flex-wrap:wrap}.quick-btn[data-v-dd7b8ece]{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text-primary);font-size:14px;font-weight:500;transition:all .15s;flex:1;min-width:140px}.quick-btn[data-v-dd7b8ece]:hover{background:var(--bg-card-hover);border-color:var(--accent);color:var(--accent)}.pending-chip[data-v-dd7b8ece]{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);text-decoration:none;font-size:13px;font-weight:500;transition:opacity .15s}.pending-chip[data-v-dd7b8ece]:hover{opacity:.8}.pending-chip-count[data-v-dd7b8ece]{font-family:var(--font-mono);font-weight:700;font-size:16px}.pending-chip-info[data-v-dd7b8ece]{background:var(--info-soft);color:var(--info)}@media (max-width: 900px){.dash-grid[data-v-dd7b8ece]{grid-template-columns:1fr}}@media (max-width: 480px){.quick-btn[data-v-dd7b8ece]{min-width:100%}}@media (max-width: 768px){.stat-grid[data-v-dd7b8ece]{grid-template-columns:1fr!important}}:root{--accent: #e30513;--accent-hover: #e30513;--accent-soft: rgba(255,255,255, .1);--bg-base: black;--bg-surface: rgba(255,255,255,.1);--bg-card: rgba(255,255,255,.1);--bg-card-hover: rgba(255,255,255,.1);--bg-input: rgba(255,255,255,.1);--bg-modal: black;--border: rgba(255, 255, 255, .1);--border-focus: rgba(255, 255, 255, .1);--text-primary: white;--text-secondary: rgba(255,255,255,.8);--text-muted: rgba(255,255,255,.8);--success: #16a34a;--success-soft: rgba(52, 211, 153, .12);--warning: #f59e0b;--warning-soft: rgba(251, 191, 36, .12);--danger: #ef4444;--danger-soft: rgba(248, 113, 113, .12);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .12);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .3);--shadow-dropdown: 0 8px 32px rgba(0, 0, 0, .4);--sidebar-width: 240px;--topbar-height: 60px;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace}[data-theme=light]{--accent-soft: rgba(227, 5, 19, .08);--bg-base: #f4f4f5;--bg-surface: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f9f9fa;--bg-input: #f4f4f5;--bg-modal: #ffffff;--border: rgba(0, 0, 0, .1);--border-focus: rgba(227, 5, 19, .3);--text-primary: #111111;--text-secondary: rgba(0, 0, 0, .65);--text-muted: rgba(0, 0, 0, .45);--success-soft: rgba(22, 163, 74, .1);--warning-soft: rgba(245, 158, 11, .1);--danger-soft: rgba(239, 68, 68, .1);--info-soft: rgba(96, 165, 250, .1);--shadow-card: 0 2px 12px rgba(0, 0, 0, .08);--shadow-dropdown: 0 8px 32px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}#app{height:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.375rem;font-weight:600}h3{font-size:1.1rem;font-weight:600}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-focus)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary)}.btn-success{background:var(--success);color:#fff;border:1px solid transparent}.btn-success:hover:not(:disabled){background:var(--success);color:#fff}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid transparent}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-warning{background:var(--warning-soft);color:var(--warning);border:1px solid transparent}.btn-warning:hover:not(:disabled){background:var(--warning);color:#fff}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-icon{padding:7px;border-radius:var(--radius-sm)}.nav-icon-img{display:block;width:18px;height:18px;opacity:.7}.nav-item.router-link-active .nav-icon-img{opacity:1}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{font-size:12.5px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-control{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:14px;padding:9px 12px;width:100%;transition:border-color .15s;outline:none}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-soft)}.form-control::placeholder{color:var(--text-muted)}select.form-control{cursor:pointer}textarea.form-control{resize:vertical;min-height:80px}@media (max-width: 768px){input.form-control,select.form-control,textarea.form-control{font-size:16px}}.type-toggle{display:flex;gap:8px}.type-toggle .btn{flex:1;justify-content:center}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:11.5px;font-weight:600;letter-spacing:.02em}.badge-draft{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.badge-sent{background:var(--info-soft);color:var(--info)}.badge-accepted,.badge-approved{background:var(--success-soft);color:var(--success)}.badge-rejected{background:var(--danger-soft);color:var(--danger)}.badge-invoiced{background:#a78bfa1f;color:#a78bfa}.badge-paid{background:var(--success-soft);color:var(--success)}.badge-cancelled{background:var(--bg-card);color:var(--text-muted)}.badge-pending{background:var(--warning-soft);color:var(--warning)}.badge-muted{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{padding:10px 14px;text-align:left;font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--bg-card-hover)}tbody td{padding:12px 14px;color:var(--text-primary);font-size:13.5px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:8px}.stat-card .stat-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.stat-card .stat-value{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-card .stat-sub{font-size:12px;color:var(--text-muted)}.stat-card .stat-icon{font-size:1.4rem;margin-bottom:4px}.divider{height:1px;background:var(--border);margin:20px 0}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state .empty-icon{font-size:2.5rem;margin-bottom:12px}.empty-state p{font-size:14px;margin-top:6px}.loader{display:flex;align-items:center;justify-content:center;padding:60px}.spinner{width:28px;height:28px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal{background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-dropdown)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1;background:var(--bg-modal)}.modal-body{padding:24px;overflow-y:auto;flex:1 1 auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0;z-index:1;background:var(--bg-modal)}.text-mono{font-family:var(--font-mono)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-right{text-align:right}.gap-2{gap:8px}.flex{display:flex}.flex-center{display:flex;align-items:center}.justify-between{justify-content:space-between}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.form-grid{display:grid;gap:16px}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr 1fr 1fr}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:400px 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;border-radius:4px}.skeleton-title{height:24px;border-radius:4px}.skeleton-card{height:80px;border-radius:var(--radius)}.skeleton-stat{height:90px;border-radius:var(--radius)}@media (max-width: 768px){h1{font-size:1.35rem}h2{font-size:1.15rem}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.page-header .flex,.page-header .flex-center,.page-header>button,.page-header>a{width:100%;justify-content:center;flex-wrap:wrap}.page-header .btn{min-width:auto}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.modal{border-radius:var(--radius);max-height:95vh}.modal-body{padding:16px}.modal-footer{padding:12px 16px;flex-wrap:wrap}.modal-footer .btn{flex:1;justify-content:center}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.desktop-only{display:none!important}.mobile-only{display:block!important}}
