@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.pw-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}.pw-seg-btn:focus-visible,.pw-toast-close:focus-visible,.pw-link-btn:focus-visible,.header-checkin-btn:focus-visible,.users-action-btn:focus-visible,.users-modal-close:focus-visible,.users-alert-close:focus-visible,.users-password-toggle:focus-visible,.pw-toggle-chip:focus-visible,.users-page .empty-state .btn:focus-visible,.users-page .modal-footer .btn:focus-visible,.pw-confirm .btn:focus-visible,.pw-roster a:focus-visible{outline:2px solid #4F46E5;outline-offset:2px}.pw-toast{position:fixed;top:80px;right:24px;z-index:1100;width:min(420px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;background:#fff;border:1px solid #E5E7EB;border-left:4px solid #6B7280;border-radius:12px;box-shadow:0 12px 32px #11182729;animation:pw-toast-in .2s ease-out}.pw-toast--office{border-left-color:#10b981}.pw-toast--wfh{border-left-color:#3b82f6}.pw-toast--error{border-left-color:#dc2626}.pw-toast--success{border-left-color:#10b981}.pw-toast-icon{flex-shrink:0;margin-top:1px;color:#6b7280}.pw-toast--office .pw-toast-icon{color:#059669}.pw-toast--wfh .pw-toast-icon{color:#2563eb}.pw-toast--error .pw-toast-icon{color:#dc2626}.pw-toast--success .pw-toast-icon{color:#059669}.pw-toast-body{flex:1;min-width:0}.pw-toast-title{margin:0;font-size:14px;font-weight:600;color:#111827;overflow-wrap:anywhere}.pw-toast-hint{margin:4px 0 0;font-size:13px;color:#6b7280}.pw-toast-close{flex-shrink:0;display:flex;padding:4px;border-radius:6px;color:#9ca3af}.pw-toast-close:hover{color:#374151;background:#f3f4f6}@keyframes pw-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pw-mode-pill{display:inline-flex;align-items:center;gap:5px;margin-right:8px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent}.pw-mode-pill--office{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.pw-mode-pill--wfh{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.pw-header-break-btn{margin-right:8px;background:#f59e0b;color:#fff;border:none}.pw-header-break-btn:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.pw-header-break-btn--on{background:#d97706;animation:pulse 2s infinite}.pw-header-break-btn--on:hover:not(:disabled){background:#b45309}.top-header .header-search{min-width:0;flex:0 1 300px}.top-header .header-actions{flex-shrink:0}@media (max-width: 1280px){.pw-mode-pill{display:none}}@media (max-width: 1180px){.top-header .user-name,.top-header .chevron-icon{display:none}}@media (max-width: 980px){.header-checkin-btn span{display:none}.header-checkin-btn{padding:8px}}@media (max-width: 768px){.pw-toast{top:auto;bottom:16px;right:16px;left:16px;width:auto}.pw-mode-pill{display:none}.pw-header-break-btn{margin-right:6px}}.pw-status--office{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.pw-status--wfh{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.pw-status--leave{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.pw-status--off{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}.pw-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;font-size:12px;color:#4b5563}.pw-legend li{display:inline-flex;align-items:center;gap:6px}.pw-legend-swatch{width:12px;height:12px;border-radius:4px}.pw-legend-swatch--office{background:#047857}.pw-legend-swatch--wfh{background:#2563eb}.pw-legend-swatch--leave{background:#dc2626}.pw-legend-swatch--off{background:#d1d5db}.pw-roster{padding:16px 24px 20px;display:flex;flex-direction:column;gap:16px}.pw-roster-intro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.pw-roster-meta{margin:0;font-size:13px;color:#4b5563}.pw-roster-meta strong{color:#111827;font-weight:600}.pw-note{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;background:#f8fafc;border:1px solid #E2E8F0;font-size:13px;color:#334155}.pw-note svg{flex-shrink:0;margin-top:1px;color:#64748b}.pw-note p{margin:0}.pw-note a{color:#4f46e5;font-weight:600;text-decoration:underline;text-underline-offset:2px}.pw-note--success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pw-note--success svg{color:#16a34a}.pw-note--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.pw-note--error svg{color:#dc2626}.pw-note--warn{background:#fffbeb;border-color:#fcd34d;color:#78350f}.pw-note--warn svg{color:#b45309}.pw-link-btn{margin-left:auto;flex-shrink:0;font-size:13px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px;border-radius:4px}.pw-weeks{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.pw-week{border:1px solid #E5E7EB;border-radius:12px;padding:12px 14px;background:#fff}.pw-week--current{border-color:#c7d2fe;background:#fafaff}.pw-week-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:10px}.pw-week-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:#111827}.pw-week-tag{padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:600}.pw-week-notice{margin-bottom:10px;padding:8px 12px}.pw-week-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pw-week-hint{font-size:12px;color:#6b7280}.pw-days-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.pw-days{display:grid;grid-template-columns:repeat(7,minmax(46px,1fr));gap:6px;margin:0;padding:0;list-style:none;min-width:340px}.pw-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 7px;border:1px solid transparent;border-radius:10px;text-align:center;line-height:1.2}.pw-day-name{font-size:11px;font-weight:500;opacity:.85}.pw-day-num{font-size:15px;font-weight:700}.pw-day-status{font-size:11px;font-weight:600}.pw-day--past{opacity:.55}.pw-day--today{box-shadow:0 0 0 2px #4f46e5}.pw-day-lock{position:absolute;top:4px;right:4px;opacity:.7}.pw-seg{display:inline-flex;gap:2px;padding:3px;background:#f3f4f6;border-radius:10px}.pw-seg-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#4b5563;white-space:nowrap;transition:background .15s,color .15s}.pw-seg-btn:hover:not(:disabled){color:#111827;background:#fff9}.pw-seg-btn[aria-pressed=true]{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #0000001a}.pw-seg-btn:disabled{cursor:not-allowed;opacity:.6}.pw-seg-count{padding:0 6px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:11px;font-weight:600}.pw-roster-empty{padding:8px 0;font-size:13px;color:#6b7280}@media (max-width: 768px){.pw-roster{padding:14px 14px 16px}.pw-week{padding:10px}.pw-days{grid-template-columns:repeat(7,minmax(36px,1fr));gap:4px;min-width:276px}.pw-day{padding:6px 2px 7px}.pw-roster--editable .pw-day{padding-top:13px}.pw-day-status{font-size:10px}.pw-day-lock{top:3px;right:50%;transform:translate(50%)}.pw-week-control,.pw-week-control .pw-seg{width:100%}.pw-week-control .pw-seg-btn{flex:1;justify-content:center;padding:6px 8px;font-size:12px;white-space:normal;text-align:center}}.users-page .users-header{flex-wrap:wrap;gap:12px 16px}.users-page .users-header-right{flex-wrap:wrap}.pw-users-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}.pw-users-toolbar .users-search-bar{flex:1 1 260px;margin-bottom:0}.pw-status-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:600;white-space:nowrap}.pw-status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pw-status-pill--active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.pw-status-pill--inactive{background:#f3f4f6;color:#4b5563;border-color:#d1d5db}.pw-card-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:#6b7280}.users-card.pw-card--inactive{background:#fafafa;border-style:dashed}.users-card.pw-card--inactive .users-avatar{filter:grayscale(1);opacity:.6}.users-card.pw-card--inactive .users-card-name{color:#4b5563}.users-action-btn.pw-action--deactivate{color:#b91c1c;border-color:#fecaca}.users-action-btn.pw-action--deactivate:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.users-action-btn.pw-action--reactivate{color:#047857;border-color:#a7f3d0;background:#f0fdf4}.users-action-btn.pw-action--reactivate:hover{background:#ecfdf5;border-color:#6ee7b7;color:#065f46}.pw-confirm{width:480px;max-width:calc(100vw - 32px)}.pw-confirm-body{padding:20px;overflow-y:auto;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px}.pw-confirm-body>*{margin-top:0;margin-bottom:0}.pw-confirm-lead,.pw-confirm-text{margin:0;font-size:14px;color:#374151}.pw-confirm-subhead{margin:4px 0 -6px;font-size:13px;font-weight:600;color:#111827}.pw-confirm-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#374151}.users-modal--create .users-modal-body{overflow-y:auto;flex:1 1 auto;min-height:0}.pw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pw-form-row .form-group{margin-bottom:0}.pw-form-section{margin:4px 0 16px;padding-top:14px;border-top:1px solid #F3F4F6}.pw-form-section-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#374151}.pw-form-help{margin:6px 0 0;font-size:12px;color:#6b7280}.pw-check{display:flex;align-items:flex-start;gap:10px;margin-top:12px;font-size:14px;color:#374151;cursor:pointer}.pw-check-help{display:block;margin-top:2px;font-size:12px;color:#6b7280}.pw-check input{margin-top:3px;width:16px;height:16px;accent-color:#4F46E5}.pw-check input:focus-visible{outline:2px solid #4F46E5;outline-offset:2px}@media (max-width: 768px){.pw-form-row{grid-template-columns:1fr}.pw-users-toolbar .pw-seg{width:100%}.pw-users-toolbar .pw-seg-btn{flex:1;justify-content:center}}.pw-login-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:#fffbeb;border:1px solid #FCD34D;color:#78350f;font-size:14px;margin-bottom:4px}.pw-login-alert svg{flex-shrink:0;margin-top:2px;color:#b45309}.pw-login-alert p{margin:0}.pw-login-alert strong{display:block;margin-bottom:2px;color:#78350f}.pw-confirm .form-group{margin-bottom:0}.pw-handover{padding:12px 14px;border:1px solid #E5E7EB;border-radius:12px;background:#f9fafb}.pw-handover-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#111827}.pw-handover-none{margin:0;font-size:14px;color:#374151}.pw-handover-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:0;padding:0;list-style:none}.pw-handover-counts li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #E5E7EB}.pw-handover-num{font-size:18px;font-weight:700;line-height:1.1;color:#111827}.pw-handover-label{font-size:12px;color:#4b5563}.pw-handover-extra{margin:10px 0 0;padding-left:18px;font-size:13px;color:#4b5563}.pw-handover-loading{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:#6b7280}.pw-blockers{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:2px}.pw-type-confirm .form-label strong{font-weight:700;overflow-wrap:anywhere}.users-action-btn.pw-action--delete{flex-basis:100%;color:#b91c1c;border-color:#fecaca}.users-action-btn.pw-action--delete:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.pw-users-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pw-team-select.form-select{width:auto;min-width:160px;padding:9px 12px;border-width:1px}.pw-team-select.form-select:focus{transform:none}.pw-toggle-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #E5E7EB;border-radius:10px;background:#fff;color:#374151;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pw-toggle-chip:hover{border-color:#fcd34d;background:#fffbeb}.pw-toggle-chip[aria-pressed=true]{background:#fef3c7;border-color:#f59e0b;color:#78350f;font-weight:600}.pw-toggle-chip[aria-pressed=true] .pw-seg-count{background:#fde68a;color:#78350f}.pw-filter-note{margin:-12px 0 16px;font-size:13px;color:#6b7280}.pw-card-activity{display:flex;align-items:flex-start;gap:6px;margin-bottom:12px;font-size:12px;color:#6b7280}.pw-card-activity svg{flex-shrink:0;margin-top:1px}.pw-card-activity strong{font-weight:600;color:#374151}.pw-card-activity-detail{display:block;margin-top:1px;color:#9ca3af}.pw-card-activity--stale,.pw-card-activity--stale strong{color:#92400e}@media (max-width: 768px){.pw-users-filters{width:100%}.pw-team-select.form-select{flex:1 1 140px;min-width:0}.pw-toggle-chip{flex:1 1 auto;justify-content:center}.pw-filter-note{margin-top:-12px}}.pw-profile-teams{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.pw-week-locks{display:flex;align-items:flex-start;gap:6px;margin:8px 0 0;font-size:12px;color:#4b5563}.pw-week-locks svg{flex-shrink:0;margin-top:2px;color:#6b7280}.pw-week-lock{white-space:nowrap}@media (max-width: 480px){.pw-week-lock{white-space:normal}}@media (max-width: 768px){.pw-profile-teams{justify-content:flex-start}}.awf-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}.awf-muted{color:#6b7280}.awf-small{font-size:12px}.awf-strong{font-weight:600;color:#111827}.awf-nowrap{white-space:nowrap}.awf-hint{font-size:13px;color:#6b7280;margin:0 0 16px;line-height:1.5;max-width:820px}.awf-hint--tight{margin-bottom:8px}.attendance-page button:focus-visible,.attendance-page a:focus-visible,.attendance-page input:focus-visible,.attendance-page select:focus-visible,.attendance-page textarea:focus-visible,.attendance-page [tabindex]:focus-visible,.modal-overlay .awf-modal-form :is(button,a,input,select,textarea):focus-visible{outline:2px solid #4F46E5;outline-offset:2px}.attendance-page .awf-tabs{overflow-x:auto;scrollbar-width:thin}.attendance-page .awf-tabs .tab-btn{flex-shrink:0}.awf-scroll{position:relative;overflow-x:auto;contain:inline-size;max-width:100%}.awf-scroll--tall{max-height:calc(100vh - 220px);min-height:240px;overflow-y:auto}.awf-header-row{flex-wrap:wrap;gap:12px}.awf-panel{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px}.awf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:12px}.awf-search{position:relative;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 10px;color:#6b7280;min-width:0}.awf-search input{border:none;outline:none;padding:8px 2px;font-size:13px;font-family:inherit;width:200px;max-width:100%;background:transparent}.awf-search:focus-within{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.attendance-page .awf-search input:focus-visible{outline:none}.awf-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.awf-notice__close{display:inline-flex;padding:2px;border-radius:4px;color:inherit;opacity:.7}.awf-notice__close:hover{opacity:1}.awf-link-btn{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#4f46e5;padding:4px 6px;border-radius:6px}.awf-link-btn:hover{background:#eef2ff}.awf-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.02em;background:#eef2ff;color:#4338ca;vertical-align:middle;white-space:nowrap}.awf-badge--wfh{background:#dbeafe;color:#1d4ed8}.awf-badge--warn{background:#fef3c7;color:#92400e}.awf-badge--auto{background:#ccfbf1;color:#115e59}.awf-badge--flush{margin-left:0}.awf-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.awf-pill--pending{background:#fef3c7;color:#92400e}.awf-pill--approved{background:#d1fae5;color:#065f46}.awf-pill--exception{background:#fee2e2;color:#991b1b}.awf-pill--muted{background:#f3f4f6;color:#4b5563}.awf-field{display:inline-flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#374151;min-width:0}.awf-field--grow{flex:1 1 220px}.awf-field--block{display:flex;margin-bottom:14px}.awf-field input,.awf-field select,.awf-field textarea,.awf-fieldset select,.awf-fieldset input,.awf-time-pair input{font-family:inherit;font-size:14px;font-weight:400;color:#111827;padding:7px 10px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;min-width:0;max-width:100%}.awf-field textarea{resize:vertical}.awf-field input:focus,.awf-field select:focus,.awf-field textarea:focus,.awf-fieldset select:focus,.awf-fieldset input:focus,.awf-time-pair input:focus{border-color:#4f46e5}.awf-time-pair{display:inline-flex;align-items:center;gap:6px;font-weight:400;color:#6b7280;flex-wrap:wrap}.awf-check{display:inline-flex;align-items:flex-start;gap:8px;font-size:13px;color:#374151;cursor:pointer;line-height:1.4}.awf-check input{width:16px;height:16px;margin-top:1px;accent-color:#4F46E5;flex-shrink:0}.awf-col-check{width:36px}.awf-col-check input,.awf-people input[type=checkbox],.awf-exceptions input[type=checkbox]{width:16px;height:16px;accent-color:#4F46E5;cursor:pointer}.awf-weekdays{display:flex;flex-wrap:wrap;gap:6px}.awf-weekday{min-width:46px;padding:6px 10px;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;font-weight:500;color:#374151;background:#fff}.awf-weekday:hover{border-color:#9ca3af}.awf-weekday.is-on{background:#005939;border-color:#005939;color:#fff}.awf-day{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-size:11px;font-weight:700;line-height:1;box-sizing:border-box;vertical-align:middle}.awf-day--office.awf-day--actual,.awf-day--office.awf-src--roster{background:#047857;color:#fff}.awf-day--wfh.awf-day--actual,.awf-day--wfh.awf-src--roster{background:#2563eb;color:#fff}.awf-day--leave.awf-day--actual,.awf-day--leave.awf-src--roster{background:#dc2626;color:#fff}.awf-day--office.awf-day--plan,.awf-day--office.awf-src--default{background:#ecfdf5;color:#047857;border:1.5px dashed #059669}.awf-day--wfh.awf-day--plan,.awf-day--wfh.awf-src--default{background:#eff6ff;color:#1d4ed8;border:1.5px dashed #3B82F6}.awf-day--leave.awf-day--plan,.awf-day--leave.awf-src--default{background:#fef2f2;color:#b91c1c;border:1.5px dashed #EF4444}.awf-day--office.awf-src--leave{background:repeating-linear-gradient(135deg,#047857 0,#047857 4px,#059669 4px,#059669 8px);color:#fff}.awf-day--wfh.awf-src--leave{background:repeating-linear-gradient(135deg,#1d4ed8 0,#1d4ed8 4px,#3b82f6 4px,#3b82f6 8px);color:#fff}.awf-day--leave.awf-src--leave{background:repeating-linear-gradient(135deg,#b91c1c 0,#b91c1c 4px,#ef4444 4px,#ef4444 8px);color:#fff}.awf-day--off{background:#e5e7eb;color:#6b7280;border:none}.awf-day--none{background:transparent;border:1.5px dotted #D1D5DB}.awf-day.has-extra:after{content:"";position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:#f59e0b;border:1.5px solid white}.awf-day.is-self:before{content:"";position:absolute;bottom:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:#7c3aed;border:1.5px solid white}.awf-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.awf-legend .legend-item{gap:6px}.awf-legend .awf-day{width:18px;height:18px;font-size:10px;border-radius:5px}.awf-legend__break{flex-basis:100%;height:0}.awf-legend--inline{font-size:12px;color:#4b5563}.awf-legend--inline .legend-item{font-size:12px}.awf-today-swatch{display:inline-block;width:18px;height:18px;border-radius:5px;background:#ecfdf5;border:2px solid #005939;box-sizing:border-box}.awf-cal{border-collapse:separate;border-spacing:0}.awf-cal thead th{position:sticky;top:0;z-index:2;background:#fff}.awf-cal thead th.calendar-name-col{z-index:3}.awf-cal__day{line-height:1.2;vertical-align:bottom}.awf-cal__day>span{display:block}.awf-cal__dow{font-size:10px;font-weight:500;color:#9ca3af}.awf-cal__month{font-size:9px;font-weight:700;color:#005939;text-transform:uppercase}.awf-cal__name{font-weight:500;color:#111827}.awf-cal__cell{padding:3px 2px!important}.awf-cal thead th.awf-is-today{background:#005939;color:#fff;border-radius:6px 6px 0 0}.awf-cal thead th.awf-is-today .awf-cal__dow{color:#d1fae5}.awf-cal td.awf-is-today{background:#ecfdf5;box-shadow:inset 2px 0 #005939,inset -2px 0 #005939}.awf-cal tbody tr:last-child td.awf-is-today{box-shadow:inset 2px 0 #005939,inset -2px 0 #005939,inset 0 -2px #005939}.awf-apply{border:1px solid #E5E7EB;background:#f9fafb;border-radius:12px;padding:14px 16px;margin-bottom:16px}.awf-apply__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;min-height:28px;font-size:14px;color:#374151;margin-bottom:8px}.awf-apply__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.awf-apply__row+.awf-apply__row{margin-top:12px}.awf-apply__options{align-items:flex-end;gap:12px 20px}.awf-apply__label{font-size:13px;font-weight:600;color:#374151;margin-right:4px}.awf-apply__help{margin:10px 0 0;font-size:12px;color:#6b7280}.awf-set{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;border:1.5px solid transparent;transition:filter .15s,transform .1s}.awf-set:hover:not(:disabled){filter:brightness(.95)}.awf-set:active:not(:disabled){transform:scale(.98)}.awf-set:disabled{opacity:.45;cursor:not-allowed}.awf-set--office{background:#047857;color:#fff}.awf-set--wfh{background:#2563eb;color:#fff}.awf-set--leave{background:#dc2626;color:#fff}.awf-set--off{background:#e5e7eb;color:#374151;border-color:#d1d5db}.awf-apply .btn-secondary:disabled{opacity:.45;cursor:not-allowed}.awf-roster-wrap{border:1px solid #E5E7EB;border-radius:10px}.awf-roster{border-collapse:separate;border-spacing:0;font-size:12px;user-select:none;-webkit-user-select:none}.awf-roster th,.awf-roster td{border-bottom:1px solid #F3F4F6}.awf-roster thead th{position:sticky;top:0;z-index:2;background:#fff;border-bottom:2px solid #E5E7EB}.awf-roster__corner{left:0;z-index:4!important;min-width:210px;text-align:left;padding:8px 10px;cursor:pointer;vertical-align:bottom}.awf-roster__corner>span{display:block}.awf-roster__corner>span:first-child{font-size:12px;font-weight:600;color:#374151}.awf-roster__corner-hint{font-size:11px;font-weight:500;color:#4f46e5}.awf-roster__day{min-width:30px;padding:6px 2px;text-align:center;font-weight:600;color:#4b5563;cursor:pointer;line-height:1.2}.awf-roster__day>span{display:block}.awf-roster__day:hover{background:#eef2ff!important}.awf-roster__day.is-weekend{background:#f9fafb}.awf-roster__day.is-past{color:#9ca3af}.awf-roster thead th.awf-is-today{background:#005939;color:#fff}.awf-roster thead th.awf-is-today .awf-cal__dow{color:#d1fae5}.awf-roster__person{position:sticky;left:0;z-index:1;background:#fff;text-align:left;padding:6px 10px;min-width:210px;max-width:240px;cursor:pointer;font-weight:400;border-right:1px solid #F3F4F6}.awf-roster__person:hover{background:#f5f7ff}.awf-roster__person[aria-selected=true]{background:#eef2ff;box-shadow:inset 3px 0 #4f46e5}.awf-roster__name{display:block;font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.awf-roster__meta{display:block;font-size:11px;color:#6b7280;line-height:1.4}.awf-roster__cell{text-align:center;padding:3px 2px;cursor:pointer}.awf-roster__cell:hover{background:#f5f7ff}.awf-roster__cell.is-past .awf-day{opacity:.6}.awf-roster__cell.awf-is-today{background:#ecfdf5}.awf-roster__cell.is-selected{background:#e0e7ff}.awf-roster__cell.is-selected .awf-day{outline:2px solid #4F46E5;outline-offset:1px;opacity:1}.awf-roster [tabindex]:focus-visible{outline:2px solid #111827;outline-offset:-2px}.awf-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.awf-bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;margin-bottom:12px;border-radius:10px;background:#eef2ff;color:#312e81;font-size:14px}.awf-bulkbar--inline{margin-bottom:0;padding:6px 10px}.awf-count{font-size:12px;color:#6b7280;margin:0 0 6px}.awf-exceptions td{vertical-align:top}.awf-exceptions td:nth-child(5),.awf-exceptions td:nth-child(6){min-width:140px}.awf-row-selected{background:#f5f7ff}.awf-type{font-weight:600;color:#111827}.awf-review-cell{font-size:12px;min-width:140px}.awf-review-note{display:block;color:#374151;margin-top:2px;max-width:240px}.awf-row-actions{display:flex;gap:6px}.awf-review-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:600;border:1px solid;white-space:nowrap;background:#fff}.awf-review-btn--approve{color:#047857;border-color:#a7f3d0}.awf-review-btn--approve:hover,.awf-review-btn--approve[aria-pressed=true]{background:#d1fae5}.awf-review-btn--exception{color:#b91c1c;border-color:#fecaca}.awf-review-btn--exception:hover,.awf-review-btn--exception[aria-pressed=true]{background:#fee2e2}.awf-bulkbar .awf-review-btn{font-size:13px}.checkin-card__body.awf-today-body{flex-direction:column;align-items:stretch;gap:8px}.awf-sessions{list-style:none;margin:4px 0 0;padding:0}.awf-session{padding:8px 0;border-bottom:1px solid #F3F4F6;font-size:13px;color:#374151}.awf-session:last-child{border-bottom:none}.awf-session__line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.awf-breaks{list-style:none;margin:4px 0 0;padding:0;font-size:12px;color:#4b5563}.awf-breaks li{display:flex;align-items:center;gap:6px;padding:1px 0}.awf-breaks li svg{color:#b45309;flex-shrink:0}.awf-breaks--compact{margin:0}.awf-breaks--compact li{white-space:nowrap}.awf-mode{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.awf-mode__chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700}.awf-mode__chip--office{background:#d1fae5;color:#065f46}.awf-mode__chip--wfh{background:#dbeafe;color:#1e40af}.awf-mode__where{font-size:12px;color:#6b7280;white-space:nowrap}.awf-settings .attendance-section{overflow:hidden}.awf-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px 16px;align-items:start;max-width:820px}.awf-form-grid .awf-field input{width:100%}.awf-field--wide{grid-column:1 / -1}.awf-form-actions{display:flex;flex-wrap:wrap;gap:8px}.awf-form-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.awf-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.awf-section-head .section-subtitle{margin:0}.awf-person-cell{display:flex;flex-direction:column}.awf-map-link{display:inline-flex;align-items:center;gap:4px;color:#005939;font-size:13px}.awf-map-link:hover{text-decoration:underline}.awf-modal-form{display:flex;flex-direction:column;min-height:0;max-height:90vh}.awf-fieldset{border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px 12px;margin:0 0 12px;display:flex;flex-direction:column;gap:8px;min-width:0}.awf-fieldset legend{font-size:13px;font-weight:600;color:#111827;padding:0 4px}.awf-fieldset select{width:100%}.awf-switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#111827;cursor:pointer;align-self:flex-start}.awf-switch input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:38px;height:22px;margin:0;padding:0;border:none;border-radius:999px;background:#d1d5db;cursor:pointer;transition:background .15s ease}.awf-switch input[type=checkbox]:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.awf-switch input[type=checkbox]:checked{background:#0f766e}.awf-switch input[type=checkbox]:checked:before{transform:translate(16px)}.awf-switch input[type=checkbox]:indeterminate{background:#5eead4}.awf-switch input[type=checkbox]:indeterminate:before{transform:translate(8px)}.awf-switch input[type=checkbox]:focus-visible{outline:2px solid #4F46E5;outline-offset:2px}.awf-time-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#374151}.awf-current{margin:0;font-size:12px;color:#6b7280}.awf-coords{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.awf-coords .awf-field input{width:100%}.awf-coords-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.awf-teams{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.awf-team{display:inline-flex;align-items:center;gap:4px;padding:0 7px 0 5px;border:1px solid #E5E7EB;border-radius:999px;background:#f9fafb;color:#374151;font-size:10px;font-weight:600;line-height:16px;white-space:nowrap}.awf-team__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.awf-team-filter{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#374151;min-width:0}.awf-team-filter select{font-family:inherit;font-size:13px;color:#111827;padding:7px 10px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;max-width:100%}.awf-team-filter select:focus{border-color:#4f46e5}.awf-team-static strong{font-size:13px;font-weight:500;color:#111827}.awf-field.awf-team-static strong{padding:8px 0}.awf-roster__teams{margin:2px 0 1px}.awf-cal__who{display:flex;flex-direction:column;min-width:0}.awf-name-line{display:flex;align-items:center;min-width:0}.awf-name-line>.awf-cal__person,.awf-name-line__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awf-name-line>.awf-badge{flex-shrink:0}.awf-next-day{font-size:12px;font-weight:600;color:#6d28d9;white-space:nowrap}.awf-shift{margin:0;font-size:12px;font-weight:400;color:#6b7280}.awf-shift--error{color:#b91c1c;font-weight:600}.awf-badge--muted{background:#f3f4f6;color:#4b5563}.awf-row-locked{background:#fafafa}.awf-row-locked .awf-review-btn:disabled,.awf-people .btn-icon:disabled{opacity:.4;cursor:not-allowed}.awf-roster__person[aria-disabled=true]{cursor:default}.awf-roster__person[aria-disabled=true]:hover{background:#fff}.awf-roster__cell.is-locked{cursor:not-allowed;background:#fafafa}.awf-roster__cell.is-locked:hover{background:#fafafa}.awf-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;margin-bottom:16px;border:1px solid #FDE68A;border-radius:10px;background:#fffbeb;color:#78350f}.awf-banner__icon{color:#b45309;flex-shrink:0}.awf-banner__body{flex:1 1 260px;min-width:0}.awf-banner__text{margin:0;font-size:14px;line-height:1.45}.awf-banner__more{margin:2px 0 0;font-size:13px}.awf-banner__action{flex-shrink:0}.awf-name-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 16px;margin:4px 0 0;padding:8px 12px;max-height:220px;overflow-y:auto;list-style:none;border:1px solid #E5E7EB;border-radius:8px;font-size:13px;color:#374151}.awf-name-list li{min-width:0;overflow-wrap:anywhere}.awf-absent{color:#b45309;font-weight:600}.awf-report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}@media (max-width: 768px){.awf-panel{padding:16px}.awf-month-nav .month-label{min-width:120px}.awf-search{flex:1 1 100%}.awf-search input{width:100%}.awf-cal .calendar-name-col,.awf-cal .calendar-name-cell{min-width:120px!important;max-width:140px}.awf-cal .awf-cal__person{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awf-team-filter{flex:1 1 100%}.awf-team-filter select{flex:1}.awf-banner__action{width:100%;justify-content:center}.awf-roster__corner,.awf-roster__person{min-width:150px;max-width:160px}.awf-roster__meta--hours{display:none}.awf-filters .awf-field{flex:1 1 140px}.awf-coords{grid-template-columns:1fr}.awf-scroll--tall{max-height:70vh}}.awf-cal-large .awf-hint,.awf-cal-large .awf-legend{font-size:14px}.awf-cal-large .awf-legend .awf-day{width:22px;height:22px;font-size:12px}.awf-cal-large .awf-cal,.awf-cal-large .awf-cal__name,.awf-cal-large .awf-cal__person{font-size:15px}.awf-cal-large .awf-cal__day{font-size:15px;font-weight:600;padding:6px 4px}.awf-cal-large .awf-cal__dow{font-size:12px}.awf-cal-large .awf-cal__month{font-size:11px}.awf-cal-large .awf-cal__cell{padding:5px 3px!important}.awf-cal-large .awf-cal .awf-day{width:30px;height:30px;font-size:14px;border-radius:8px}@media (max-width: 640px){.awf-cal-large .awf-cal .awf-day{width:26px;height:26px;font-size:13px}.awf-cal-large .awf-cal__name,.awf-cal-large .awf-cal__person{font-size:14px}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f5f7fa,#e9ecef);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{text-decoration:none;color:inherit}h1{font-size:28px;font-weight:700;margin:0 0 8px;color:#111827}h2{font-size:22px;font-weight:600;margin:0 0 8px;color:#111827}h3{font-size:18px;font-weight:600;margin:0 0 8px;color:#111827}h4{font-size:16px;font-weight:600;margin:0 0 4px;color:#111827}button{background:none;border:none;padding:0;margin:0;font-family:inherit;font-size:inherit;cursor:pointer;outline:none}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:260px;padding:24px 32px;transition:margin-left .3s ease}@media (max-width: 768px){.main-content{margin-left:0}}.sidebar{width:260px;background:linear-gradient(180deg,#1a1f2e,#111827);color:#fff;position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100;transition:transform .3s ease;border-right:1px solid rgba(255,255,255,.1);box-shadow:4px 0 24px #00000026}.sidebar-logo{padding:20px 16px;border-bottom:1px solid #374151;display:flex;align-items:center;justify-content:center}.sidebar-logo-img{width:200px;height:auto;object-fit:contain}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;color:#9ca3af;font-size:15px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;font-weight:500}.nav-item:hover{background:#ffffff14;color:#fff;transform:translate(4px)}.nav-item-active,.nav-item.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f166;transform:translate(4px)}.nav-icon{width:20px;height:20px}.nav-badge{position:absolute;right:12px;background-color:#dc2626;color:#fff;font-size:11px;padding:2px 8px;border-radius:12px;font-weight:600}.sidebar-footer{padding:16px;border-top:1px solid #374151}.top-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background-color:#fff;border-bottom:1px solid #E5E7EB;margin-left:260px;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:16px}.header-search{display:flex;align-items:center;background-color:#f3f4f6;border-radius:8px;padding:8px 16px;gap:8px;min-width:300px}.header-search input{border:none;background:transparent;outline:none;font-size:14px;width:100%;font-family:inherit}.header-actions{display:flex;align-items:center;gap:20px}.notification-bell{position:relative;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s}.notification-bell:hover{background-color:#f3f4f6}.notification-bell .badge{position:absolute;top:2px;right:2px;background-color:#dc2626;color:#fff;font-size:10px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.user-info{display:flex;align-items:center;gap:12px;cursor:pointer}.user-avatar{width:36px;height:36px;border-radius:50%;background-color:#4f46e5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-weight:500;font-size:14px}.role-badge{font-size:11px;padding:2px 10px;border-radius:12px;background-color:#eef2ff;color:#4f46e5;font-weight:600;text-transform:capitalize}@media (max-width: 768px){.top-header{margin-left:0}.header-search{display:none}}.login-page{min-height:100vh;display:flex}.login-brand-panel{flex:1;background:linear-gradient(160deg,#4f46e5,#3730a3,#1e1b4b);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;overflow:hidden}.login-brand-content{position:relative;z-index:2;max-width:420px}.login-brand-logo{height:48px;margin-bottom:40px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.login-brand-title{font-size:40px;font-weight:800;color:#fff;line-height:1.15;margin:0 0 12px;letter-spacing:-.5px}.login-brand-subtitle{font-size:17px;color:#ffffffb3;margin:0 0 48px;font-weight:400}.login-brand-features{display:flex;flex-direction:column;gap:18px}.login-brand-feature{display:flex;align-items:center;gap:14px;color:#ffffffd9;font-size:15px;font-weight:500}.login-brand-feature-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;flex-shrink:0}.login-brand-decoration{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.login-brand-circle{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.login-brand-circle-1{width:500px;height:500px;top:-120px;right:-180px}.login-brand-circle-2{width:350px;height:350px;bottom:-80px;left:-100px}.login-brand-circle-3{width:200px;height:200px;bottom:80px;right:40px;background:#ffffff08}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 40px;background:#fff}.login-form-container{width:100%;max-width:400px}.login-form-header{margin-bottom:36px}.login-form-header h2{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px}.login-form-header p{font-size:15px;color:#6b7280;margin:0}.login-input-wrapper{position:relative}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.login-input-with-icon{padding-left:42px!important}.login-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.login-label-row .form-label{margin-bottom:0}.login-forgot-link{background:none;border:none;color:#6366f1;font-size:13px;font-weight:500;cursor:pointer;padding:0;font-family:inherit;transition:color .2s}.login-forgot-link:hover{color:#4338ca}.login-submit-btn{width:100%;padding:14px 24px;margin-top:8px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #6366f159;position:relative;overflow:hidden}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 6px 22px #6366f173;transform:translateY(-1px)}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.login-page{flex-direction:column}.login-brand-panel{padding:40px 32px;min-height:auto}.login-brand-title{font-size:28px}.login-brand-features{display:none}.login-form-panel{padding:40px 24px}}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.form-required{color:#dc2626;margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid #E5E7EB;border-radius:10px;font-size:14px;color:#111827;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;font-family:inherit;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 4px #6366f11a,0 4px 12px #6366f126;transform:translateY(-2px)}.form-textarea{min-height:100px;resize:vertical}.form-checkbox-group{display:flex;align-items:center;gap:8px}.form-checkbox{width:18px;height:18px;accent-color:#4F46E5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-section-title{font-size:18px;font-weight:700;color:#111827;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #E5E7EB}.billing-copy-toggle{margin-bottom:16px;padding:10px 14px;background:#eef2ff;border-radius:8px;border:1px solid #C7D2FE}.billing-copy-toggle .checkbox-label{padding:0;font-weight:500;color:#4338ca}.billing-checkbox{padding:10px 14px;background:#f0fdf4;border-radius:8px;border:1px solid #BBF7D0}.billing-checkbox input[type=checkbox]{width:18px;height:18px}.billing-subsection{margin-top:20px;padding:16px;background:#fffbeb;border-radius:10px;border:1px solid #FDE68A}.billing-subsection-title{font-size:15px;font-weight:600;color:#92400e;margin:0 0 4px}.billing-subsection-desc{font-size:12px;color:#a16207;margin:0 0 12px}.detail-value--yes{color:#059669;font-weight:600}.detail-value--no{color:#9ca3af}.error-message{color:#dc2626;background-color:#fef2f2;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid #FECACA}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s,box-shadow .2s;border:none;font-family:inherit}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.btn-primary:hover:before{left:100%}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.btn-success{background-color:#059669;color:#fff}.btn-success:hover{background-color:#047857}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn-outline{background:transparent;border:1px solid #D1D5DB;color:#374151}.btn-outline:hover{background-color:#f9fafb}.btn-lg{padding:14px 28px;font-size:16px}.btn-sm{padding:6px 14px;font-size:12px}.btn-block{width:100%;justify-content:center}.dashboard{padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-header h1{font-size:24px;font-weight:700}.welcome-text{font-size:14px;color:#6b7280;margin-top:4px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media (max-width: 1024px){.kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.kpi-row{grid-template-columns:1fr}}.kpi-card{position:relative;background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kpi-card:hover{transform:translateY(-2px);border-color:#c7d2fe;box-shadow:0 4px 12px #0000000f,0 8px 24px #0000000a}.kpi-card__accent{position:absolute;top:0;left:0;width:4px;height:100%;border-radius:14px 0 0 14px}.kpi-card__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-card__body{display:flex;flex-direction:column;min-width:0}.kpi-card__number{font-size:28px;font-weight:800;color:#111827;line-height:1.1;letter-spacing:-.5px}.kpi-card__label{font-size:13px;font-weight:500;color:#6b7280;margin-top:3px;white-space:nowrap}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-view-all{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#4f46e5;text-decoration:none;transition:gap .15s ease}.section-view-all:hover{gap:8px}.req-summary-row{display:flex;align-items:center;background:#fff;border-radius:14px;padding:18px 32px;box-shadow:0 1px 4px #0000000f;gap:32px;margin-bottom:20px}.req-summary-stat{display:flex;flex-direction:column;align-items:center;min-width:64px}.req-summary-num{font-size:26px;font-weight:800;color:#111827;line-height:1.1}.req-summary-num--pending{color:#d97706}.req-summary-num--submitted{color:#4f46e5}.req-summary-num--approved{color:#059669}.req-summary-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-top:2px}.req-summary-divider{width:1px;height:36px;background:#e5e7eb}.req-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.req-service-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 4px #0000000f;border:1px solid #F3F4F6;transition:border-color .15s ease,box-shadow .15s ease}.req-service-card:hover{border-color:#e0e7ff;box-shadow:0 2px 8px #4f46e514}.req-service-card__header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.req-service-card__icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.req-service-card__title{display:flex;flex-direction:column}.req-service-card__name{font-size:14px;font-weight:700;color:#1f2937}.req-service-card__total{font-size:12px;color:#9ca3af;font-weight:500}.req-service-card__progress{display:flex;align-items:center;gap:10px;margin-bottom:14px}.req-service-card__bar{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.req-service-card__bar-fill{height:100%;border-radius:3px;transition:width .4s ease;min-width:0}.req-service-card__pct{font-size:12px;font-weight:700;color:#6b7280;min-width:32px;text-align:right}.req-service-card__counts{display:flex;gap:16px}.req-service-card__count{display:flex;align-items:center;gap:5px}.req-count-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.req-count-dot--pending{background:#f59e0b}.req-count-dot--submitted{background:#6366f1}.req-count-dot--approved{background:#10b981}.req-count-dot--completed{background:#047857}.req-count-num{font-size:14px;font-weight:700;color:#374151}.req-count-label{font-size:12px;color:#9ca3af;font-weight:500}.stat-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:flex-start}.stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-number{font-size:28px;font-weight:700;color:#111827;margin-top:8px}.stat-label{font-size:13px;color:#6b7280;margin-top:2px}.table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB}.table-header h2{font-size:18px;font-weight:600}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{text-align:left;padding:12px 24px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background-color:#f9fafb;border-bottom:1px solid #E5E7EB}.jobs-table td{padding:16px 24px;font-size:14px;color:#374151;border-bottom:1px solid #F3F4F6}.jobs-table tr:hover{background-color:#f9fafb}.jobs-table tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;gap:6px}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.create-job{max-width:900px;margin:0 auto}.stepper{display:flex;justify-content:space-between;margin-bottom:40px;position:relative}.stepper:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background-color:#e5e7eb}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;flex:1}.step-circle{width:40px;height:40px;border-radius:50%;background-color:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;transition:all .3s ease;border:3px solid white}.step-active .step-circle{background-color:#4f46e5;color:#fff;box-shadow:0 0 0 4px #4f46e533}.step-completed .step-circle{background-color:#059669;color:#fff}.step-label{margin-top:8px;font-size:12px;color:#6b7280;font-weight:500;text-align:center}.step-active .step-label{color:#4f46e5;font-weight:600}.step-completed .step-label{color:#059669}.step-form{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.step-actions{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid #E5E7EB}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.service-card{border:2px solid #E5E7EB;border-radius:12px;padding:24px;cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;background-color:#fff}.service-card:hover{border-color:#a5b4fc;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-card-selected{border-color:#4f46e5;background-color:#eef2ff;box-shadow:0 0 0 3px #4f46e51a}.service-card-selected:hover{border-color:#4f46e5}.service-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.service-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.service-name{font-size:16px;font-weight:700}.service-description{font-size:13px;color:#6b7280;margin-bottom:16px}.service-check{position:absolute;top:16px;right:16px;width:24px;height:24px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;transition:all .2s}.service-card-selected .service-check{background-color:#4f46e5;border-color:#4f46e5;color:#fff}.service-pricing{margin-top:16px;border-top:1px solid #E5E7EB;padding-top:16px}.pricing-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px}.pricing-row:not(:last-child){border-bottom:1px solid #F3F4F6}.pricing-item-name{color:#374151}.pricing-item-price{font-weight:600;color:#111827}.pricing-unit{font-size:11px;color:#6b7280;font-weight:400}.quantity-input{width:60px;padding:4px 8px;border:1px solid #D1D5DB;border-radius:6px;text-align:center;font-size:13px;font-family:inherit}.service-subtotal{display:flex;justify-content:space-between;padding:12px 0;margin-top:8px;border-top:2px solid #E5E7EB;font-weight:700;font-size:15px;color:#4f46e5}.services-total{background-color:#fff;border-radius:12px;padding:24px;margin-top:24px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:center}.services-total .total-label{font-size:18px;font-weight:600}.services-total .total-amount{font-size:28px;font-weight:800;color:#4f46e5}.dynamic-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}@media (max-width: 768px){.dynamic-form{grid-template-columns:1fr}}.dynamic-form .form-group.full-width{grid-column:1 / -1}.requirement-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #E5E7EB;padding-bottom:0}.requirement-tab{padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.requirement-tab:hover{color:#4f46e5}.requirement-tab-active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.pipeline-tracker{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;position:relative}.pipeline-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.pipeline-circle{width:36px;height:36px;border-radius:50%;background-color:#e5e7eb;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;z-index:2;transition:all .3s}.pipeline-completed .pipeline-circle{background-color:#059669;color:#fff}.pipeline-active .pipeline-circle{background-color:#4f46e5;color:#fff;box-shadow:0 0 0 4px #4f46e533;animation:pulse 2s infinite}.pipeline-rejected .pipeline-circle{background-color:#dc2626;color:#fff}.pipeline-label{margin-top:8px;font-size:11px;color:#6b7280;text-align:center;font-weight:500;max-width:80px}.pipeline-completed .pipeline-label{color:#059669}.pipeline-active .pipeline-label{color:#4f46e5;font-weight:600}.pipeline-line{position:absolute;top:18px;left:50%;width:100%;height:2px;background-color:#e5e7eb}.pipeline-completed .pipeline-line{background-color:#059669}.pipeline-step:last-child .pipeline-line{display:none}@keyframes pulse{0%{box-shadow:0 0 #4f46e566}70%{box-shadow:0 0 0 10px #4f46e500}to{box-shadow:0 0 #4f46e500}}.job-detail{max-width:900px;margin:0 auto}.job-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.job-id{font-size:14px;color:#6b7280;font-weight:500}.detail-section{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.detail-section h3{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #E5E7EB}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column}.detail-item-label{font-size:12px;color:#6b7280;font-weight:500;margin-bottom:2px}.detail-item-value{font-size:14px;color:#111827;font-weight:500}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.review-section{margin-bottom:24px}.review-section h3{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.review-item{display:flex;flex-direction:column;padding:8px 0}.review-item-label{font-size:12px;color:#6b7280;font-weight:500}.review-item-value{font-size:14px;color:#111827;margin-top:2px}.review-services{border:1px solid #E5E7EB;border-radius:8px;overflow:hidden}.review-service-header{background-color:#f9fafb;padding:12px 16px;font-weight:600;font-size:14px;display:flex;justify-content:space-between}.review-service-items{padding:8px 16px}.review-service-item{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid #F3F4F6}.review-total{display:flex;justify-content:space-between;padding:16px;background-color:#eef2ff;font-weight:700;font-size:16px;color:#4f46e5}.notifications-page{max-width:700px;margin:0 auto}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.notification-item{background-color:#fff;border-radius:10px;padding:16px 20px;margin-bottom:8px;box-shadow:0 1px 2px #0000000d;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.notification-unread{border-left:3px solid #4F46E5}.notification-read{opacity:.6}.notification-content{flex:1}.notification-message{font-size:14px;color:#111827}.notification-meta{font-size:12px;color:#6b7280;margin-top:4px;display:flex;gap:12px}.notification-actions{display:flex;gap:8px}.admin-panel{padding:0}.admin-section{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.admin-section h2{font-size:18px;font-weight:600;margin-bottom:16px}.user-table{width:100%;border-collapse:collapse}.user-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;background-color:#f9fafb}.user-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #F3F4F6}.filter-bar select,.filter-bar input{padding:8px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;font-family:inherit}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#6b7280}.text-primary{color:#4f46e5}.text-success{color:#059669}.text-danger{color:#dc2626}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-1{gap:8px}.gap-2{gap:16px}.hidden{display:none}.card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -4px #00000014,0 8px 12px -4px #0000000a}.empty-state{text-align:center;padding:60px 24px}.empty-state-icon{margin:0 auto 16px;width:64px;height:64px;background-color:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9ca3af}.empty-state h3{font-size:18px;color:#374151;margin-bottom:8px}.empty-state p{font-size:14px;color:#6b7280}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.mobile-toggle{display:none;padding:8px;cursor:pointer}@media (max-width: 768px){.mobile-toggle{display:flex}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.sidebar-overlay.active{display:block}.page-content{padding:24px 0;flex:1;overflow-y:auto;overflow-x:hidden}.page-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px}.create-job-header{margin-bottom:8px}.create-job-body{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;max-height:calc(100vh - 260px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#D1D5DB #F3F4F6}.create-job-body::-webkit-scrollbar{width:8px}.create-job-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.create-job-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.create-job-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.create-job-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:0}.footer-left,.footer-right{display:flex;gap:12px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.btn-submit{padding:12px 32px;font-size:15px;background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 4px 12px #4f46e54d}.btn-submit:hover{box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 768px){.form-row-3{grid-template-columns:1fr}}.form-group-full{grid-column:1 / -1}.form-row-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}@media (max-width: 768px){.form-row-wrap{grid-template-columns:1fr}}.form-row-wrap .form-group-full{grid-column:1 / -1}.input-error{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a!important}.field-error{display:block;color:#dc2626;font-size:12px;margin-top:4px;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#374151;padding:8px 0}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#4F46E5;cursor:pointer}.service-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.service-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.service-card-check{width:28px;height:28px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;transition:all .2s;color:transparent}.service-card-selected .service-card-check{background-color:#4f46e5;border-color:#4f46e5;color:#fff}.service-card-name{font-size:16px;font-weight:700;color:#111827;margin:0 0 6px}.service-card-desc{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.pricing-table{margin-top:20px;border-top:1px solid #E5E7EB;padding-top:16px}.pricing-category-filter{margin-bottom:12px}.pricing-category-select{width:100%;padding:8px 12px;font-size:13px;font-weight:500;border:1px solid #D1D5DB;border-radius:8px;background:#f9fafb;color:#374151;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:border-color .15s}.pricing-category-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e526}.pricing-table table{width:100%;border-collapse:collapse;font-size:13px}.pricing-table th{text-align:left;padding:8px 6px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #E5E7EB}.pricing-table td{padding:10px 6px;font-size:13px;color:#374151;border-bottom:1px solid #F3F4F6;vertical-align:middle}.pricing-table .pricing-item-name{display:block;font-weight:500;color:#111827}.pricing-table .pricing-item-unit{display:block;font-size:11px;color:#9ca3af;margin-top:2px}.qty-input{width:64px;padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;text-align:center;font-size:13px;font-family:inherit;transition:border-color .2s}.qty-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a}.grand-total{margin-top:24px;padding:20px 24px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:12px;font-size:18px;font-weight:600;color:#4f46e5;display:flex;justify-content:space-between;align-items:center}.grand-total strong{font-size:24px;font-weight:800}.req-tabs{display:flex;gap:2px;margin-bottom:24px;border-bottom:2px solid #E5E7EB}.req-tab{padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.req-tab:hover{color:#4f46e5;background-color:#f9fafb}.req-tab-active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.req-form{margin-top:8px}.req-form-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid #F3F4F6}.review-section{margin-bottom:28px;background:#fff;border-radius:10px;border:1px solid #E5E7EB;overflow:hidden}.review-section-title{font-size:15px;font-weight:600;color:#374151;margin:0;padding:16px 20px;background-color:#f9fafb;border-bottom:1px solid #E5E7EB;display:flex;align-items:center;gap:8px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}.review-item{display:flex;flex-direction:column;padding:12px 20px;border-bottom:1px solid #F3F4F6}.review-item:nth-child(odd){border-right:1px solid #F3F4F6}.review-item-full{grid-column:1 / -1;border-right:none!important}.review-label{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.review-value{font-size:14px;color:#111827;font-weight:500}.review-service{margin:0;border-bottom:1px solid #E5E7EB}.review-service:last-child{border-bottom:none}.review-service-name{font-size:14px;font-weight:700;margin:0;padding:12px 20px;background-color:#fafafa}.review-pricing-table{width:100%;border-collapse:collapse}.review-pricing-table th{text-align:left;padding:8px 20px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;background-color:#f9fafb;border-bottom:1px solid #E5E7EB}.review-pricing-table td{padding:10px 20px;font-size:13px;color:#374151;border-bottom:1px solid #F3F4F6}.review-service-total{text-align:right;padding:10px 20px;font-size:14px;font-weight:600;color:#4f46e5;background:#f9fafb}.review-grand-total{padding:16px 20px;font-size:16px;font-weight:700;color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff);display:flex;justify-content:space-between;align-items:center}.review-grand-total strong{font-size:20px}.review-reqs{border-bottom:1px solid #E5E7EB}.review-reqs:last-child{border-bottom:none}.review-reqs h4{padding:12px 20px;margin:0;background-color:#fafafa;font-size:14px;font-weight:600;color:#374151;border-bottom:1px solid #F3F4F6}.sidebar-close-btn{display:none;color:#9ca3af}@media (max-width: 768px){.sidebar-close-btn{display:flex}}.sidebar-toggle{color:#6b7280;padding:4px}.header-logo-text{font-size:20px;font-weight:800;color:#1f2937;letter-spacing:-.5px}.unread-count{font-size:13px;color:#4f46e5;font-weight:600}.notification-dot{width:8px;height:8px;border-radius:50%;background-color:#4f46e5;flex-shrink:0;margin-right:12px}.notification-read .notification-dot{background-color:#d1d5db}.notification-body{flex:1}.notification-job-link{color:#4f46e5;font-weight:500;display:inline-flex;align-items:center;gap:4px}.notification-job-link:hover{text-decoration:underline}.notification-time{color:#9ca3af}.btn-mark-read{font-size:12px;color:#4f46e5;font-weight:500;padding:4px 12px;border-radius:6px;transition:background .2s}.btn-mark-read:hover{background-color:#eef2ff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin:0}.subsection-title{font-size:15px;font-weight:600;color:#6b7280;margin:20px 0 12px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.analytics-card{background:#f9fafb;border-radius:10px;padding:16px;text-align:center}.analytics-number{display:block;font-size:28px;font-weight:700;line-height:1}.analytics-label{display:block;font-size:12px;color:#6b7280;font-weight:500;margin-top:6px}.add-user-form{background:#f9fafb;padding:20px;border-radius:10px;margin-bottom:20px;border:1px solid #E5E7EB}.add-user-form .form-row{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.add-user-form .form-row{grid-template-columns:1fr}}.form-actions{display:flex;gap:8px;margin-top:8px}.role-badge-sm{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 10px;border-radius:12px;background-color:#eef2ff;color:#4f46e5;font-weight:500}.table-wrapper{overflow-x:auto}.filter-group{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 12px}.filter-input{border:none;outline:none;padding:8px 4px;font-size:13px;font-family:inherit;min-width:200px}.filter-select{padding:8px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;font-family:inherit;background:#fff}.job-id-link{color:#4f46e5;font-weight:600}.job-id-link:hover{text-decoration:underline}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#6b7280;transition:all .2s}.btn-icon:hover{background-color:#f3f4f6;color:#4f46e5}.services-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-reqs{color:#9ca3af;font-style:italic;padding:20px}.detail-section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E5E7EB;color:#1f2937}.detail-section-title svg{color:#4f46e5}.detail-label{font-size:12px;color:#6b7280;font-weight:500}.detail-value{font-size:14px;color:#111827;font-weight:500;margin-top:2px}.jd-header{margin-bottom:24px}.jd-header__main{display:flex;justify-content:space-between;align-items:flex-start;margin-top:8px}.jd-header__left{display:flex;flex-direction:column;gap:4px}.jd-header__job-id{font-size:28px;font-weight:800;color:#111827;letter-spacing:-.5px}.jd-header__client{font-size:16px;color:#6b7280;font-weight:500}.jd-header__right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-badge--lg{font-size:13px;padding:6px 16px;font-weight:600}.jd-header__date{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.jd-tabs{display:flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:12px;margin-bottom:20px;overflow-x:auto}.jd-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .2s}.jd-tab:hover{color:#374151;background:#fff9}.jd-tab--active{background:#fff;color:#4f46e5;box-shadow:0 1px 3px #00000014;font-weight:600}.jd-tab--highlight,.jd-tab--highlight.jd-tab--active{color:#d97706}.jd-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#4f46e5;color:#fff;font-size:11px;font-weight:700;line-height:1}.jd-tab--active .jd-tab__badge{background:#4f46e5}.jd-tab__dot{width:8px;height:8px;border-radius:50%;background:#d97706;flex-shrink:0;animation:jd-tab-pulse 2s ease-in-out infinite}@keyframes jd-tab-pulse{0%,to{opacity:1}50%{opacity:.4}}.jd-pipeline{background:#fff;border-radius:12px;padding:24px 32px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}.jd-pipeline__steps{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.jd-pipeline__step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.jd-pipeline__line{position:absolute;top:20px;right:50%;width:100%;height:3px;background:#e5e7eb;z-index:0}.jd-pipeline__line--filled{background:linear-gradient(90deg,#059669,#10b981)}.jd-pipeline__circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#9ca3af;z-index:1;transition:all .3s ease;border:3px solid #E5E7EB}.jd-pipeline__step--done .jd-pipeline__circle{background:#059669;color:#fff;border-color:#059669}.jd-pipeline__step--active .jd-pipeline__circle{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e533;animation:pulse 2s infinite}.jd-pipeline__label{margin-top:10px;font-size:12px;color:#9ca3af;font-weight:500;text-align:center}.jd-pipeline__step--done .jd-pipeline__label{color:#059669;font-weight:600}.jd-pipeline__step--active .jd-pipeline__label{color:#4f46e5;font-weight:600}.jd-pipeline__rejected{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fef2f2;border-radius:10px;border:1px solid #FECACA}.jd-pipeline__rejected-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;flex-shrink:0}.jd-pipeline__rejected-label{font-weight:700;color:#dc2626;font-size:15px}.jd-pipeline__rejected-reason{font-size:13px;color:#991b1b;margin-top:4px}.jd-pipeline__paused{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fffbeb;border-radius:10px;border:1px solid #FDE68A}.jd-pipeline__paused-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f59e0b;color:#fff;flex-shrink:0}.jd-pipeline__paused-label{font-weight:700;color:#d97706;font-size:15px}.jd-pipeline__paused-reason{font-size:13px;color:#92400e;margin-top:4px}.jd-pipeline__paused-by{font-size:12px;color:#b45309;display:block;margin-top:2px}.jd-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px}.jd-info-item{display:flex;align-items:flex-start;gap:10px}.jd-info-item>div{display:flex;flex-direction:column;min-width:0}.jd-info-item--full{grid-column:1 / -1}.jd-info-icon{color:#9ca3af;margin-top:2px;flex-shrink:0}@media (max-width: 768px){.jd-info-grid{grid-template-columns:1fr}.jd-header__main{flex-direction:column;gap:12px}.jd-header__right{align-items:flex-start}.jd-tabs{gap:2px;padding:3px}.jd-tab{padding:8px 12px;font-size:13px}}.jd-services-list{display:flex;flex-direction:column;gap:20px}.jd-service-block{border:1px solid #E5E7EB;border-radius:10px;padding:16px 20px;background:#fafafa}.jd-service-block__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.jd-service-block__icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center}.jd-service-block__name{font-size:15px;font-weight:700}.detail-pricing-table{width:100%;border-collapse:collapse;margin-bottom:8px;background:#fff;border-radius:8px;overflow:hidden}.detail-pricing-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;background:#f9fafb;border-bottom:1px solid #E5E7EB}.detail-pricing-table td{padding:10px 14px;font-size:13px;border-bottom:1px solid #F3F4F6;color:#374151}.detail-service-subtotal{text-align:right;font-weight:600;color:#4f46e5;font-size:14px;padding-top:8px}.detail-total{text-align:right;font-size:17px;font-weight:700;color:#4f46e5;padding:14px 0;margin-top:12px;border-top:2px solid #E5E7EB}.detail-item-full{grid-column:1 / -1}.jd-req-cards{display:flex;flex-direction:column;gap:10px}.jd-req-card{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;text-decoration:none;transition:all .2s ease}.jd-req-card:hover{border-color:#4f46e5;background:#eef2ff;transform:translateY(-1px);box-shadow:0 2px 8px #4f46e51a}.jd-req-card__icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.jd-req-card__body{flex:1;display:flex;flex-direction:column}.jd-req-card__id{font-size:14px;font-weight:600;color:#4f46e5}.jd-req-card__service{font-size:13px;color:#6b7280}.jd-timeline{display:flex;flex-direction:column}.jd-timeline__item{display:flex;gap:14px}.jd-timeline__marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.jd-timeline__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #fff,0 0 0 4px currentColor}.jd-timeline__connector{width:2px;flex:1;min-height:24px;background:#e5e7eb;margin:4px 0}.jd-timeline__body{padding-bottom:20px}.jd-timeline__header{display:flex;align-items:center;gap:8px}.jd-timeline__event{font-size:14px;font-weight:600;color:#1f2937}.jd-timeline__by{font-size:13px;color:#6b7280}.jd-timeline__detail{font-size:13px;color:#991b1b;margin-top:4px;padding:6px 10px;background:#fef2f2;border-radius:6px}.jd-timeline__date{font-size:12px;color:#9ca3af;margin-top:2px}.reject-form{margin-top:12px}.reject-form-actions{display:flex;gap:8px;margin-top:8px}.btn-danger-outline{border:1px solid #DC2626;color:#dc2626;background:transparent}.btn-danger-outline:hover{background:#fef2f2}.pause-form{margin-top:12px}.pause-form-actions{display:flex;gap:8px;margin-top:8px}.btn-pause-outline{border:1px solid #F59E0B;color:#d97706;background:transparent}.btn-pause-outline:hover{background:#fffbeb}.btn-pause{background:#f59e0b;color:#fff}.btn-pause:hover{background:#d97706}.btn-icon-warning{color:#d97706}.btn-icon-warning:hover{background:#fffbeb;color:#f59e0b}.top-header{margin-left:0;gap:16px}.main-content{padding:0 32px 24px}.fee-type-toggle{display:inline-flex;gap:0;margin-top:4px;border-radius:6px;overflow:hidden;border:1px solid #D1D5DB}.fee-type-btn{padding:3px 10px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;border:none;background:#fff;color:#6b7280;transition:all .2s}.fee-type-btn:first-child{border-right:1px solid #D1D5DB}.fee-type-btn-active{background:#4f46e5;color:#fff}.fee-type-btn:hover:not(.fee-type-btn-active){background:#f3f4f6}.price-unit-label{display:inline-block;margin-left:4px;font-size:12px;font-weight:600;color:#6b7280}.price-input{width:100px;padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;text-align:right;font-size:13px;font-family:inherit;font-weight:500;transition:border-color .2s,box-shadow .2s;background:#fafafa}.price-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a;background:#fff}.price-input::placeholder{color:#d1d5db;font-weight:400}.custom-text-input{width:100%;padding:6px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fff}.custom-text-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a}.custom-text-input::placeholder{color:#9ca3af}.unit-select{padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;font-size:12px;font-family:inherit;background:#fff;color:#374151;cursor:pointer;transition:border-color .2s;min-width:90px}.unit-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e51a}.other-items-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #E5E7EB;border-radius:8px 8px 0 0}.other-items-label{font-size:14px;font-weight:600;color:#374151}.btn-add-item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s}.btn-add-item:hover{background:#4338ca}.btn-add-item:active{transform:scale(.97)}.btn-remove-item{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:1px solid #E5E7EB;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s}.btn-remove-item:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.other-items-empty{padding:24px 16px;text-align:center;color:#9ca3af;font-size:13px;font-style:italic}.service-card .pricing-table{overflow-x:auto}.service-card .pricing-table table{width:100%;border-collapse:collapse;font-size:12px}.service-card .pricing-table th,.service-card .pricing-table td{padding:6px 4px}.service-card .pricing-table th{white-space:nowrap}.service-card .pricing-table td:first-child{white-space:normal;word-break:break-word;min-width:0}.service-card .pricing-table .custom-text-input{min-width:100px;max-width:140px}.service-card .pricing-table .price-input{width:70px;box-sizing:border-box}.service-card .pricing-table .qty-input{width:50px;box-sizing:border-box}.service-card .pricing-table .unit-select{min-width:75px;font-size:11px}.service-card .subtotal-cell{min-width:70px;padding-right:2px}.subtotal-cell{font-weight:600;color:#4f46e5;text-align:right;white-space:nowrap}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.footer-center{display:flex;gap:10px}.footer-center .btn-outline{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer}.file-upload-area{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 24px;border:2px dashed #D1D5DB;border-radius:14px;background:#fafbfc;transition:all .25s ease;text-align:center}.file-upload-area:hover{border-color:#818cf8;background:#eef2ff}.file-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f140}.file-upload-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.file-upload-hint{font-size:12px;color:#9ca3af}.uploaded-files-list{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px}.uploaded-file-item{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border:1px solid #E0E7FF;border-radius:8px;font-size:13px;color:#374151;transition:background-color .15s ease}.uploaded-file-item:hover{background:#f5f3ff}.uploaded-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-file{background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;display:flex;border-radius:4px}.btn-remove-file:hover{color:#dc2626;background:#fee2e2}@media print{.sidebar,.top-header,.sidebar-overlay,.create-job-footer,.stepper,.create-job-header{display:none!important}.main-content{margin-left:0!important}.page-content{padding:0!important}.service-card{break-inside:avoid;border:1px solid #ccc!important;box-shadow:none!important}.services-grid{display:block!important}.services-grid .service-card{margin-bottom:16px}}.drafts-section{margin-bottom:24px}.drafts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.draft-card{background:#fff;border:1px solid #E5E7EB;border-left:4px solid #F59E0B;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.draft-card-header{display:flex;justify-content:space-between;align-items:center}.draft-id{font-size:12px;font-weight:700;color:#f59e0b;background:#fef3c7;padding:2px 8px;border-radius:4px}.draft-step{font-size:12px;color:#6b7280;font-weight:500}.draft-card-body{flex:1}.draft-client-name{font-size:15px;font-weight:600;color:#1f2937;margin:0 0 4px}.draft-services{font-size:13px;color:#6b7280;margin:0 0 4px}.draft-creator{font-size:12px;color:#9ca3af;margin:0 0 4px;font-style:italic}.draft-date{font-size:12px;color:#9ca3af;margin:0}.draft-card-actions{display:flex;gap:8px;align-items:center}.btn-sm{padding:6px 14px;font-size:13px}.draft-badge{font-size:12px;font-weight:600;color:#f59e0b;background:#fef3c7;padding:4px 10px;border-radius:6px}.btn-save-draft.btn-outline{border-color:#f59e0b;color:#f59e0b}.btn-save-draft.btn-outline:hover{background:#fef3c7}.requirements-page{padding:0}.page-subtitle{color:#6b7280;font-size:14px;margin:-4px 0 20px}.req-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.filter-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 12px;flex:1;min-width:200px}.filter-search svg{color:#9ca3af}.filter-input{border:none;outline:none;padding:10px 0;font-size:14px;font-family:inherit;width:100%;background:transparent}.filter-select{padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#374151;cursor:pointer;min-width:140px}.service-tag{display:inline-block;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500}.requirement-form-page{padding:0}.req-form-hero{background:linear-gradient(135deg,#fafbff,#f0f0ff);border:1px solid #E0E7FF;border-radius:16px;padding:24px 28px;margin-bottom:24px}.req-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px}.req-breadcrumb__link{color:#6b7280;text-decoration:none;font-weight:500;transition:color .15s ease}.req-breadcrumb__link:hover{color:#4f46e5}.req-breadcrumb__sep{color:#d1d5db}.req-breadcrumb__current{color:#4f46e5;font-weight:600}.req-form-hero__title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.req-form-hero__title{font-size:24px;font-weight:800;color:#111827;margin:0}.status-badge--lg{font-size:13px;padding:6px 14px;font-weight:600;border-radius:8px}.req-form-hero__meta{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.req-meta-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:20px;font-size:13px;color:#6b7280;font-weight:500}.req-meta-chip--id{color:#4f46e5;font-weight:700;background:#eef2ff;border-color:#c7d2fe}.req-form-header{margin-bottom:24px}.req-form-meta{margin-top:12px}.req-form-info{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;font-size:14px;color:#6b7280}.req-form-id{font-weight:600;color:#4f46e5}.req-form-separator{color:#d1d5db}.req-form-readonly-notice{display:flex;align-items:center;gap:8px;background:#d1fae5;color:#059669;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:20px}.req-client-billing-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.req-info-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.req-info-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #4f46e50f;transform:translateY(-2px)}.req-info-card-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:#1f2937;margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid #F3F4F6}.req-info-card-title svg{color:#4f46e5}.req-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.req-info-item{display:flex;flex-direction:column;gap:3px;padding:8px 0}.req-info-item-full{grid-column:1 / -1}.req-info-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.req-info-value{font-size:14px;font-weight:500;color:#1f2937;word-break:break-word}@media (max-width: 900px){.req-client-billing-section{grid-template-columns:1fr}}.req-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #E5E7EB}.btn-back{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:14px;font-weight:500;padding:8px 0;cursor:pointer;background:none;border:none;font-family:inherit;text-decoration:none}.btn-back:hover{color:#4f46e5}.btn-submit{gap:6px}.inv-form-section{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:24px}.inv-form-title{font-size:16px;font-weight:600;color:#111827;margin-bottom:16px}.inv-form .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.inv-form .btn{display:inline-flex;align-items:center;gap:6px}.inv-category-badge{display:inline-block;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500;background-color:#f3f4f6;color:#374151}.inv-qty{font-weight:600;font-variant-numeric:tabular-nums}.inv-qty--in{color:#059669}.inv-qty--out{color:#dc2626}.inv-qty--allocated{color:#7c3aed}.inv-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500}.inv-badge--ok{background-color:#d1fae5;color:#065f46}.inv-badge--low{background-color:#fef3c7;color:#92400e}.inv-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.inv-type-badge--inward{background-color:#d1fae5;color:#065f46}.inv-type-badge--outward{background-color:#fee2e2;color:#991b1b}.inv-type-badge--allocated,.inv-badge--allocated{background-color:#ede9fe;color:#5b21b6}.inv-badge--confirmed{background-color:#d1fae5;color:#065f46}.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #FECACA}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #A7F3D0}@media (max-width: 768px){.inv-form .form-grid-2{grid-template-columns:1fr}}.req-progress-cell{display:flex;flex-direction:column;gap:4px;min-width:60px}.req-progress-text{font-size:.8rem;font-weight:600}.req-progress-bar{width:100%;max-width:80px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.req-progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.deadline-cell{display:flex;flex-direction:column;gap:4px}.deadline-date{font-size:13px;color:#374151}.deadline-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;width:fit-content}.deadline-ok{background-color:#d1fae5;color:#065f46}.deadline-soon{background-color:#fef3c7;color:#92400e}.deadline-urgent{background-color:#fed7aa;color:#9a3412}.deadline-today{background-color:#fee2e2;color:#991b1b;animation:pulse-deadline 2s infinite}.deadline-overdue{background-color:#991b1b;color:#fff}@keyframes pulse-deadline{0%,to{opacity:1}50%{opacity:.7}}.form-section-divider{border-top:2px solid #E5E7EB;padding-top:20px;margin-top:8px}.form-section-subtitle{font-size:16px;font-weight:600;color:#1f2937;margin:0}.form-field-hint{font-size:12px;color:#6b7280;margin:4px 0 8px;line-height:1.5;padding-left:12px;border-left:2px solid #E0E7FF}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-label{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151;cursor:pointer;padding:10px 16px;border:1.5px solid #E5E7EB;border-radius:10px;transition:all .2s ease;background:#fff}.radio-label:hover{border-color:#c7d2fe;background:#fafbff}.radio-label:has(input:checked){border-color:#4f46e5;background:#eef2ff;color:#4f46e5;font-weight:500}.radio-label input[type=radio]{width:18px;height:18px;accent-color:#4F46E5;cursor:pointer}.multiselect-group{display:flex;flex-wrap:wrap;gap:10px}.multiselect-group .checkbox-label{min-width:140px;padding:8px 14px;border:1.5px solid #E5E7EB;border-radius:10px;background:#fff;transition:all .2s ease}.multiselect-group .checkbox-label:hover{border-color:#c7d2fe;background:#fafbff}.multiselect-group .checkbox-label:has(input:checked){border-color:#4f46e5;background:#eef2ff;color:#4f46e5;font-weight:500}.req-form-sections{display:flex;flex-direction:column;gap:20px}.req-form-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.req-form-card:hover{border-color:#c7d2fe;box-shadow:0 2px 12px #4f46e50f}.req-form-card__header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafbfc;border-bottom:1px solid #E5E7EB;transition:background-color .15s ease}.req-form-card__header:hover{background:#f3f4f6}.req-form-card--collapsed .req-form-card__header{border-bottom-color:transparent}.req-form-card__header-left{display:flex;align-items:center;gap:14px}.req-form-card__number{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.req-form-card__title{font-size:15px;font-weight:600;color:#1f2937;margin:0}.req-form-card__hint{font-size:12px;color:#6b7280;margin:2px 0 0;line-height:1.4}.req-form-card__chevron{color:#9ca3af;transition:transform .3s ease;flex-shrink:0}.req-form-card__chevron--collapsed{transform:rotate(-90deg)}.req-form-card__body{padding:24px;max-height:5000px;transition:max-height .35s ease,opacity .25s ease,padding .3s ease;overflow:hidden;opacity:1}.req-form-card__body--collapsed{max-height:0!important;opacity:0;padding-top:0;padding-bottom:0}.form-group--conditional{animation:slideDown .3s ease forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-input:disabled,.form-textarea:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb;opacity:.7}.req-action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;margin-bottom:20px}.req-action-bar__left,.req-action-bar__right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-action{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid transparent;transition:all .2s ease;background:transparent}.btn-action--secondary{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.btn-action--secondary:hover{background:#e5e7eb}.btn-action--blue{color:#2563eb;border-color:#2563eb;background:#eff6ff}.btn-action--blue:hover{background:#dbeafe}.btn-action--green{color:#059669;border-color:#10b981;background:#ecfdf5}.btn-action--green:hover{background:#d1fae5}.btn-action--amber{color:#d97706;border-color:#f59e0b;background:#fffbeb}.btn-action--amber:hover{background:#fef3c7}.btn-action--purple{color:#7c3aed;border-color:#8b5cf6;background:#f5f3ff}.btn-action--purple:hover{background:#ede9fe}.btn-action--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:transparent;box-shadow:0 2px 8px #6366f140}.btn-action--primary:hover{box-shadow:0 4px 14px #6366f159;transform:translateY(-1px)}.req-completion-form{border:2px solid #10B981;border-radius:14px;padding:24px;margin-top:16px;background:#fafffe}.req-completion-form__title{font-size:16px;font-weight:600;color:#111827;margin:0 0 20px;display:flex;align-items:center;gap:8px}.req-completion-form__title svg{color:#10b981}.req-completion-form__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.req-completion-display{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:24px;margin-top:16px}.req-completion-display__title{font-size:16px;font-weight:600;color:#111827;margin:0 0 20px;display:flex;align-items:center;gap:8px}.req-completion-display__title svg{color:#10b981}.req-completion-display__grid{display:grid;gap:14px}.req-completion-display__label{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.req-completion-display__value{margin:4px 0 0;font-size:14px;color:#111827;line-height:1.5}.req-form-readonly-notice--warning{background:#fffbeb;border:1px solid #F59E0B;color:#92400e}.req-form-readonly-notice--warning svg{color:#f59e0b}.req-form-share-actions{justify-content:flex-start;margin-top:0;margin-bottom:16px;padding-top:0;border-top:none;gap:8px;align-items:center}.email-sent-badge{font-size:13px;font-weight:500;color:#059669;background:#d1fae5;padding:6px 14px;border-radius:6px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn-copy-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;cursor:pointer;transition:all .2s ease}.email-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.email-modal{background:#fff;border-radius:12px;width:500px;max-width:90vw;box-shadow:0 20px 60px #00000026}.email-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #E5E7EB}.email-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.email-modal-header button{background:none;border:none;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px;display:flex;align-items:center}.email-modal-header button:hover{color:#374151;background:#f3f4f6}.email-modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.email-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #E5E7EB}.ack-section-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:12px;display:flex;align-items:center;gap:8px}.fr-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:4px}@media (max-width: 768px){.fr-top-grid{grid-template-columns:1fr}}.fr-ack-section{border:1px solid #E5E7EB;border-radius:12px;background:#fff;padding:24px}.fr-ack-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.fr-ack-summary{display:flex;gap:12px;align-items:center}.fr-ack-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.fr-ack-count--done{background:#ecfdf5;color:#059669}.fr-ack-count--issue{background:#fef2f2;color:#dc2626}.fr-ack-count--total{background:#f3f4f6;color:#6b7280}.fr-ack-list{display:flex;flex-direction:column;gap:8px}.ack-row{display:flex;flex-direction:column;gap:10px;padding:14px 18px;border:1px solid #E5E7EB;border-radius:10px;background:#fafafa;transition:all .2s}.ack-row:hover{border-color:#d1d5db;background:#f9fafb}.ack-row--done{border-left:3px solid #059669;background:#f0fdf4}.ack-row--done:hover{background:#ecfdf5}.ack-row--issue{border-left:3px solid #DC2626;background:#fef2f2}.ack-row--issue:hover{background:#fee2e2}.ack-row-main{display:flex;justify-content:space-between;align-items:center;gap:16px}.ack-row-info{display:flex;align-items:baseline;gap:12px;flex:1;min-width:0}.ack-row-label{font-weight:600;font-size:13px;color:#374151;white-space:nowrap}.ack-row-value{font-size:14px;font-weight:700;color:#111827;background:#fff;padding:2px 10px;border-radius:6px;border:1px solid #E5E7EB}.ack-row-controls{display:flex;gap:8px;flex-shrink:0}.ack-toggle-btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;border-radius:8px;border:1px solid #E5E7EB;background:#fff;transition:all .15s;-webkit-user-select:none;user-select:none}.ack-toggle-btn input[type=radio]{display:none}.ack-toggle-yes{color:#059669}.ack-toggle-yes.active{background:#ecfdf5;border-color:#059669;box-shadow:0 0 0 1px #05966940}.ack-toggle-no{color:#dc2626}.ack-toggle-no.active{background:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 1px #dc262640}.ack-toggle-btn:hover{border-color:#9ca3af}.ack-toggle-btn[disabled]{cursor:default;opacity:.7}.ack-row-reason{padding-left:0}.ack-reason-input{width:100%;min-height:44px;padding:10px 14px;border:1px solid #FCA5A5;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;background:#fff5f5;color:#991b1b;transition:border-color .15s,box-shadow .15s}.ack-reason-input::placeholder{color:#f87171}.ack-reason-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 2px #dc262620}.fr-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap}.fr-status--submitted{background:#05966920;color:#059669}.fr-status--draft{background:#6b728020;color:#6b7280}.fr-status--pending{background:#d9770620;color:#d97706}.roles-checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.roles-checkbox-label{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:#374151;transition:all .15s;-webkit-user-select:none;user-select:none}.roles-checkbox-label:hover{border-color:#4f46e5;background:#4f46e508}.roles-checkbox-label input[type=checkbox]{accent-color:#4F46E5;width:16px;height:16px}.fr-travel-grid{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}.fr-travel-toggle{min-width:160px}.fr-travel-options{display:flex;gap:8px;margin-top:6px}.fr-travel-km{min-width:200px}.fr-km-input-wrap{display:flex;align-items:center;gap:8px;margin-top:4px}.fr-km-input-wrap .form-input{width:140px}.fr-km-suffix{font-size:14px;font-weight:500;color:#6b7280}.fr-inventory-wrap{border:1px solid #E5E7EB;border-radius:10px;overflow:hidden}.fr-inventory-table{width:100%;border-collapse:collapse;font-size:13px}.fr-inventory-table th{background:#f9fafb;padding:10px 14px;text-align:left;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #E5E7EB}.fr-inventory-table td{padding:10px 14px;border-bottom:1px solid #F3F4F6;color:#374151}.fr-inventory-table tr:last-child td{border-bottom:none}.fr-inv-category{font-size:11px;font-weight:500;text-transform:uppercase;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px;letter-spacing:.3px}.fr-empty-inventory{display:flex;align-items:center;gap:10px;padding:20px;background:#fafafa;border:1px dashed #D1D5DB;border-radius:10px;color:#9ca3af;font-size:14px;font-style:italic}.approvals-page{padding:0}.amount-cell{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.jd-alloc-table{width:100%;border-collapse:collapse;font-size:14px}.jd-alloc-table th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;padding:8px 12px;border-bottom:2px solid #E5E7EB}.jd-alloc-table td{padding:10px 12px;border-bottom:1px solid #F3F4F6}.jd-alloc-table tbody tr:hover{background:#f9fafb}.jd-alloc-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.jd-alloc-badge--pending{background:#f3f4f6;color:#6b7280}.jd-alloc-badge--allocated{background:#ede9fe;color:#6d28d9}.jd-alloc-badge--confirmed{background:#d1fae5;color:#059669}.jd-alloc-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.jd-alloc-edit-input{width:60px;padding:4px 8px;border:1.5px solid #D1D5DB;border-radius:6px;font-size:14px;font-weight:600;text-align:center}.jd-alloc-edit-input:focus{border-color:#005939;outline:none;box-shadow:0 0 0 3px #0059391a}.jd-alloc-modified{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:11px;font-weight:500;color:#d97706;background:#fef3c7;padding:1px 6px;border-radius:4px}.jd-bill-card{margin-top:16px;padding:12px 16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px}.jd-bill-card__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jd-bill-card__label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.jd-bill-card__id{font-weight:700;font-size:14px;color:#1f2937}.jd-fr-gated{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#fef3c7;border:1px solid #F59E0B;border-radius:8px;font-size:13px;color:#92400e;font-weight:500}.billing-page{width:100%}.billing-page .jobs-table th,.billing-page .jobs-table td{padding-left:14px;padding-right:14px}.bill-filter-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f3f4f6;padding:4px;border-radius:10px;overflow-x:auto}.bill-filter-tab{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:all .2s}.bill-filter-tab:hover{color:#1f2937;background:#ffffff80}.bill-filter-tab--active{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #0000001a}.bill-filter-tab__count{font-size:11px;background:#e5e7eb;padding:1px 6px;border-radius:10px;font-weight:600}.bill-filter-tab--active .bill-filter-tab__count{background:#005939;color:#fff}.bill-status-select{padding:4px 8px;border:1px solid #D1D5DB;border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.bill-status-select:focus{border-color:#005939;outline:none}.zoho-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.zoho-badge--yes{background:#d1fae5;color:#059669}.zoho-badge--no,.zoho-badge--na{background:#f3f4f6;color:#6b7280}.zoho-edit-inline{display:flex;align-items:center;gap:4px}.clients-page{width:100%}.clients-page .jobs-table th,.clients-page .jobs-table td{padding-left:12px;padding-right:12px}.client-search-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;margin-bottom:20px;color:#9ca3af}.client-search-bar .form-input{border:none;padding:0;flex:1;font-size:14px}.client-search-bar .form-input:focus{box-shadow:none}.client-job-count{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ede9fe;color:#6d28d9;font-weight:700;font-size:13px}.client-form-modal{max-width:700px;width:95%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #E5E7EB}.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-header h3{font-size:18px;font-weight:700;color:#1f2937;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #E5E7EB}.modal-body{padding:20px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#111827}.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;max-height:60vh;overflow-y:auto}.client-form-grid .form-group--full{grid-column:1 / -1}.pitch-chip{display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12px;font-weight:600;color:#4338ca;background:#eef2ff;border:1px solid #C7D2FE;border-radius:16px;padding:4px 10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.pitch-chip:hover:not(:disabled){background:#4f46e5;border-color:#4f46e5;color:#fff}.pitch-chip:active:not(:disabled){transform:translateY(1px)}.pitch-chip:disabled{cursor:default}.client-form-sections{max-height:62vh;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.client-form-section{border:1px solid #E5E7EB;border-radius:10px;overflow:hidden;background:#fff;flex-shrink:0}.client-form-section__header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#f9fafb;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s ease}.client-form-section__header:hover{background:#f3f4f6}.client-form-section--open .client-form-section__header{border-bottom:1px solid #E5E7EB}.client-form-section__title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#374151}.client-form-section__meta{display:inline-flex;align-items:center;gap:8px}.client-form-section__count{font-size:11px;font-weight:600;background:#eef2ff;color:#4f46e5;padding:2px 8px;border-radius:10px}.client-form-section__chev{color:#9ca3af;transition:transform .2s ease}.client-form-section__chev--collapsed{transform:rotate(-90deg)}.client-form-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.client-form-section__grid .form-group--full{grid-column:1 / -1}@media (max-width: 640px){.client-form-section__grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003}.client-search-wrapper{position:relative;margin-bottom:20px}.client-search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #E5E7EB;border-radius:0 0 10px 10px;box-shadow:0 8px 25px #0000001a;max-height:200px;overflow-y:auto;z-index:50}.client-search-option{padding:10px 14px;cursor:pointer;border-bottom:1px solid #F3F4F6;transition:background .15s}.client-search-option:hover{background:#f0fdf4}.client-search-option__name{font-weight:600;color:#1f2937;font-size:14px}.client-search-option__detail{font-size:12px;color:#6b7280}.client-selected-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#d1fae5;color:#059669;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:12px}.client-selected-badge button{background:none;border:none;color:#059669;cursor:pointer;padding:0;display:flex}.profile-dropdown{position:relative}.user-info-button{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;cursor:pointer;border-radius:10px;transition:background .2s}.user-info-button:hover{background:#0000000d}.chevron-icon{transition:transform .2s;color:#6b7280}.chevron-icon.rotated{transform:rotate(180deg)}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid #E5E7EB;z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{padding:16px;display:flex;align-items:center;gap:12px}.user-avatar-large{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.profile-menu-name{font-weight:600;font-size:15px;color:#111827;margin-bottom:2px}.profile-menu-email{font-size:13px;color:#6b7280}.profile-menu-divider{height:1px;background:#e5e7eb;margin:8px 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;color:#374151;transition:background .15s;text-align:left}.profile-menu-item:hover{background:#f3f4f6}.profile-menu-logout{color:#dc2626}.profile-menu-logout:hover{background:#fee2e2}.sidebar-toggle,.sidebar-close-btn,.sidebar-overlay{display:none}.sidebar{transform:translate(0)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;flex-shrink:0}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-collapse-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#6b7280;cursor:pointer;padding:6px;border-radius:8px;margin-right:4px;flex-shrink:0;transition:background .15s ease,color .15s ease}.sidebar-collapse-btn:hover{background:#f3f4f6;color:#111827}@media (min-width: 769px){.sidebar{transition:transform .3s ease,width .3s ease}.app-layout.sidebar-collapsed .sidebar{width:72px}.app-layout.sidebar-collapsed .main-content{margin-left:72px}.app-layout.sidebar-collapsed .sidebar-logo{padding:18px 8px}.app-layout.sidebar-collapsed .sidebar-logo-img,.app-layout.sidebar-collapsed .nav-section-header{display:none}.app-layout.sidebar-collapsed .nav-section-items{max-height:none!important;opacity:1!important}.app-layout.sidebar-collapsed .nav-section+.nav-section{border-top:1px solid rgba(255,255,255,.08);margin-top:6px;padding-top:6px}.app-layout.sidebar-collapsed .sidebar-nav{padding-left:8px;padding-right:8px}.app-layout.sidebar-collapsed .nav-item{justify-content:center;padding:12px 0;gap:0}.app-layout.sidebar-collapsed .nav-item>span:not(.nav-icon):not(.nav-badge){display:none}.app-layout.sidebar-collapsed .nav-badge{right:14px;top:8px;min-width:8px;height:8px;padding:0;font-size:0;line-height:0;border-radius:50%}}@media (max-width: 768px){.sidebar-toggle{display:flex!important;align-items:center;justify-content:center;background:none;border:none;color:#374151;cursor:pointer;padding:4px}.sidebar-collapse-btn{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:999;transform:translate(-100%)!important;transition:transform .3s ease}.sidebar.sidebar-open{transform:translate(0)!important}.sidebar-overlay{display:block!important;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:998}.sidebar-close-btn{display:flex!important;position:absolute;top:16px;right:16px;background:none;border:none;color:#ffffffb3;cursor:pointer;z-index:10}.sidebar-logo{position:relative}.user-name,.chevron-icon{display:none}}.nav-section{margin-bottom:24px}.nav-section:last-child{margin-bottom:0}.nav-section-title{padding:8px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;margin-bottom:4px}.nav-section .nav-item{margin-bottom:2px}.sidebar-nav{padding:16px 8px}.nav-section:not(:last-child):after{content:"";display:block;height:1px;background:#ffffff1a;margin:16px 12px 0}.nav-item{padding:10px 16px;margin:0 8px 2px;border-radius:8px;transition:all .2s ease}.nav-item:hover{background:#ffffff1a;transform:translate(2px)}.nav-item-active{background:#ffffff26;font-weight:600}.nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.sidebar-nav{overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 80px);padding:16px 8px 24px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.nav-section{margin-bottom:16px}.nav-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;border-radius:6px;transition:background .2s;-webkit-user-select:none;user-select:none}.nav-section-header:hover{background:#ffffff0d}.nav-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80}.nav-section-toggle{color:#fff6;transition:transform .3s ease;width:16px;height:16px}.nav-section-toggle.collapsed{transform:rotate(-90deg)}.nav-section-items{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.nav-section-items.collapsed{max-height:0!important;opacity:0}.nav-section-items.expanded{opacity:1}.nav-section:not(:last-child):after{display:none}.nav-section{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px;margin-bottom:12px}.nav-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideIn{animation:slideIn .5s ease-out}table{width:100%;border-collapse:separate;border-spacing:0}table thead tr{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}table thead th{padding:16px 24px;text-align:left;font-weight:600;font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}table thead th:first-child{border-top-left-radius:12px}table thead th:last-child{border-top-right-radius:12px}table tbody tr{transition:all .2s cubic-bezier(.4,0,.2,1);background:#fff}table tbody tr:hover{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);transform:scale(1.01);box-shadow:0 4px 12px #0000000d}table tbody td{padding:16px 24px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.3px}.badge-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f14d}.badge-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.badge-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.badge-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.search-container{position:relative;width:100%;max-width:400px}.search-container input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff}.search-container input:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a,0 4px 12px #6366f126;outline:none}.search-container .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.modal-overlay{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;animation:fadeIn .3s ease-out}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.users-page{padding:0}.users-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.users-header-stat{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#eef2ff;border-radius:10px;color:#4f46e5;font-size:14px;font-weight:600}.users-alert{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;animation:fadeIn .3s ease-out}.users-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.users-alert-success{background:#f0fdf4;color:#166534;border:1px solid #BBF7D0}.users-alert-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:4px;display:flex;transition:opacity .2s}.users-alert-close:hover{opacity:1}.users-search-bar{position:relative;margin-bottom:24px}.users-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.users-search-input{padding-left:42px!important}.users-loading{text-align:center;padding:60px 24px;color:#6b7280}.users-loading-spinner{width:36px;height:36px;border:3px solid #E5E7EB;border-top-color:#4f46e5;border-radius:50%;margin:0 auto 16px;animation:login-spin .7s linear infinite}.users-access-denied{text-align:center;padding:80px 24px;color:#991b1b}.users-access-denied svg{margin-bottom:16px;opacity:.6}.users-access-denied h3{font-size:20px;font-weight:700;margin-bottom:8px}.users-access-denied p{color:#6b7280;font-size:14px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.users-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;transition:all .25s cubic-bezier(.4,0,.2,1)}.users-card:hover{border-color:#c7d2fe;box-shadow:0 8px 24px -4px #6366f11a,0 4px 8px -2px #0000000a;transform:translateY(-2px)}.users-card-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.users-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;flex-shrink:0;letter-spacing:.5px}.users-avatar-sm{width:36px;height:36px;font-size:13px;border-radius:10px}.users-card-info{min-width:0}.users-card-name{font-size:15px;font-weight:600;color:#111827;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card-email{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px}.users-card-email span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card-roles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.users-role-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize;border:1px solid transparent}.users-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid #F3F4F6}.users-action-btn{flex:1 1 calc(50% - 4px);min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.users-action-btn:hover{background:#f9fafb;border-color:#c7d2fe;color:#4f46e5}.users-action-btn:disabled{opacity:.6;cursor:not-allowed}.users-action-btn--onboarding{color:#005939;border-color:#a7f3d0;background:#f0fdf4}.users-action-btn--onboarding:hover{background:#ecfdf5;border-color:#6ee7b7;color:#005939}.users-header-right{display:flex;align-items:center;gap:12px}.users-password-wrapper{display:flex;gap:8px}.users-password-input-wrap{position:relative;flex:1}.users-password-input-wrap .form-input{padding-right:40px}.users-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.users-password-toggle:hover{color:#374151}.users-modal{width:440px;max-width:95vw}.users-modal--create{width:520px}.users-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;display:flex;border-radius:6px;transition:all .2s}.users-modal-close:hover{background:#f3f4f6;color:#111827}.users-modal-body{padding:20px}.users-modal-user-info{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f9fafb;border-radius:10px;margin-bottom:20px}.users-modal-user-info div:last-child{display:flex;flex-direction:column}.users-modal-user-info strong{font-size:14px;color:#111827}.users-modal-user-info span{font-size:13px;color:#6b7280}.users-role-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.users-role-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px;color:#374151}.users-role-option:hover{border-color:#c7d2fe;background:#f9fafb}.users-role-option input[type=checkbox]{width:16px;height:16px;accent-color:#4F46E5;cursor:pointer}.users-role-option span{font-weight:500}.users-role-option-active{border-width:1.5px}@media (max-width: 768px){.users-grid{grid-template-columns:1fr}.users-header{flex-direction:column;gap:12px}.users-role-grid{grid-template-columns:1fr 1fr}.users-modal--create{width:95vw}.users-password-wrapper{flex-direction:column}}.profile-page{max-width:800px;margin:0 auto}.profile-success-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f0fdf4;color:#166534;border:1px solid #BBF7D0;border-radius:10px;font-size:14px;font-weight:500;margin-bottom:24px;animation:fadeIn .3s ease-out}.profile-hero{position:relative;border-radius:16px;overflow:hidden;margin-bottom:24px;background:#fff;border:1px solid #E5E7EB}.profile-hero-bg{height:120px;background:linear-gradient(135deg,#6366f1,#4f46e5,#3730a3)}.profile-hero-content{display:flex;align-items:flex-end;gap:20px;padding:0 28px 24px;margin-top:-40px;position:relative}.profile-avatar-large{width:80px;height:80px;border-radius:18px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 4px 12px #0000001f;flex-shrink:0;letter-spacing:1px}.profile-hero-info{padding-top:8px;min-width:0}.profile-hero-name{font-size:22px;font-weight:700;color:#111827;margin:0 0 2px}.profile-hero-email{font-size:14px;color:#6b7280;margin:0 0 10px}.profile-hero-roles{display:flex;flex-wrap:wrap;gap:6px}.profile-grid{display:flex;flex-direction:column;gap:20px}.profile-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;overflow:hidden}.profile-card-header{display:flex;align-items:center;gap:10px;padding:16px 24px;border-bottom:1px solid #F3F4F6;color:#4f46e5}.profile-card-header h3{font-size:15px;font-weight:600;color:#111827;margin:0}.profile-detail-list{padding:4px 0}.profile-detail-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #F9FAFB}.profile-detail-row:last-child{border-bottom:none}.profile-detail-label{font-size:13px;color:#6b7280;font-weight:500}.profile-detail-value{font-size:14px;color:#111827;font-weight:500}.profile-security-item{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:16px}.profile-security-info{display:flex;align-items:center;gap:14px}.profile-security-icon{color:#9ca3af;flex-shrink:0}.profile-security-title{font-size:14px;font-weight:600;color:#111827;margin:0 0 2px}.profile-security-desc{font-size:13px;color:#6b7280;margin:0}.profile-leave-stats{display:flex;gap:12px;padding:4px 0}.profile-leave-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;background:#f9fafb;border-radius:10px;border:1px solid #F3F4F6;transition:transform .15s,box-shadow .15s}.profile-leave-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.profile-leave-stat__number{font-size:28px;font-weight:700;line-height:1}.profile-leave-stat__label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.profile-leave-stats{gap:8px}.profile-leave-stat{padding:12px 8px}.profile-leave-stat__number{font-size:22px}}.chpw-eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s}.chpw-eye-btn:hover{color:#4f46e5}@media (max-width: 768px){.profile-hero-content{flex-direction:column;align-items:center;text-align:center;padding:0 20px 20px;margin-top:-36px}.profile-hero-roles{justify-content:center}.profile-security-item{flex-direction:column;align-items:flex-start;gap:14px}.profile-security-item .btn{width:100%;justify-content:center}.profile-detail-row{flex-direction:column;align-items:flex-start;gap:4px}}.contracts-page{padding:0}.contracts-page .jobs-table th,.contracts-page .jobs-table td{padding-left:12px;padding-right:12px}.contracts-filters{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.contracts-search{display:flex;align-items:center;gap:8px;flex:1;min-width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:0 14px}.contracts-search .form-input{border:none;padding-left:0;background:transparent;box-shadow:none}.contracts-search .form-input:focus{box-shadow:none;border-color:transparent}.contracts-search svg{color:#9ca3af;flex-shrink:0}.contracts-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contracts-filter-group svg{color:#6b7280;flex-shrink:0}.contracts-filter-select{min-width:150px;font-size:13px;padding:8px 12px}.contracts-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px}.contracts-filter-bar .contracts-filter-select{min-width:140px;flex:1 1 140px;max-width:200px;padding:6px 10px}.contracts-results-count{font-size:13px;color:#6b7280;margin-bottom:12px}.contracts-table{font-size:13px}.dm-list-table{table-layout:fixed;width:100%}.dm-list-table th,.dm-list-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-list-table th,.dm-list-table td{padding-left:10px;padding-right:10px}.dm-list-table th:nth-child(1),.dm-list-table td:nth-child(1){width:40px;text-align:center}.dm-list-table th:nth-child(2),.dm-list-table td:nth-child(2){width:auto}.dm-list-table th:nth-child(3),.dm-list-table td:nth-child(3){width:100px}.dm-list-table th:nth-child(4),.dm-list-table td:nth-child(4){width:110px}.dm-list-table th:nth-child(5),.dm-list-table td:nth-child(5){width:76px;text-align:center}.dm-list-table th:nth-child(6),.dm-list-table td:nth-child(6){width:116px}.dm-list-table th:nth-child(7),.dm-list-table td:nth-child(7){width:72px}.dm-list-table th:nth-child(8),.dm-list-table td:nth-child(8){width:100px}.dm-list-table td:nth-child(2) .contract-client-name{min-width:0}.dm-list-table td:nth-child(2) .contract-client-name strong,.dm-list-table td:nth-child(2) .contract-sheet-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contracts-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.contracts-table td{white-space:nowrap}.contracts-table .amount-cell{text-align:right;font-variant-numeric:tabular-nums}.contract-client-name{display:flex;flex-direction:column;gap:2px;min-width:160px}.contract-client-name strong{font-size:13px;color:#111827}.contract-sheet-name,.contract-secondary-val{font-size:11px;color:#9ca3af}.contract-payment-mode{font-size:12px;color:#374151}.contracts-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0 8px}.contracts-pagination-info{font-size:13px;color:#6b7280}.contract-edit-modal{max-width:820px;width:95vw;max-height:90vh;overflow-y:auto}.contract-edit-client{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-radius:10px;margin-bottom:20px}.contract-edit-client strong{font-size:15px;color:#111827}.contract-edit-id{font-size:12px;color:#9ca3af}.contract-services-dots{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.contract-service-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.contract-services-section{margin-bottom:18px;padding:14px 16px;background:#f9fafb;border-radius:10px}.contract-services-toggles{display:flex;flex-wrap:wrap;gap:8px}.contract-service-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1.5px solid #E5E7EB;background:#fff;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.contract-service-chip:hover{border-color:#9ca3af;background:#f3f4f6}.contract-service-chip--active{font-weight:600}.contract-service-chip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background-color .15s ease}.dm-edit-modal{max-width:900px!important;width:900px}.dm-edit-modal .modal-body{overflow-y:auto;max-height:calc(90vh - 130px)}.dm-section{margin-bottom:12px;border:1px solid #E5E7EB;border-radius:10px;overflow:hidden}.dm-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dm-section-header:hover{background:#f3f4f6}.dm-section-header__left{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:#374151}.dm-section-header__left svg{color:#6b7280}.dm-section-body{padding:16px;border-top:1px solid #E5E7EB}.dm-fullpage .dm-section-header{display:none}.dm-fullpage .dm-section:not(.dm-tab-extra):not(:has(.dm-section-body)){display:none}.dm-fullpage .dm-section{border:none;margin:0}.dm-fullpage .dm-tabs{flex-wrap:wrap;margin:4px 0 20px}.dm-fullpage .dm-section-body{padding:0}.dm-fullpage .dm-section-body .form-grid{display:block;margin:0}.dm-fullpage .dm-section-body .form-group,.dm-fullpage .dm-section-body .form-group--full{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:24px;margin:0;padding:12px 16px;border-bottom:1px solid #F1F3F5}.dm-fullpage .dm-section-body>.form-grid:last-child .form-group:last-child{border-bottom:none}.dm-fullpage .dm-section-body .form-label{margin:0;font-size:13px;font-weight:600;color:#374151}.dm-fullpage .dm-section-body .form-input{width:100%}.dm-fullpage .dm-section-body .form-group:has(textarea){align-items:start}.dm-fullpage .dm-section-body .form-group:has(textarea) .form-label{padding-top:8px}.dm-fullpage .dm-section-body .form-group:nth-child(2n){background:#fafafb}@media (max-width: 700px){.dm-fullpage .dm-section-body .form-group,.dm-fullpage .dm-section-body .form-group--full{grid-template-columns:1fr;gap:6px}}.dm-fullpage .contract-edit-client{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 10px 28px #4f46e547;border-radius:14px}.dm-fullpage .contract-edit-client strong{color:#fff;font-size:18px}.dm-fullpage .contract-edit-id{color:#ffffffd9!important}.dm-fullpage .dm-tabs{gap:8px;padding:8px;background:#f5f3ff;border-radius:14px}.dm-fullpage .dm-tabs .tab-btn{border-radius:10px;transition:transform .15s ease,background .2s,color .2s,box-shadow .2s}.dm-fullpage .dm-tabs .tab-btn:hover{transform:translateY(-1px);background:#ede9fe;color:#4f46e5}.dm-fullpage .dm-tabs .tab-btn-active{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 6px 16px #7c3aed59}.dm-fullpage .dm-tabs .tab-btn:nth-child(1) svg{color:#4f46e5}.dm-fullpage .dm-tabs .tab-btn:nth-child(2) svg{color:#db2777}.dm-fullpage .dm-tabs .tab-btn:nth-child(3) svg{color:#0ea5e9}.dm-fullpage .dm-tabs .tab-btn:nth-child(4) svg{color:#059669}.dm-fullpage .dm-tabs .tab-btn:nth-child(5) svg{color:#d97706}.dm-fullpage .dm-tabs .tab-btn:nth-child(6) svg{color:#dc2626}.dm-fullpage .dm-tabs .tab-btn:nth-child(7) svg{color:#7c3aed}.dm-fullpage .dm-tabs .tab-btn:nth-child(8) svg{color:#ea580c}.dm-fullpage .dm-tabs .tab-btn:nth-child(9) svg{color:#0d9488}.dm-fullpage .dm-tabs .tab-btn:nth-child(10) svg{color:#9333ea}.dm-fullpage .dm-tabs .tab-btn-active svg{color:#fff!important}.dm-fullpage .dm-section-body .form-group{transition:background .15s}.dm-fullpage .dm-section-body .form-group:hover{background:#f5f3ff}.dm-fullpage .dm-section-body .form-input{transition:border-color .15s,box-shadow .15s}.dm-fullpage .dm-section-body .form-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26;outline:none}.dm-fullpage .dm-tab-extra{border-top:none!important;border-left:3px solid #7C3AED;padding-left:14px!important;background:#fcfaff;border-radius:10px}.dm-fullpage .dm-tab-extra svg:first-of-type{color:#7c3aed}.dm-toggle-row{display:flex;align-items:center;gap:12px;margin-top:4px}.dm-toggle-btn{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:6px 16px;border-radius:20px;border:1.5px solid #D1D5DB;background:#fff;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s ease}.dm-toggle-btn--active{background:#4f46e518;border-color:#4f46e5;color:#4f46e5}.dm-toggle-btn--active.dm-toggle-btn--green{background:#05966918;border-color:#059669;color:#059669}.dm-toggle-hint{font-size:12px;color:#9ca3af}.dm-auto-total{display:flex;flex-direction:column;padding:8px 14px;background:#f0fdf4;border:1.5px solid #BBF7D0;border-radius:8px;font-size:18px;font-weight:700;color:#059669}.dm-auto-total small{font-size:11px;font-weight:400;color:#6b7280;margin-top:2px}.dm-premium-badge{color:#d97706;margin-left:6px;font-size:14px}.dm-account-type{font-size:12px;font-weight:500;color:#6b7280}.dm-account-type--premium{color:#d97706;font-weight:600}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}@media (max-width: 768px){.dm-edit-modal{max-width:100%!important;width:calc(100% - 16px)!important}.form-grid-2{grid-template-columns:1fr}}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}@media (max-width: 768px){.contracts-filters{flex-direction:column;align-items:stretch}.contracts-search{min-width:0}.contracts-filter-group{flex-wrap:wrap}.contracts-filter-select{min-width:0;flex:1}.contract-edit-modal{max-width:100%;width:100%}.form-grid-3{grid-template-columns:1fr}.contract-edit-client{flex-direction:column;align-items:flex-start;gap:4px}}.client-status-filter{display:flex;gap:6px;margin-bottom:16px}.client-status-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #E5E7EB;background:#fff;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.client-status-tab:hover{background:#f9fafb;border-color:#d1d5db}.client-status-tab--active{background:#2563eb;border-color:#2563eb;color:#fff}.client-status-tab--active:hover{background:#1d4ed8;border-color:#1d4ed8}.client-status-tab__count{padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#0000000f;color:inherit}.client-status-tab--active .client-status-tab__count{background:#ffffff40}.inactive-client-warning{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:#fef2f2;border:1px solid #FECACA;border-radius:10px;margin-top:10px}.inactive-client-warning svg{color:#dc2626;flex-shrink:0;margin-top:2px}.inactive-client-warning strong{color:#991b1b;font-size:14px;display:block;margin-bottom:2px}.inactive-client-warning p{color:#b91c1c;font-size:13px;margin:0}.client-selected-badge--inactive{border-color:#fecaca!important;background:#fef2f2!important;color:#991b1b!important}.job-edit-modal{max-width:900px;width:95vw;max-height:90vh;display:flex;flex-direction:column}.job-edit-tabs{display:flex;gap:0;border-bottom:1px solid #E5E7EB;padding:0 20px}.job-edit-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;border:none;background:none;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.job-edit-tab:hover{color:#4f46e5}.job-edit-tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.job-edit-body{padding:20px;max-height:60vh;overflow-y:auto}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group--full{grid-column:1 / -1}.job-edit-service-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.job-edit-service-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid #E5E7EB;background:#fff;color:#6b7280;transition:all .2s}.job-edit-service-chip:hover{border-color:#d1d5db}.job-edit-service-chip--selected{font-weight:600}.job-edit-service-section{margin-bottom:20px;padding:14px;background:#f9fafb;border-radius:10px;border:1px solid #E5E7EB}.job-edit-pricing-table{width:100%;border-collapse:collapse;font-size:13px}.job-edit-pricing-table th{text-align:left;padding:6px 8px;font-size:12px;font-weight:600;color:#6b7280;border-bottom:1px solid #E5E7EB}.job-edit-pricing-table td{padding:6px 8px;border-bottom:1px solid #F3F4F6}.jd-change-history{display:flex;flex-direction:column;gap:16px}.jd-history-batch{background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;padding:14px 16px}.jd-history-batch__header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.jd-history-batch__user{font-weight:600;font-size:14px;color:#1f2937}.jd-history-batch__date{font-size:12px;color:#9ca3af}.jd-history-batch__count{font-size:12px;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:10px}.jd-history-batch__changes{display:flex;flex-direction:column;gap:6px}.jd-history-change{display:flex;align-items:flex-start;gap:10px;font-size:13px;padding:6px 0;border-top:1px solid #E5E7EB}.jd-history-change:first-child{border-top:none}.jd-history-change__field{font-weight:500;color:#4b5563;min-width:140px;flex-shrink:0}.jd-history-change__values{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jd-history-change__old{color:#dc2626;text-decoration:line-through;background:#fef2f2;padding:1px 6px;border-radius:4px;font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jd-history-change__arrow{color:#9ca3af;font-size:12px}.jd-history-change__new{color:#059669;font-weight:500;background:#ecfdf5;padding:1px 6px;border-radius:4px;font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.job-edit-modal{max-width:100%;width:100%}.form-grid-2{grid-template-columns:1fr}.job-edit-tabs{overflow-x:auto}.jd-history-change{flex-direction:column;gap:4px}.jd-history-change__field{min-width:0}}.tasks-page{padding:0}.tasks-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.tasks-page .kpi-card,.tasks-page .jobs-table tr{cursor:pointer}.task-row--overdue{background:#fef2f2}.task-row--overdue:hover{background:#fee2e2}.task-id{font-family:SF Mono,monospace;font-size:13px;color:#6b7280}.task-title-text{font-weight:500;color:#111827}.task-assignee{display:flex;align-items:center;gap:8px}.task-assignee-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.task-overdue-date{color:#dc2626;font-weight:600}.task-job-link{color:#4f46e5;font-weight:500;text-decoration:none;font-family:SF Mono,monospace;font-size:13px}.task-job-link:hover{text-decoration:underline}.task-date-cell{white-space:nowrap;color:#6b7280;font-size:13px}.priority-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pagination-btn{padding:8px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;cursor:pointer;color:#374151;display:flex;align-items:center}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:14px;color:#6b7280}.task-create-modal{max-width:560px;width:95%}.task-detail-modal{max-width:700px;width:95%;max-height:90vh;display:flex;flex-direction:column}.task-detail-modal .modal-body{overflow-y:auto;flex:1}.task-detail-id{font-family:SF Mono,monospace;font-size:12px;color:#6b7280;margin-left:8px}.task-detail-info{display:grid;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #F3F4F6}.task-detail-row{display:flex;align-items:center;gap:12px}.task-detail-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280;min-width:120px;font-weight:500}.task-detail-description{background:#f9fafb;border-radius:10px;padding:14px;margin-top:4px}.task-detail-description p{margin:0;font-size:14px;color:#374151;white-space:pre-wrap}.task-status-actions{margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:12px}.task-status-actions h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.task-status-btns{display:flex;gap:8px;flex-wrap:wrap}.task-status-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s}.task-status-btn:hover{opacity:.85}.task-status-btn--progress{background:#eef2ff;color:#4f46e5}.task-status-btn--complete{background:#ecfdf5;color:#059669}.task-status-btn--waiting{background:#fffbeb;color:#d97706}.task-status-btn--reject{background:#fef2f2;color:#dc2626}.task-status-form{margin-top:12px}.task-status-form textarea{width:100%;padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;resize:vertical;font-family:inherit}.task-status-form-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.task-completion-display{background:#ecfdf5;border:1px solid #A7F3D0;border-radius:12px;padding:16px;margin-bottom:20px}.task-completion-display--rejected{background:#fef2f2;border-color:#fecaca}.task-completion-display h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.task-completion-display p{margin:0;font-size:14px;color:#374151;white-space:pre-wrap}.task-completion-date{display:block;margin-top:8px;font-size:12px;color:#6b7280}.task-comments-section{border-top:1px solid #F3F4F6;padding-top:20px}.task-comments-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.task-comments-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;max-height:300px;overflow-y:auto}.task-comments-empty{font-size:13px;color:#9ca3af;text-align:center;padding:16px 0}.task-comment{padding:12px;border-radius:10px;background:#f9fafb}.task-comment--completion{background:#ecfdf5;border-left:3px solid #10B981}.task-comment--rejection{background:#fef2f2;border-left:3px solid #DC2626}.task-comment--status_change{background:#eef2ff;border-left:3px solid #4F46E5}.task-comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.task-comment-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.task-comment-author{font-size:13px;font-weight:600;color:#111827}.task-comment-date{font-size:12px;color:#9ca3af}.task-comment-type{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:auto}.task-comment-type--completion{background:#d1fae5;color:#059669}.task-comment-type--rejection{background:#fecaca;color:#dc2626}.task-comment-type--status_change{background:#c7d2fe;color:#4338ca}.task-comment--edit{background:#fff7ed;border-left:3px solid #F59E0B}.task-comment-type--edit{background:#fef3c7;color:#b45309}.task-comment-text{font-size:14px;color:#374151;margin:0;white-space:pre-wrap}.task-add-comment{display:flex;gap:8px}.task-add-comment input{flex:1;padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;outline:none}.task-add-comment input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.btn-sm{padding:8px 14px;font-size:13px}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600}.btn-danger:hover{background:#b91c1c}.jd-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.jd-tasks-count{background:#4f46e5;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:8px}.jd-tasks-empty{font-size:13px;color:#9ca3af;padding:16px 0}.jd-tasks-list{display:flex;flex-direction:column;gap:8px}.jd-task-card{display:block;text-decoration:none;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;padding:12px 16px;transition:border-color .15s,box-shadow .15s}.jd-task-card:hover{border-color:#4f46e5;box-shadow:0 2px 8px #4f46e51a}.jd-task-card--overdue{border-color:#fecaca;background:#fef2f2}.jd-task-card__main{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.jd-task-card__title{font-size:14px;font-weight:600;color:#111827}.jd-task-card__badges{display:flex;gap:6px;flex-shrink:0}.jd-task-card__meta{display:flex;gap:16px;font-size:12px;color:#6b7280}.jd-task-card__meta span{display:flex;align-items:center;gap:4px}.jd-task-overdue{color:#dc2626;font-weight:600}.jd-add-task-form{background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:16px;margin-bottom:16px}.jd-add-task-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.req-assignment-section{background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:16px;margin-top:16px}.req-assignment-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;margin-top:16px;box-shadow:0 1px 3px #0000000a;transition:border-color .2s ease}.req-assignment-card:hover{border-color:#c7d2fe}.req-assignment-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.req-assigned-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.req-no-assignment{font-size:13px;color:#9ca3af;margin:0 0 12px}.user-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:#fff;border:1px solid #E5E7EB;border-radius:20px;font-size:13px;font-weight:500;color:#374151}.user-chip-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.user-chip-remove{background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;margin-left:2px;display:flex}.user-chip-remove:hover{color:#dc2626}.req-assign-controls{display:flex;gap:8px;align-items:center}.req-assign-select{flex:1;padding:8px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:13px;background:#fff}@media (max-width: 768px){.tasks-page .jobs-table th:nth-child(7),.tasks-page .jobs-table td:nth-child(7),.tasks-page .jobs-table th:nth-child(8),.tasks-page .jobs-table td:nth-child(8){display:none}.task-create-modal,.task-detail-modal{max-width:100%;margin:8px}.jd-task-card__main{flex-direction:column;align-items:flex-start}}.onboarding-call-required{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #FECACA;border-left:4px solid #DC2626;border-radius:8px;margin-bottom:12px;color:#dc2626;font-size:13px;font-weight:600}.onboarding-call-badge{color:#dc2626!important;font-weight:700;background:#fef2f2;padding:2px 10px;border-radius:6px;border:1px solid #FECACA}.onboarding-call-note{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#dc2626;font-weight:500}.form-radio-group{display:flex;gap:12px;margin-top:4px}.form-radio-option{display:flex;align-items:center;gap:8px;padding:8px 20px;border:1px solid #D1D5DB;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .15s ease}.form-radio-option:hover{border-color:#6366f1;background:#eef2ff}.form-radio-option--selected{border-color:#4f46e5;background:#eef2ff;color:#4338ca;font-weight:600}.form-radio-option input[type=radio]{accent-color:#4F46E5}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.job-project-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:600;background-color:#00593915;color:#005939;border:1px solid #00593930;white-space:nowrap}.job-project-badge--lg{padding:4px 14px;font-size:13px;border-radius:8px}.users-card-projects{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.users-card-projects-icon{color:#005939}.users-project-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;background-color:#00593912;color:#005939;border:1px solid #00593925}.users-projects-section{margin-top:20px;padding-top:20px;border-top:1px solid #E5E7EB}.users-projects-section h3{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:12px}.task-attachments{margin-top:20px;padding:16px;background:#f9fafb;border-radius:10px;border:1px solid #E5E7EB}.task-attachments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.task-attachments-header h4{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#1f2937;margin:0}.task-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#fff;border:1px solid #D1D5DB;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.task-upload-btn:hover{background:#f3f4f6;border-color:#9ca3af}.task-attachments-empty{font-size:13px;color:#9ca3af;margin:0;text-align:center;padding:8px 0}.task-attachments-list{display:flex;flex-direction:column;gap:8px}.task-attachment-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;transition:border-color .15s}.task-attachment-item:hover{border-color:#d1d5db}.task-attachment-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.task-attachment-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;border:1px solid #E5E7EB}.task-attachment-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#eff6ff;border-radius:6px;color:#2563eb}.task-attachment-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.task-attachment-name{font-size:13px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-attachment-size{font-size:11px;color:#9ca3af}.task-attachment-actions{display:flex;align-items:center;gap:4px;margin-left:8px}.task-attachment-action{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s;text-decoration:none}.task-attachment-action:hover{background:#f3f4f6;color:#1f2937}.task-attachment-action--delete:hover{background:#fef2f2;color:#dc2626}.task-completion-files{margin-top:10px}.task-evidence-upload{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f9fafb;border:1px dashed #D1D5DB;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.task-evidence-upload:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.task-completion-file-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.task-completion-file-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #E5E7EB;border-radius:6px;font-size:12px;color:#374151}.task-completion-file-item span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-completion-file-size{color:#9ca3af;font-size:11px;flex-shrink:0}.task-completion-file-item button{display:flex;align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;border-radius:4px;flex-shrink:0}.task-completion-file-item button:hover{color:#dc2626;background:#fef2f2}.task-evidence-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #E5E7EB}.task-evidence-label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#6b7280}.task-evidence-link{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#eff6ff;border:1px solid #BFDBFE;border-radius:6px;font-size:12px;color:#2563eb;text-decoration:none;transition:all .15s}.task-evidence-link:hover{background:#dbeafe;border-color:#93c5fd}.req-filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;padding:14px 18px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 1px 3px #00000008}.req-filter-bar__search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;padding:0 4px;position:relative}.req-filter-bar__search svg{color:#9ca3af;flex-shrink:0}.req-filter-bar__search input{border:none;outline:none;padding:8px 0;font-size:14px;font-family:inherit;width:100%;background:transparent;color:#111827}.req-filter-bar__clear{background:#f3f4f6;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .15s ease}.req-filter-bar__clear:hover{background:#e5e7eb;color:#374151}.req-filter-bar__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.req-filter-select{padding:8px 14px;border:1.5px solid #E5E7EB;border-radius:10px;font-size:13px;font-family:inherit;background:#fff;color:#374151;cursor:pointer;transition:border-color .15s ease;min-width:140px}.req-filter-select:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 3px #6366f114}.req-filter-bar__reset{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.req-filter-bar__reset:hover{background:#fee2e2}.req-table-wrapper{overflow-x:auto;border:1px solid #E5E7EB;border-radius:14px;background:#fff;box-shadow:0 1px 3px #0000000a}.req-table{width:100%;border-collapse:collapse}.req-table th{text-align:left;padding:14px 24px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:2px solid #E5E7EB}.req-table td{padding:16px 24px;font-size:14px;color:#374151;border-bottom:1px solid #F3F4F6}.req-table__row{transition:background-color .15s ease}.req-table__row:hover{background-color:#fafbff}.req-table__row:last-child td{border-bottom:none}.req-empty-state{text-align:center;padding:80px 24px}.req-empty-state__icon{margin:0 auto 20px;width:72px;height:72px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#4f46e5}.req-empty-state h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.req-empty-state p{font-size:14px;color:#9ca3af;margin:0}.req-service-card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.req-service-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #4f46e514;transform:translateY(-2px)}.req-service-card__bar-fill{transition:width .6s cubic-bezier(.4,0,.2,1);background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);background-size:200% 100%}.req-service-card:hover .req-service-card__bar-fill{animation:shimmer 1.5s ease infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.req-form-hero{padding:18px 16px}.req-form-hero__title{font-size:20px}.req-action-bar{flex-direction:column;align-items:stretch}.req-action-bar__left,.req-action-bar__right{justify-content:stretch}.btn-action{flex:1;justify-content:center}.req-form-card__header{padding:14px 16px}.req-form-card__body{padding:16px}.req-filter-bar{padding:12px}.req-filter-bar__search{min-width:100%}.req-filter-bar__filters{width:100%}.req-filter-select{flex:1;min-width:auto}.req-table th,.req-table td{padding:12px 14px}}@media (max-width: 768px){.main-content{padding:16px 12px;margin-left:0}.top-header{padding:12px 16px;margin-left:0;gap:8px}.page-content{padding:0}input,select,textarea{font-size:16px!important}.stepper{gap:2px;margin-bottom:24px}.step-circle{width:32px;height:32px;font-size:12px;border-width:2px}.step-label{font-size:10px}.stepper:before{top:16px}.step-form{padding:20px 16px}.step-actions{flex-direction:column;gap:10px;margin-top:20px}.step-actions button{width:100%;justify-content:center}.create-job-body{padding:16px}.services-grid{grid-template-columns:1fr!important}.detail-pricing-table,.jd-alloc-table,.job-edit-pricing-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-pricing-table th,.detail-pricing-table td,.jd-alloc-table th,.jd-alloc-table td,.job-edit-pricing-table th,.job-edit-pricing-table td{padding:8px 10px;font-size:12px;white-space:nowrap}.jd-tab{padding:8px 10px;font-size:12px;gap:4px}.jd-header__meta{flex-direction:column;gap:8px}.detail-section{padding:16px}.jd-service-block__header{flex-direction:column;align-items:flex-start;gap:8px}.jd-add-task-form .form-grid-2{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-buttons button{width:100%;justify-content:center}.page-title{font-size:20px}.req-form-actions{flex-direction:column}.req-form-actions button{width:100%;justify-content:center}.req-form-share-actions{flex-direction:column}.req-form-share-actions button{width:100%;justify-content:center}.jobs-table th:nth-child(5),.jobs-table td:nth-child(5),.jobs-table th:nth-child(6),.jobs-table td:nth-child(6){display:none}.modal-content{margin:8px;max-width:100%!important;width:calc(100% - 16px)!important}.modal-body{padding:16px}.modal-footer{flex-direction:column;gap:8px}.modal-footer button{width:100%;justify-content:center}.profile-menu{right:-8px;min-width:240px}.header-search,.user-name,.chevron-icon{display:none}.req-table th:nth-child(6),.req-table td:nth-child(6),.req-table th:nth-child(7),.req-table td:nth-child(7){display:none}.task-create-modal,.task-detail-modal{max-width:100%;margin:8px}.bills-table th:nth-child(5),.bills-table td:nth-child(5),.bills-table th:nth-child(6),.bills-table td:nth-child(6){display:none}.inv-table th:nth-child(4),.inv-table td:nth-child(4),.inv-table th:nth-child(5),.inv-table td:nth-child(5){display:none}.btn-copy-link span{display:none}}.attendance-page{padding:0}.attendance-page .page-header{margin-bottom:20px}.attendance-page .page-title{font-size:24px;font-weight:700;color:#111827}.tab-navigation{display:flex;gap:4px;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:24px}.tab-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:#111827;background:#ffffff80}.tab-btn-active{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #0000001a}.checkin-card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px;margin-bottom:24px}.checkin-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.checkin-card__header h3{font-size:18px;font-weight:600;margin:0}.checkin-date{color:#6b7280;font-size:14px}.checkin-card__body{display:flex;justify-content:space-between;align-items:center;gap:16px}.checkin-status__text{display:flex;align-items:center;gap:8px;font-size:15px;color:#374151}.checkin-actions{display:flex;gap:12px;align-items:center}.btn-lg{padding:12px 28px!important;font-size:15px!important;font-weight:600!important}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.checkin-complete-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#d1fae5;color:#059669;border-radius:8px;font-weight:600;font-size:14px}.balance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}.balance-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:20px;display:flex;align-items:center;gap:16px}.balance-card__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.balance-card--annual .balance-card__icon{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.balance-card--wfh .balance-card__icon{background:linear-gradient(135deg,#2563eb,#3b82f6)}.balance-card--comp-off .balance-card__icon{background:linear-gradient(135deg,#d97706,#f59e0b)}.balance-card__body{display:flex;flex-direction:column}.balance-card__number{font-size:28px;font-weight:700;color:#111827;line-height:1.2}.balance-card__label{font-size:13px;color:#6b7280;font-weight:500}.balance-card__detail{font-size:12px;color:#9ca3af;margin-top:2px}.balance-cards--compact{display:flex;gap:12px;margin-bottom:20px}.balance-card-sm{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:8px}.balance-card-sm__label{font-size:13px;color:#6b7280}.balance-card-sm__value{font-size:14px;font-weight:600;color:#111827}.attendance-section{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px;margin-bottom:24px}.section-subtitle{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px;display:flex;align-items:center;gap:8px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f3f4f6;white-space:nowrap}.data-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;color:#374151}.data-table tbody tr:hover{background:#f9fafb}.text-mono{font-family:SF Mono,Fira Code,monospace;font-size:13px}.text-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-sm{font-size:12px}.month-selector{display:flex;align-items:center;gap:12px}.month-label{font-size:15px;font-weight:600;color:#111827;min-width:150px;text-align:center}.team-calendar-tab{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.calendar-grid-wrapper{overflow-x:auto}.calendar-grid{width:100%;border-collapse:collapse;font-size:12px}.calendar-grid th{padding:6px 2px;text-align:center;font-weight:600;color:#6b7280;border-bottom:2px solid #f3f4f6;font-size:11px;min-width:24px}.calendar-grid td{padding:4px 2px;text-align:center;border-bottom:1px solid #f9fafb}.calendar-name-col{min-width:150px!important;text-align:left!important;position:sticky;left:0;background:#fff;z-index:1}.calendar-name-cell{text-align:left!important;position:sticky;left:0;background:#fff;z-index:1}.calendar-user-info{display:flex;align-items:center;gap:8px}.user-avatar-sm{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#005939,#00875a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.calendar-day-col.weekend,.calendar-cell.weekend{background:#f9fafb}.leave-actions-row{display:flex;gap:12px;margin-bottom:20px}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-sm{padding:6px 12px!important;font-size:13px!important}.reports-tab{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:24px}.loading-state{display:flex;justify-content:center;align-items:center;padding:48px;color:#6b7280;font-size:15px}@media (max-width: 768px){.tab-navigation{overflow-x:auto}.checkin-card__body{flex-direction:column;align-items:flex-start}.balance-cards{grid-template-columns:1fr}.balance-cards--compact,.leave-actions-row{flex-direction:column}.calendar-legend{gap:8px}}.header-checkin-wrapper{display:flex;align-items:center}.header-checkin-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap}.header-checkin-btn--checkin{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 2px 8px #10b9814d;animation:pulse-checkin 2s infinite}.header-checkin-btn--checkin:hover{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.header-checkin-btn--checkout{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 2px 8px #ef44444d}.header-checkin-btn--checkout:hover{background:linear-gradient(135deg,#b91c1c,#dc2626);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.header-checkin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;animation:none}.header-checkin-done{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#10b9811a;color:#059669;border-radius:10px;font-size:13px;font-weight:600}@keyframes pulse-checkin{0%,to{box-shadow:0 2px 8px #10b9814d}50%{box-shadow:0 2px 20px #10b98199}}.checkin-prompt-modal{width:400px;max-width:90vw;text-align:center}.checkin-prompt-header{padding:32px 24px 16px}.checkin-prompt-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#059669,#10b981);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.checkin-prompt-header h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 8px}.checkin-prompt-header p{font-size:14px;color:#6b7280;margin:0}.checkin-prompt-actions{padding:16px 24px 24px;display:flex;flex-direction:column;gap:8px}.checkin-prompt-btn{display:flex;align-items:center;justify-content:center;gap:8px}.forced-checkout-warning{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;margin-bottom:16px}@media (max-width: 768px){.header-checkin-btn span{display:none}.header-checkin-btn{padding:8px}.header-checkin-done span{display:none}.header-checkin-done{padding:8px}.session-indicator{display:none}}.session-indicator{display:inline-flex;align-items:center;padding:4px 10px;background:#10b9811a;color:#059669;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:.3px}.modal-sm{width:400px;max-width:92vw}.modal-md{width:520px;max-width:92vw}.camera-capture{width:100%}.camera-capture-trigger{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:20px;border:2px dashed #D1D5DB;border-radius:12px;background:#f9fafb;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.camera-capture-trigger:hover{border-color:#059669;background:#0596690a;color:#059669}.camera-capture-trigger:active{transform:scale(.98)}.camera-capture-preview{display:flex;flex-direction:column;gap:12px}.camera-preview-img{width:100%;max-height:240px;object-fit:cover;border-radius:10px;border:1px solid #E5E7EB}.camera-capture-actions{display:flex;gap:8px}.camera-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:10px 16px;font-size:13px;font-weight:600;font-family:inherit}.camera-streaming{display:flex;flex-direction:column;align-items:center;gap:16px}.camera-video{width:100%;max-height:280px;border-radius:10px;background:#000;transform:scaleX(-1);object-fit:cover}.camera-shutter-btn{width:56px;height:56px;border-radius:50%;border:3px solid #374151;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.camera-shutter-btn:hover{border-color:#059669;transform:scale(1.05)}.camera-shutter-btn:active{transform:scale(.95)}.camera-shutter-inner{width:42px;height:42px;border-radius:50%;background:#ef4444;transition:background .15s}.camera-shutter-btn:hover .camera-shutter-inner{background:#dc2626}.camera-error-state{display:flex;flex-direction:column;gap:12px}.camera-error-box{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fffbeb;border:1px solid #FDE68A;border-radius:10px;color:#92400e;font-size:13px;line-height:1.5}.camera-error-box svg{flex-shrink:0;margin-top:1px}.camera-error-actions{display:flex;align-items:center;gap:12px}.camera-skip-btn{background:none;border:none;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;padding:8px 4px;transition:color .2s}.camera-skip-btn:hover{color:#374151}.camera-skipped-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fffbeb;border:1px solid #FDE68A;border-radius:8px;color:#92400e;font-size:13px;font-weight:500}.session-list{display:flex;flex-direction:column;gap:8px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f9fafb;border-radius:8px;border:1px solid #F3F4F6;font-size:13px}.session-item-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e5e7eb;color:#374151;font-size:11px;font-weight:700;margin-right:10px}.session-item-time{display:flex;align-items:center;gap:6px;color:#374151;font-weight:500}.session-item-hours{color:#059669;font-weight:600;font-size:12px;margin-left:auto;padding-left:12px}.session-item--open{border-color:#bbf7d0;background:#10b9810d}.session-item--open .session-item-number{background:#059669;color:#fff}.logs-page{padding:0}.logs-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.logs-header-right{display:flex;align-items:center;gap:8px}.logs-auto-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;color:#6b7280;font-size:13px;cursor:pointer;transition:all .2s}.logs-auto-refresh-btn:hover{background:#f3f4f6}.logs-auto-refresh-btn--active{background:#ecfdf5;border-color:#059669;color:#059669}@keyframes logs-spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logs-spin{animation:logs-spin-anim 2s linear infinite}.logs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.logs-stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid #E5E7EB;border-radius:12px}.logs-stat-card__icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logs-stat-card__icon--total{background:#eef2ff;color:#4f46e5}.logs-stat-card__icon--errors{background:#fef2f2;color:#dc2626}.logs-stat-card__icon--failed{background:#fffbeb;color:#d97706}.logs-stat-card__icon--users{background:#ecfdf5;color:#059669}.logs-stat-card__info{display:flex;flex-direction:column}.logs-stat-card__value{font-size:24px;font-weight:700;color:#1f2937;line-height:1.2}.logs-stat-card__label{font-size:12px;color:#6b7280;margin-top:2px}.logs-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.logs-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px}.logs-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.logs-tab:hover{color:#1f2937}.logs-tab--active{background:#fff;color:#005939;font-weight:600;box-shadow:0 1px 3px #00000014}.logs-filters-right{display:flex;align-items:center;gap:12px}.logs-date-btns{display:flex;gap:4px}.logs-date-btn{padding:6px 14px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#6b7280;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.logs-date-btn:hover{background:#f3f4f6}.logs-date-btn--active{background:#005939;color:#fff;border-color:#005939}.logs-search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #D1D5DB;border-radius:8px;padding:0 12px;min-width:220px}.logs-search-bar svg{color:#9ca3af;flex-shrink:0}.logs-search-input{border:none!important;padding:8px 0!important;background:transparent!important;font-size:13px;outline:none;width:100%}.logs-alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.logs-alert-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b}.logs-alert button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px}.logs-loading{text-align:center;padding:60px 20px;color:#6b7280}.logs-loading p{margin-top:12px;font-size:14px}.logs-empty{text-align:center;padding:60px 20px;color:#9ca3af}.logs-empty h3{color:#6b7280;margin:12px 0 4px;font-size:16px}.logs-empty p{font-size:13px}.logs-access-denied{text-align:center;padding:80px 20px;color:#9ca3af}.logs-access-denied h3{color:#1f2937;margin:16px 0 8px}.logs-table-wrapper{overflow-x:auto;border:1px solid #E5E7EB;border-radius:12px;background:#fff}.logs-table{width:100%;border-collapse:collapse;font-size:13px}.logs-table thead{background:#f9fafb}.logs-table th{padding:12px 14px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #E5E7EB;white-space:nowrap}.logs-table td{padding:10px 14px;color:#1f2937;border-bottom:1px solid #F3F4F6;vertical-align:middle}.logs-row{cursor:pointer;transition:background .15s}.logs-row:hover{background:#f9fafb}.logs-row--expanded{background:#f0fdf4}.logs-cell-timestamp{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:12px;white-space:nowrap}.logs-cell-user{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5563;font-size:12px}.logs-cell-message{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-cell-expand{text-align:center;color:#9ca3af}.logs-level-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.logs-level-badge--info{background:#ecfdf5;color:#065f46}.logs-level-badge--warn{background:#fffbeb;color:#92400e}.logs-level-badge--error{background:#fef2f2;color:#991b1b}.logs-category-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;background:#f3f4f6;color:#4b5563}.logs-category-badge--auth{background:#eef2ff;color:#4338ca}.logs-category-badge--api{background:#fef2f2;color:#991b1b}.logs-category-badge--activity{background:#ecfdf5;color:#065f46}.logs-action-badge{display:inline-block;font-size:12px;color:#374151;font-weight:500;text-transform:capitalize}.logs-row-detail td{padding:0 14px 14px;background:#f9fafb;border-bottom:2px solid #E5E7EB}.logs-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 0 0}.logs-detail-item{display:flex;flex-direction:column;gap:2px}.logs-detail-full{grid-column:1 / -1}.logs-detail-label{font-size:11px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.logs-detail-value{font-size:13px;color:#1f2937}.logs-detail-mono{font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px}.logs-detail-pre{background:#1f2937;color:#e5e7eb;padding:14px;border-radius:8px;font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;margin-top:4px}.logs-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:12px 0}.logs-page-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.logs-page-btn:hover:not(:disabled){background:#f3f4f6}.logs-page-btn:disabled{opacity:.4;cursor:not-allowed}.logs-page-info{font-size:13px;color:#6b7280}@media (max-width: 768px){.logs-stats{grid-template-columns:repeat(2,1fr)}.logs-filters,.logs-filters-right{flex-direction:column;align-items:stretch}.logs-tabs{overflow-x:auto}.logs-detail-grid{grid-template-columns:repeat(2,1fr)}}.pipeline-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;min-height:400px;background:linear-gradient(to right,#F9FAFB,transparent 20px) left top / 20px 100% no-repeat local,linear-gradient(to left,#F9FAFB,transparent 20px) right top / 20px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.12),transparent) left top / 12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.12),transparent) right top / 12px 100% no-repeat scroll;scroll-behavior:smooth}.pipeline-column{min-width:260px;max-width:300px;flex:1 0 260px;background:#f3f4f6;border-radius:12px;display:flex;flex-direction:column}.pipeline-column-header{padding:12px 16px;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.pipeline-column-header h4{margin:0;font-size:13px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.pipeline-column-header .pipeline-column-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pipeline-column-count{background:#ffffff40;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.pipeline-column-value{color:#ffffffe6;font-size:11px;font-weight:500}.pipeline-column-body{padding:8px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.lead-card{background:#fff;border-radius:8px;padding:12px;cursor:pointer;border:1px solid #E5E7EB;transition:all .2s ease}.lead-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px);border-color:#d1d5db}.lead-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.lead-card-business{font-size:14px;font-weight:600;color:#111827;line-height:1.3}.lead-card-priority{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;color:#fff;white-space:nowrap;flex-shrink:0}.lead-card-contact{font-size:12px;color:#6b7280;margin-bottom:8px}.lead-card-footer{display:flex;justify-content:space-between;align-items:center}.lead-card-value{font-size:13px;font-weight:700;color:#059669}.lead-card-date{font-size:11px;color:#9ca3af}.lead-card-source{font-size:11px;color:#9ca3af;margin-top:4px}.pipeline-column-empty{text-align:center;padding:24px 16px;color:#9ca3af;font-size:13px}.lead-detail-tabs{display:flex;gap:0;border-bottom:2px solid #E5E7EB;margin-bottom:20px}.lead-detail-tab{padding:10px 20px;font-size:14px;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;cursor:pointer}.lead-detail-tab:hover{color:#374151}.lead-detail-tab.active{color:#059669;border-bottom-color:#059669;font-weight:600}.lead-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-status-progression{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #E5E7EB}.lead-status-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;transition:all .2s;opacity:.85}.lead-status-btn:hover{opacity:1;transform:scale(1.02)}.lead-status-btn.active{opacity:1;box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.lead-status-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.lead-lost-reason{margin-top:12px}.activity-feed{display:flex;flex-direction:column;gap:0;position:relative}.activity-feed:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:2px;background:#e5e7eb}.activity-item{display:flex;gap:12px;padding:12px 0;position:relative}.activity-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;border:2px solid #fff}.activity-icon--comment{background:#eff6ff;color:#3b82f6}.activity-icon--call{background:#fef3c7;color:#d97706}.activity-icon--email{background:#f3e8ff;color:#8b5cf6}.activity-icon--meeting{background:#ecfdf5;color:#059669}.activity-icon--status_change{background:#fee2e2;color:#dc2626}.activity-content{flex:1;min-width:0}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.activity-author{font-size:13px;font-weight:600;color:#111827}.activity-time{font-size:11px;color:#9ca3af}.activity-body{font-size:13px;color:#4b5563;line-height:1.5}.activity-body p{margin:0}.activity-call-meta{display:flex;gap:12px;margin-top:4px;font-size:11px;color:#6b7280}.activity-status-change{display:flex;align-items:center;gap:6px;font-size:12px}.activity-status-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.add-activity-form{margin-top:16px;padding-top:16px;border-top:1px solid #E5E7EB}.add-activity-type-tabs{display:flex;gap:8px;margin-bottom:12px}.add-activity-type-tab{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;background:#f3f4f6;color:#6b7280;transition:all .2s}.add-activity-type-tab:hover{background:#e5e7eb}.add-activity-type-tab.active{background:#059669;color:#fff}.call-log-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.create-lead-section{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #F3F4F6}.create-lead-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.create-lead-section .form-group{margin-bottom:14px}.create-lead-section .form-group:last-child{margin-bottom:0}.create-lead-section .form-row{margin-bottom:0}.create-lead-section .form-row .form-group{margin-bottom:14px}.create-lead-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#374151;margin-bottom:14px}.create-lead-section-title svg{color:#059669;flex-shrink:0}.lead-services-section{display:flex;flex-direction:column;gap:16px}.lead-services-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;border-top:2px solid #E5E7EB;font-size:18px;font-weight:700;color:#059669}.pipeline-analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.pipeline-analytics-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #E5E7EB}.pipeline-analytics-card h4{font-size:13px;color:#6b7280;font-weight:500;margin-bottom:8px}.pipeline-analytics-card .analytics-value{font-size:28px;font-weight:700;color:#111827}.pipeline-analytics-card .analytics-value.green{color:#059669}.pipeline-analytics-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pipeline-breakdown-section{background:#fff;border-radius:12px;padding:20px;border:1px solid #E5E7EB}.pipeline-breakdown-section h4{font-size:15px;font-weight:600;margin-bottom:16px}.pipeline-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #F3F4F6}.pipeline-breakdown-item:last-child{border-bottom:none}.pipeline-breakdown-label{font-size:13px;color:#374151;display:flex;align-items:center;gap:8px}.pipeline-breakdown-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pipeline-breakdown-value{font-size:13px;font-weight:600;color:#111827}.convert-job-summary{background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px;padding:16px;margin-bottom:16px}.convert-job-summary h4{color:#059669;margin-bottom:8px}.convert-job-summary p{margin:4px 0;font-size:14px;color:#374151}.convert-job-services{margin-top:12px}.convert-job-services li{font-size:13px;color:#4b5563;margin-bottom:4px}.pipeline-filters{display:flex;gap:12px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.pipeline-filters .form-select,.pipeline-filters .form-input{max-width:200px}@media (max-width: 768px){.pipeline-board{gap:12px}.pipeline-column{min-width:220px;max-width:260px}.lead-info-grid,.pipeline-analytics-breakdown,.call-log-fields{grid-template-columns:1fr}.lead-detail-tabs{overflow-x:auto}.pipeline-filters{flex-direction:column;align-items:stretch}.pipeline-filters .form-select,.pipeline-filters .form-input{max-width:100%}}.roadmap-page{width:100%}.roadmap-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.roadmap-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:#6b7280}.roadmap-legend span{display:inline-flex;align-items:center;gap:5px}.roadmap-legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.roadmap-tl-wrap{background:#fff;border:1px solid #E5E7EB;border-radius:12px}.roadmap-tl{min-width:900px}.roadmap-tl-head{display:grid;grid-template-columns:190px repeat(4,1fr);background:#f9fafb;border-bottom:1px solid #E5E7EB}.roadmap-tl-head>div{padding:9px 13px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6b7280}.roadmap-tl-head>div+div{border-left:1px solid #E5E7EB}.roadmap-tl-head .now{color:#4338ca}.roadmap-lane{display:grid;grid-template-columns:190px repeat(4,1fr);border-bottom:1px solid #F3F4F6}.roadmap-lane:last-child{border-bottom:0}.roadmap-who{padding:12px 13px;display:flex;align-items:center;gap:9px;min-width:0}.roadmap-av{width:26px;height:26px;border-radius:50%;background:#4f46e5;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.roadmap-nm{font-size:13px;font-weight:700;color:#111827}.roadmap-cell{border-left:1px solid #F3F4F6;padding:9px;display:flex;flex-direction:column;gap:7px}.roadmap-cell.now{background:#4f46e50a}.roadmap-empty{font-size:12px;color:#9ca3af}.roadmap-item{border:1px solid #E5E7EB;border-left:3px solid var(--s, #6B7280);border-radius:8px;padding:8px 10px;background:#fff;text-align:left;width:100%;cursor:pointer;transition:box-shadow .15s,transform .1s}.roadmap-item:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-1px)}.roadmap-item-t{font-size:12.5px;font-weight:650;color:#111827;line-height:1.35}.roadmap-item-m{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.roadmap-pill{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap;background:color-mix(in srgb,var(--s) 15%,transparent);color:var(--s)}.roadmap-pct{font-size:11px;color:#6b7280;font-weight:600;font-variant-numeric:tabular-nums}.roadmap-bar{height:3px;border-radius:3px;background:#e5e7eb;margin-top:7px;overflow:hidden}.roadmap-bar i{display:block;height:100%;border-radius:3px}.roadmap-cards{display:flex;flex-direction:column;gap:12px}.roadmap-goal{background:#fff;border:1px solid #E5E7EB;border-left:3px solid var(--s, #6B7280);border-radius:12px;padding:14px 16px;display:flex;gap:14px;align-items:flex-start}.roadmap-goal-t{font-size:15px;font-weight:700;color:#111827}.roadmap-goal-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:12px;color:#6b7280}.roadmap-goal-desc{font-size:13px;color:#374151;margin:8px 0 0;white-space:pre-wrap}.roadmap-chip{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;background:#eef2ff;color:#4338ca;border:1px solid #C7D2FE}.roadmap-ms{margin-top:10px;display:flex;flex-direction:column;gap:5px}.roadmap-ms>div{font-size:12.5px;color:#374151;display:flex;gap:8px;align-items:center}.roadmap-ms-count{font-size:11px;color:#9ca3af;margin-top:2px}.roadmap-tick{width:14px;height:14px;border-radius:4px;border:1.5px solid #D1D5DB;flex:none;position:relative}.roadmap-tick.on{background:#059669;border-color:#059669}.roadmap-tick.on:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.roadmap-ring{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:12px;font-weight:800;color:var(--s);font-variant-numeric:tabular-nums;background:conic-gradient(var(--s) calc(var(--p) * 1%),#E5E7EB 0)}.roadmap-ring span{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center}
