:root{--bs-primary:var(--primary);--bs-primary-rgb:59,125,221;--bs-primary-text-emphasis:var(--primary-hover);--bs-primary-bg-subtle:var(--primary-light);--bs-primary-border-subtle:var(--primary-light);--bs-success:#10B981;--bs-success-rgb:16,185,129;--bs-warning:#FFC832;--bs-warning-rgb:255,200,50;--bs-danger:#EF4444;--bs-danger-rgb:239,68,68;--bs-body-bg:#FEFAF5;--bs-body-bg-rgb:254,250,245;--bs-secondary-bg:#FFFFFF;--bs-tertiary-bg:#FEFAF5;--bs-body-color:#1A1A1A;--bs-body-color-rgb:26,26,26;--bs-secondary-color:#6B7280;--bs-tertiary-color:#9CA3AF;--bs-emphasis-color:#1A1A1A;--bs-border-color:#E8E0D8;--bs-border-color-translucent:rgba(232, 224, 216, 0.5);--bs-border-radius:10px;--bs-border-radius-sm:6px;--bs-border-radius-lg:12px;--bs-border-radius-xl:16px;--bs-border-radius-pill:50rem;--bs-body-font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--bs-body-font-size:0.875rem;--bs-body-line-height:1.5;--bs-box-shadow:0 2px 8px rgba(30, 58, 110, 0.06);--bs-box-shadow-sm:0 1px 2px rgba(30, 58, 110, 0.04);--bs-box-shadow-lg:0 4px 12px rgba(30, 58, 110, 0.10);--bs-link-color:var(--primary);--bs-link-color-rgb:59,125,221;--bs-link-hover-color:var(--primary-hover);--bs-card-bg:#FFFFFF;--bs-card-border-color:#E8E0D8;--bs-card-border-radius:8px;--bs-card-box-shadow:0 1px 3px rgba(0, 0, 0, 0.08);--bs-modal-bg:#FFFFFF;--bs-modal-border-radius:12px;--bs-modal-box-shadow:0 20px 60px rgba(0, 0, 0, 0.15);--bs-input-bg:#FFFFFF;--bs-input-border-color:#E8E0D8;--bs-input-focus-border-color:var(--primary);--bs-input-focus-box-shadow:0 0 0 3px var(--primary-light);--bs-btn-font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--bs-btn-font-size:0.8125rem;--bs-btn-border-radius:6px}body{font-size:14px;font-family:var(--font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);color:var(--text,#1a1a1a);background-color:var(--bg,#fefaf5)}*,::after,::before{box-sizing:border-box}.btn:not(.btn-close){font-size:13px;font-weight:500;font-family:var(--font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);border-radius:6px;padding:7px 14px;transition:all .15s}.btn-close{display:inline-block!important;width:1em!important;height:1em!important;padding:.25em!important;background-size:1em!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:center!important;border:0!important;border-radius:.375rem!important;opacity:.5!important;cursor:pointer!important;pointer-events:auto!important;z-index:10!important;position:relative!important}.btn-close:hover{opacity:.75!important}.btn-close:focus{outline:0!important;box-shadow:0 0 0 .25rem rgba(59,125,221,.25)!important;opacity:1!important}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:11px 20px;font-size:14px;font-weight:600;border-radius:8px}.btn-primary{background-color:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:focus,.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--primary-light)}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background-color:var(--primary);border-color:var(--primary);color:#fff}.btn-outline-secondary{color:var(--text,#1a1a1a);border-color:var(--border,#e8e0d8);background-color:var(--surface,#fff)}.btn-outline-secondary:hover{background-color:var(--bg,#fefaf5);color:var(--text,#1a1a1a);border-color:var(--border,#e8e0d8)}.form-control,.form-select{font-size:13px;font-family:var(--font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);border-color:var(--border,#e8e0d8);border-radius:6px;padding:7px 10px;background-color:var(--surface,#fff);color:var(--text,#1a1a1a);transition:border-color .15s}.header-actions .form-control,.header-actions .form-select{display:inline-block;width:auto}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:0}.form-label{font-size:12px;font-weight:500;color:var(--text-secondary,#6b7280);margin-bottom:4px}.form-text{font-size:11px;color:var(--text-tertiary,#9ca3af)}.table{font-size:13px;color:var(--text,#1a1a1a);--bs-table-bg:var(--surface, #FFFFFF);--bs-table-striped-bg:var(--bg, #FEFAF5);--bs-table-hover-bg:var(--primary-light, #EBF2FC);--bs-table-border-color:var(--border, #E8E0D8)}.table th{font-size:12px;font-weight:600;color:var(--text-secondary,#6b7280);background-color:var(--bg,#fefaf5);border-bottom-width:2px;padding:10px 14px}.table td{padding:10px 14px;vertical-align:middle}.card{border-color:var(--border,#e8e0d8);border-radius:var(--radius,8px);box-shadow:var(--shadow,0 1px 3px rgba(0,0,0,.08))}.card-header{background-color:var(--bg,#fefaf5);border-bottom-color:var(--border,#e8e0d8);font-size:14px;font-weight:600;padding:14px 20px}.card-body{padding:20px}.badge{font-size:11px;font-weight:600;border-radius:4px;padding:2px 8px}.badge.bg-primary{background-color:var(--primary)!important}.alert{font-size:13px;border-radius:var(--radius,8px);border:none;padding:10px 14px}.alert-primary{background-color:var(--primary-light);color:var(--primary-hover);border-left:3px solid var(--primary)}.alert-success{background-color:#d1fae5;color:#065f46}.alert-warning{background-color:#fef3c7;color:#92400e}.alert-danger{background-color:#fee2e2;color:#991b1b}.nav-tabs{border-bottom-color:var(--border,#e8e0d8)}.nav-tabs .nav-link{font-size:14px;font-weight:500;color:var(--text-secondary,#6b7280);border:none;border-bottom:2px solid transparent;padding:12px 20px;margin-bottom:-1px;border-radius:0;transition:all .15s}.nav-tabs .nav-link:hover{color:var(--text,#1a1a1a);border-bottom-color:var(--border,#e8e0d8);background:0 0}.nav-tabs .nav-link.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600;background:0 0}.modal-content{border-radius:12px;border:none;box-shadow:0 20px 60px rgba(0,0,0,.15)}.modal-header{border-bottom-color:var(--border,#e8e0d8);padding:16px 20px}.modal-header .modal-title{font-size:16px;font-weight:600}.modal-body{padding:20px}.modal-footer{border-top-color:var(--border,#e8e0d8);padding:12px 20px}.text-input{display:block;width:100%;padding:7px 10px;font-size:13px;font-family:var(--font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);color:var(--text,#1a1a1a);background-color:var(--surface,#fff);border:1px solid var(--border,#e8e0d8);border-radius:6px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline:0;appearance:none}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.date-input,.select-input{display:inline-block;padding:7px 10px;font-size:13px;font-family:var(--font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);color:var(--text,#1a1a1a);background-color:var(--surface,#fff);border:1px solid var(--border,#e8e0d8);border-radius:6px;transition:border-color .15s;outline:0}.date-input:focus,.select-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary,#6b7280);margin-bottom:4px}.btn-outline{background:var(--surface,#fff);color:var(--text,#1a1a1a);border:1px solid var(--border,#e8e0d8)}.btn-outline:hover{background:var(--bg,#fefaf5)}.section-card{background:var(--surface,#fff);border-radius:var(--radius,8px);padding:20px;box-shadow:var(--shadow,0 1px 3px rgba(0,0,0,.08));margin-bottom:20px;border:1px solid var(--border,#e8e0d8)}.text-primary-custom{color:var(--primary)!important}.text-secondary-custom{color:#6b7280!important}.text-success-custom{color:#10b981!important}.text-danger-custom{color:#ef4444!important}.text-warning-custom{color:#f59e0b!important}.bg-primary-light{background-color:var(--primary-light)!important}.bg-surface{background-color:#fff!important}.bg-app{background-color:#fefaf5!important}.border-primary-custom{border-color:var(--primary)!important}.rounded-crewboard{border-radius:8px!important}.shadow-crewboard{box-shadow:0 1px 3px rgba(0,0,0,.08)!important}.input-with-icon{position:relative}.input-with-icon .form-control,.input-with-icon .text-input{padding-left:38px;width:100%}.input-with-icon .input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-tertiary,#9ca3af);pointer-events:none;z-index:5}.auth-error{color:var(--danger,#ef4444);font-size:13px;text-align:center;margin-top:8px;min-height:20px}.auth-error:not(:empty){padding:6px 10px;background-color:#fee2e2;border-radius:6px;border-left:3px solid #ef4444;text-align:left}.auth-success{color:var(--success,#10b981);font-size:13px;text-align:center;margin-top:12px}.auth-success:not([style*='display:none']):not(:empty){padding:8px 12px;background-color:#d1fae5;border-radius:6px;border-left:3px solid #10b981;text-align:left}.auth-hint{font-size:12px;color:var(--text-secondary,#6b7280);text-align:center;margin-top:12px;padding:8px 12px;background:var(--primary-light,#ebf2fc);border-radius:6px;border:1px solid rgba(59,125,221,.12);line-height:1.5}.btn-block{width:100%;justify-content:center;padding:11px;font-size:14px;margin-top:8px;border-radius:8px;font-weight:600;box-shadow:0 1px 2px rgba(59,125,221,.3);transition:background .15s,box-shadow .15s,transform .1s}.btn-block:hover{box-shadow:0 4px 12px rgba(59,125,221,.25)}.btn-block:active{transform:scale(.99)}.section-card.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 24px;background:var(--surface);margin-bottom:16px}.section-card.card h3{font-size:15px;font-weight:600;color:var(--text);margin-bottom:14px}.report-charts.row,.report-summary.row{margin-bottom:0}.report-chart-card.card,.summary-card.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface)}.summary-card.card .card-body{padding:16px 20px}.report-chart-card.card .card-body{padding:16px 20px}.pc-table.table,.report-table.table,.res-table.table{font-size:13px;color:var(--text);border-color:var(--border);margin-bottom:0}.pc-table.table thead th,.report-table.table thead th,.res-table.table thead th{background:var(--bg);color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap}.pc-table.table tbody tr:hover,.report-table.table tbody tr:hover,.res-table.table tbody tr:hover{background:rgba(59,125,221,.04)}.drill-table.table{font-size:12px;color:var(--text);border-color:var(--border);margin-bottom:0}.select-input.form-select,.select-input.form-select-sm{font-size:13px;color:var(--text);background-color:var(--surface);border-color:var(--border);border-radius:var(--radius);height:32px;padding-top:4px;padding-bottom:4px}.select-input.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,125,221,.12)}.text-input.form-control{font-size:13px;color:var(--text);background-color:var(--surface);border-color:var(--border);border-radius:var(--radius);height:36px;padding:6px 10px}.text-input.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,125,221,.12);background-color:var(--surface)}.date-input.form-control{font-size:13px;height:32px;padding:4px 8px;color:var(--text);background-color:var(--surface);border-color:var(--border);border-radius:var(--radius);display:inline-block!important;width:auto!important}.date-input.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,125,221,.12)}#report-type.form-select{display:inline-block!important;width:auto!important;min-width:120px;height:32px;padding:4px 28px 4px 10px;font-size:13px}.search-box.input-group .input-group-text{background:var(--surface);border-color:var(--border);border-radius:var(--radius) 0 0 var(--radius);color:var(--text-secondary)}.search-box.input-group .form-control{border-color:var(--border);border-radius:0 var(--radius) var(--radius) 0;font-size:13px;height:32px;border-left:none}.search-box.input-group .form-control:focus{border-color:var(--primary);box-shadow:none;border-left:none}.pc-tabs.nav-tabs{border-bottom:none;gap:2px}.pc-tabs.nav-tabs .pc-tab.nav-link{font-size:13px;font-weight:500;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid transparent;border-radius:0;padding:6px 14px;cursor:pointer;transition:color .15s,background .15s}.pc-tabs.nav-tabs .pc-tab.nav-link:hover{color:var(--primary);background:rgba(59,125,221,.06)}.pc-tabs.nav-tabs .pc-tab.nav-link.active{color:var(--primary);background:0 0;border-bottom:2px solid var(--primary);font-weight:600}.view-toggle.btn-group .view-btn.btn{font-size:13px;padding:4px 12px;height:32px;line-height:1.4}.view-toggle.btn-group .view-btn.btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.report-presets.btn-group .btn-ghost{font-size:12px;padding:3px 8px;height:28px;color:var(--text-secondary);background:0 0;border:1px solid var(--border)}.report-presets.btn-group .btn-ghost:hover{background:rgba(59,125,221,.08);color:var(--primary);border-color:var(--primary)}.form-row.row .form-group{flex:1;min-width:0}#modal-overlay.modal .modal-dialog{max-width:480px}#modal.rg-modal~.modal-dialog,.modal-dialog:has(#modal.rg-modal){max-width:540px}#modal-overlay .modal-content{border:none;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.15);overflow:hidden;max-height:80vh;display:flex;flex-direction:column}#modal-overlay .modal-header{padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;align-items:center}#modal-overlay .modal-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.4}#modal-overlay .btn-close.modal-close{opacity:.5;font-size:14px;padding:6px 8px;border-radius:4px;transition:opacity .15s,background .15s}#modal-overlay .btn-close.modal-close:hover{opacity:1;background:var(--bg)}#modal-overlay .modal-body{padding:20px;overflow-y:auto;flex:1}#modal-overlay .modal-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}#modal-overlay .modal-footer:empty{display:none}#modal-overlay:has(#modal.rg-modal) .modal-dialog{max-width:540px}#modal-overlay:has(#modal.bk-modal) .modal-dialog{max-width:520px}.modal-backdrop{--bs-backdrop-bg:rgba(0, 0, 0, 0.4);--bs-backdrop-opacity:1}#modal-overlay.modal:not(.show){pointer-events:none}#modal-overlay.modal.show{pointer-events:auto}body.modal-open{overflow:hidden;padding-right:0!important}.toast-container{position:fixed!important;bottom:24px!important;right:24px!important;top:auto!important;left:auto!important;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;padding:0!important}.toast.toast-error,.toast.toast-info,.toast.toast-success{border:none;border-radius:8px;font-size:13px;font-family:var(--font);box-shadow:0 8px 24px rgba(0,0,0,.2);pointer-events:auto;min-width:220px;max-width:360px;color:#fff;--bs-toast-bg:transparent;--bs-toast-border-color:transparent;--bs-toast-color:#fff}.toast.toast-success{background:#059669}.toast.toast-error{background:#dc2626}.toast.toast-info{background:#3b7ddd}.toast.toast-error .toast-body,.toast.toast-info .toast-body,.toast.toast-success .toast-body{padding:12px 20px;color:#fff;display:flex;align-items:center;gap:8px}.toast-icon{font-size:14px;font-weight:700;flex-shrink:0;opacity:.9}.toast-msg{flex:1;line-height:1.4}.toast:not(.show){opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.toast.hiding{opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}.schedule-grid .schedule-table,.schedule-grid .schedule-table tbody,.schedule-grid .schedule-table td,.schedule-grid .schedule-table th,.schedule-grid .schedule-table thead{border-collapse:separate!important;border-spacing:0!important;box-sizing:border-box}.ts-input{width:60px!important;padding:4px 6px!important;font-size:13px!important;border:1px solid var(--border)!important;border-radius:4px!important;background:var(--surface)!important;text-align:center!important;transition:border-color .15s,background .15s!important;box-shadow:none!important}.ts-input:focus{border-color:var(--primary)!important;background:var(--primary-light)!important;outline:0!important;box-shadow:none!important}.ts-input-variance{border-color:#f59e0b!important;background:#fffbeb!important}.ts-input-copied{background:#d1fae5!important;transition:background .3s!important}.ts-input-synced{background-color:#ebf2fc!important;border-color:#90b8e8!important}.ts-input-synced:focus{background-color:#d8e8f8!important;border-color:var(--primary)!important}.bk-field .form-control,.bk-field .form-control-sm{font-size:13px;border-color:var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:6px 10px;transition:border-color .15s,box-shadow .15s}.bk-field .form-control-sm:focus,.bk-field .form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,125,221,.12);background:var(--surface)}.bk-field .form-select,.bk-field .form-select-sm{font-size:13px;border-color:var(--border);border-radius:6px;background-color:var(--surface);color:var(--text);padding:6px 32px 6px 10px}.bk-field .form-select-sm:focus,.bk-field .form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,125,221,.12)}.bk-date-row .form-control,.bk-date-row .form-control-sm{flex:1;min-width:0;display:block}.bk-hours-group .form-control,.bk-hours-group .form-control-sm{width:100%}.bk-field textarea.form-control{resize:vertical;min-height:60px}#ts-copy-from-schedule.btn{display:inline-flex;align-items:center;gap:4px;font-size:13px}.view-toggle.btn-group .view-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);z-index:1}.view-toggle.btn-group .view-btn:not(.active){background:var(--surface);color:var(--text);border-color:var(--border)}.view-toggle.btn-group .view-btn:not(.active):hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;height:52px;background:var(--sidebar-bg);color:#fff;align-items:center;padding:0 16px;gap:12px;z-index:1040;box-shadow:0 2px 8px rgba(0,0,0,.2)}.mobile-topbar .logo{font-size:15px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.hamburger-btn{background:0 0;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s}.hamburger-btn:hover{background:rgba(255,255,255,.12)}.sidebar-close-btn{display:none;background:0 0;border:none;color:rgba(255,255,255,.7);cursor:pointer;padding:4px;border-radius:4px;transition:color .15s;margin-left:auto}.sidebar-close-btn:hover{color:#fff}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1039;backdrop-filter:blur(2px)}.sidebar-overlay.sidebar-overlay-visible{display:block}@media (max-width:768px){.mobile-topbar{display:flex}.app{flex-direction:column;padding-top:52px}.sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:1040;transform:translateX(-100%);transition:transform .25s ease;box-shadow:4px 0 24px rgba(0,0,0,.25)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-close-btn{display:flex}.sidebar-header{display:flex;align-items:center;flex-wrap:wrap}.sidebar-header .logo{flex:1}.sidebar-header .sidebar-enterprise{width:100%;margin-top:4px}.main-content{width:100%;min-width:0}.page-header{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px;min-height:auto}.page-header h1{font-size:16px}.header-actions{width:100%;flex-wrap:wrap;gap:6px}#report-end,#report-start{flex:1;min-width:120px}.date-range{min-width:auto;font-size:12px}.report-presets.btn-group{flex-wrap:wrap}.enterprise-container,.settings-container{padding:16px;max-width:100%}.timesheet-container{padding:12px}.report-container{padding:12px}}@media (max-width:576px){.view-toggle.btn-group{width:100%}.view-toggle.btn-group .view-btn{flex:1}#schedule-next,#schedule-prev,#ts-next,#ts-prev{padding:6px 10px}#btn-add-booking{width:100%;justify-content:center}#btn-export-excel,#btn-gen-report{flex:1;justify-content:center}.search-box.input-group{width:100%}.auth-form-panel{padding:16px}.auth-view h2{font-size:18px}.bk-modal{width:100%!important;max-width:100%!important;margin:0!important}.modal-dialog:has(.bk-modal){margin:0;max-width:100%}.report-charts.row>[class*=col-]{width:100%!important;max-width:100%!important}}@media (min-width:769px){.mobile-topbar{display:none!important}.sidebar-overlay{display:none!important}.sidebar{position:relative;transform:none!important;transition:none}.sidebar-close-btn{display:none!important}.app{padding-top:0}}