@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color:#0f172a;background-color:#f8fafc;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.5}body{background-color:#f8fafc;min-height:100vh;margin:0;padding:0}input,select,textarea,button{font-family:inherit}.dashboard-wrapper{flex-direction:row;width:100%;min-height:100vh;display:flex}.sidenav{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;align-items:flex-start;width:280px;min-height:100vh;padding:0;display:flex}.sidenav-header{flex-direction:column;align-self:stretch;align-items:flex-start;gap:16px;padding:24px;display:flex}.logo-container{flex-direction:row;align-items:center;gap:12px;display:flex}.logo-icon-bg{color:#fff;background:#2b52b0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-weight:800;display:flex}.logo-text{color:#2b52b0;margin:0;font-size:20px;font-weight:700;line-height:28px}.logo-subtext{letter-spacing:.5px;color:#64748b;margin:0;font-size:11px;font-weight:600;line-height:14px}.sidenav-links{flex-direction:column;flex-grow:1;align-self:stretch;align-items:flex-start;gap:6px;padding:0 16px;display:flex}.nav-link{color:#64748b;cursor:pointer;border-radius:12px;flex-direction:row;align-self:stretch;align-items:center;gap:12px;padding:12px 20px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:flex}.nav-link:hover{color:#0f172a;background:#f1f5f9}.nav-link.active{color:#1e3a8a;background:#dbeafe;font-weight:700}.sidenav-footer{border-top:1px solid #e2e8f0;align-self:stretch;padding:16px}.main-content{flex-direction:column;flex-grow:1;height:100vh;display:flex;overflow-y:auto}.content-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.content-body{flex-direction:column;gap:24px;padding:32px;display:flex}.bento-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.bento-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0000000d}.bento-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.card-header-icon{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.card-header-icon.blue{color:#2b52b0;background:#dbeafe}.card-header-icon.slate{color:#475569;background:#f1f5f9}.card-header-icon.teal{color:#0f766e;background:#ccfbf1}.card-header-icon.red{color:#dc2626;background:#fee2e2}.card-label{color:#64748b;margin:0;font-size:14px;font-weight:500}.card-value{color:#0f172a;margin:0;font-size:28px;font-weight:700}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:24px;display:flex;box-shadow:0 1px 3px #0000000d}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-title{color:#0f172a;margin:0;font-size:18px;font-weight:700}button.btn-primary{color:#fff;background:#2b52b0;border:none;border-radius:12px;padding:10px 20px;font-weight:600;box-shadow:0 1px 2px #0000000d}button.btn-primary:hover{background:#1e3c87}button.btn-secondary{color:#2b52b0;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 20px;font-weight:600}button.btn-secondary:hover{background:#f8fafc}.table-container{overflow-x:auto}.hrms-table{border-collapse:collapse;text-align:left;width:100%}.hrms-table th{color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:13px;font-weight:600}.hrms-table td{border-bottom:1px solid #f1f5f9;padding:16px;font-size:14px}.status-badge{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.active{color:#0f766e;background:#ccfbf1}.status-badge.break,.status-badge.on-leave,.status-badge.onleave{color:#d97706;background:#fef3c7}.status-badge.offline{color:#475569;background:#f1f5f9}.status-dot.active{background-color:#0f766e;box-shadow:0 0 6px #0f766e}.status-dot.break,.status-dot.on-leave,.status-dot.onleave{background-color:#d97706;box-shadow:0 0 6px #d97706}.status-dot.offline{background-color:#64748b}input,select,textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:10px 14px}input:focus,select:focus,textarea:focus{border-color:#2b52b0;box-shadow:0 0 0 2px #2b52b033}.log-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-size:13px}.log-item.info{border-left:4px solid #2b52b0}.log-item.success{border-left:4px solid #0f766e}.log-item.warning{border-left:4px solid #dc2626}.employee-holiday-dashboard{flex-direction:column;gap:32px;width:100%;display:flex}.holiday-bento-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.holiday-card{box-sizing:border-box;border-radius:12px;flex-direction:column;align-items:flex-start;min-height:160px;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.holiday-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000000f}.holiday-card.annual{color:#fff;background:#033997}.holiday-card.sick{color:#1a1c1f;background:#fff;border:1px solid #c4c6d4}.holiday-card.personal{color:#606377;background:#dee1f84d;border:1px solid #c4c6d4}.holiday-card-overlay{position:display;border-radius:8px;justify-content:center;align-items:center;margin-bottom:16px;padding:8px;display:flex}.holiday-card.annual .holiday-card-overlay{background:#ffffff1a}.holiday-card.sick .holiday-card-overlay{background:#0339971a}.holiday-card.personal .holiday-card-overlay{background:#6063771a}.holiday-card-overlay svg{width:20px;height:20px}.holiday-card.annual .holiday-card-overlay svg{fill:#fff}.holiday-card.sick .holiday-card-overlay svg{fill:#033997}.holiday-card.personal .holiday-card-overlay svg{fill:#606377}.holiday-card-label{letter-spacing:.1px;margin-bottom:8px;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.holiday-card.annual .holiday-card-label{color:#fffc}.holiday-card.sick .holiday-card-label{color:#434652}.holiday-card.personal .holiday-card-label{color:#606377}.holiday-card-value-container{align-items:baseline;gap:4px;display:flex}.holiday-card-value{font-size:48px;font-style:normal;font-weight:700;line-height:1.1}.holiday-card-unit{opacity:.8;font-size:22px;font-style:normal;font-weight:500}.fab-container{z-index:999;position:fixed;bottom:24px;right:24px}.fab-button{cursor:pointer;color:#fff;background:#033997;border:none;border-radius:9999px;flex-direction:row;justify-content:center;align-items:center;gap:8px;height:52px;padding:12px 24px;font-size:14px;font-weight:600;transition:transform .2s,background-color .2s;display:flex;box-shadow:0 10px 15px -3px #0339974d,0 4px 6px -4px #0339974d}.fab-button:hover{background:#022a70;transform:scale(1.05)}.fab-button svg{fill:#fff;width:24px;height:24px}.timeline-container{flex-direction:column;gap:24px;margin-top:16px;padding-left:12px;display:flex;position:relative}.timeline-line{z-index:0;background:#c4c6d4;width:2px;position:absolute;top:8px;bottom:8px;left:23px}.timeline-step{z-index:1;flex-direction:row;align-items:flex-start;gap:24px;display:flex;position:relative}.timeline-node{box-sizing:border-box;background:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;row-gap:0;width:24px;height:24px;transition:all .3s;display:flex}.timeline-node.completed{background:#033997;border:4px solid #f9f9fe;box-shadow:0 1px 2px #0000000d}.timeline-node.active{background:#fff;border:4px solid #f9f9fe;box-shadow:0 1px 2px #0000000d}.timeline-node.active-dot{background:#033997;border-radius:9999px;width:8px;height:8px}.timeline-node.pending{background:#c4c6d4;border:4px solid #f9f9fe}.timeline-node.rejected{background:#ba1a1a;border:4px solid #f9f9fe;box-shadow:0 1px 2px #0000000d}.timeline-content{flex-direction:column;align-items:flex-start;display:flex}.timeline-title{color:#1a1c1f;font-size:14px;font-weight:700;line-height:20px}body.dark-theme .timeline-title{color:#f8fafc}.timeline-step.active .timeline-title{color:#033997}body.dark-theme .timeline-step.active .timeline-title{color:#93c5fd}.timeline-subtitle{color:#434652;font-size:12px;font-weight:400;line-height:16px}body.dark-theme .timeline-subtitle{color:#94a3b8}.timeline-step.active .timeline-subtitle{color:#033997}body.dark-theme .timeline-step.active .timeline-subtitle{color:#93c5fd}.timeline-step.pending{opacity:.4}.detail-reason-box{color:#1a1c1f;background:#f3f3f8;border-radius:8px;flex-direction:column;align-items:flex-start;margin-top:8px;padding:16px;font-size:14px;font-style:italic;font-weight:400;line-height:23px;display:flex}body.dark-theme .detail-reason-box{color:#e2e8f0;background:#1e293b}.candidate-stats-container{flex-direction:row;align-items:center;gap:16px;display:flex}.candidate-stat-card{box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;flex-direction:row;align-items:center;gap:16px;min-width:170px;padding:16px 24px;display:flex;box-shadow:0 4px 12px #00000008}.candidate-stat-card.dark{color:#fff;background:#033997}.candidate-stat-card.light{color:#1a1c1f;background:#fffc;border:1px solid #ffffff80}.candidate-stat-icon-wrapper{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.candidate-stat-card.dark .candidate-stat-icon-wrapper{background:#ffffff1a}.candidate-stat-card.light .candidate-stat-icon-wrapper{background:#dee1f8}.candidate-stat-label{color:#434652;font-size:12px;font-weight:500;line-height:16px}.candidate-stat-card.dark .candidate-stat-label{color:#ffffffb3}.candidate-stat-value{font-size:22px;font-weight:700;line-height:28px}.candidate-filter-bar{box-sizing:border-box;background:#f3f3f8;border:1px solid #c4c6d4;border-radius:16px;flex-direction:row;align-items:center;gap:16px;width:100%;padding:16px 24px;display:flex}.circular-progress-container{justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.circular-progress-text{color:#1a1c1f;font-size:10px;font-weight:700;line-height:15px;position:absolute}.match-badge{border-radius:9999px;flex-direction:row;align-items:center;padding:4px 16px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.match-badge.strong{color:#606377;background:#dee1f8}.match-badge.fair{color:#434652;background:#e2e2e7}.match-badge.high-potential{color:#f7c0d0;background:#764c5a}.avatar-initials{color:#00174a;background:#b3c5ff;border-radius:9999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.avatar-initials.alt{color:#171b2b;background:#c2c5db}.recruitment-grid{grid-template-columns:3fr 1fr;gap:24px;width:100%;display:grid}@media (width<=1200px){.recruitment-grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard-wrapper{flex-direction:column}.sidenav{border-bottom:1px solid #e2e8f0;border-right:none;width:100%;min-height:auto}}body.dark-theme{color:#f1f5f9!important;background-color:#0f172a!important}body.dark-theme :root{background-color:#0f172a!important}body.dark-theme .sidenav{background:#1e293b!important;border-right-color:#334155!important}body.dark-theme .sidenav-header{border-bottom-color:#334155!important}body.dark-theme .sidenav-footer{border-top-color:#334155!important}body.dark-theme .nav-link{color:#94a3b8!important}body.dark-theme .nav-link:hover{color:#f8fafc!important;background:#334155!important}body.dark-theme .nav-link.active{color:#fff!important;background:#1e3a8a!important}body.dark-theme .content-header{background:#1e293b!important;border-bottom-color:#334155!important}body.dark-theme .content-header h2{color:#fff!important}body.dark-theme .panel{color:#f1f5f9!important;background:#1e293b!important;border-color:#334155!important}body.dark-theme .panel-title{color:#fff!important}body.dark-theme .bento-card{background:#1e293b!important;border-color:#334155!important}body.dark-theme .card-value{color:#fff!important}body.dark-theme .hrms-table th{color:#94a3b8!important;background:#1e293b!important;border-bottom-color:#334155!important}body.dark-theme .hrms-table td{color:#e2e8f0!important;border-bottom-color:#334155!important}body.dark-theme .card-label{color:#94a3b8!important}body.dark-theme input,body.dark-theme select,body.dark-theme textarea{color:#f1f5f9!important;background:#334155!important;border-color:#475569!important}body.dark-theme input::placeholder,body.dark-theme textarea::placeholder{color:#64748b!important}body.dark-theme button.btn-secondary{color:#f1f5f9!important;background:#334155!important;border-color:#475569!important}body.dark-theme button.btn-secondary:hover{background:#475569!important}body.dark-theme .activity-log-container,body.dark-theme .log-item{background:#1e293b!important;border-color:#334155!important}body.dark-theme .log-item p{color:#e2e8f0!important}body.dark-theme .jwt-raw-box{color:#38bdf8!important;background:#0f172a!important;border-color:#334155!important}body.dark-theme .recruitment-column{background:#1e293b!important;border-color:#334155!important}body.dark-theme .candidate-card{background:#334155!important;border-color:#475569!important}body.dark-theme .candidate-name{color:#fff!important}body.dark-theme .candidate-meta{color:#94a3b8!important}body.dark-theme .stage-header{color:#fff!important}body.dark-theme .stage-count{color:#f1f5f9!important;background:#475569!important}body.dark-theme .pipeline-card{background:#1e293b!important;border-color:#334155!important}body.dark-theme .pipeline-job-title{color:#fff!important}body.dark-theme .pipeline-job-meta{color:#94a3b8!important}body.dark-theme .pipeline-active{background:#0f172a!important}body.dark-theme .holiday-card.sick{color:#fff!important;background:#1e293b!important;border-color:#334155!important}body.dark-theme .holiday-card.sick .holiday-card-value{color:#fff!important}body.dark-theme .holiday-card.sick .holiday-card-unit{color:#94a3b8!important}body.dark-theme .holiday-card.personal{color:#f1f5f9!important;background:#1e293b80!important;border-color:#334155!important}body.dark-theme .holiday-card.personal .holiday-card-value{color:#fff!important}body.dark-theme .holiday-card.personal .holiday-card-unit{color:#94a3b8!important}@media (width<=768px){.sidenav{top:0;left:-280px;z-index:1100!important;background:#fff!important;border-right:1px solid #e2e8f0!important;width:280px!important;height:100vh!important;transition:left .3s cubic-bezier(.4,0,.2,1)!important;position:fixed!important;box-shadow:4px 0 24px #0f172a26!important}body.dark-theme .sidenav{background:#1e293b!important;border-right-color:#334155!important}.sidenav.mobile-open{left:0!important}.sidenav-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;background:#0f172a66;transition:opacity .3s;position:fixed;inset:0}.main-content{height:100vh!important}.content-header{background:#fff!important;border-bottom:1px solid #e2e8f0!important;flex-wrap:wrap!important;gap:16px!important;padding:16px 20px!important}body.dark-theme .content-header{background:#1e293b!important;border-bottom-color:#334155!important}.content-body{gap:16px!important;padding:20px!important}.mobile-menu-toggle{justify-content:center;align-items:center;display:inline-flex!important}.bento-grid,.dashboard-grid,.recruitment-grid{grid-template-columns:1fr!important}}body.font-size-small,body.font-size-small :not(.card-value):not(.holiday-card-value):not(.holiday-card-unit):not(.candidate-stat-value):not(.circular-progress-text):not(.avatar-initials):not(.logo-icon-bg){font-size:13px!important}body.font-size-small h1,body.font-size-small h2{font-size:20px!important}body.font-size-small h3,body.font-size-small h4{font-size:16px!important}body.font-size-large,body.font-size-large :not(.card-value):not(.holiday-card-value):not(.holiday-card-unit):not(.candidate-stat-value):not(.circular-progress-text):not(.avatar-initials):not(.logo-icon-bg){font-size:17px!important}body.font-size-large h1,body.font-size-large h2{font-size:26px!important}body.font-size-large h3,body.font-size-large h4{font-size:21px!important}body.font-size-xl,body.font-size-xl :not(.card-value):not(.holiday-card-value):not(.holiday-card-unit):not(.candidate-stat-value):not(.circular-progress-text):not(.avatar-initials):not(.logo-icon-bg){font-size:19px!important}body.font-size-xl h1,body.font-size-xl h2{font-size:30px!important}body.font-size-xl h3,body.font-size-xl h4{font-size:24px!important}body.dyslexic-font,body.dyslexic-font *{letter-spacing:.1ch!important;word-spacing:.2ch!important;font-family:Comic Sans MS,Chalkboard SE,cursive,sans-serif!important}body.reduce-motion,body.reduce-motion *{transition:none!important;animation:none!important;transform:none!important}body.high-contrast{color:#fff!important;background:#000!important}body.high-contrast,body.high-contrast *{border-color:#fff!important}body.high-contrast .panel,body.high-contrast .sidenav,body.high-contrast .content-header,body.high-contrast .bento-card,body.high-contrast .log-item,body.high-contrast .theme-card-option{color:#fff!important;background:#000!important;border:2px solid #fff!important}body.high-contrast .nav-link.active{color:#000!important;background:#fff!important;border-color:#000!important}body.high-contrast button,body.high-contrast input,body.high-contrast select,body.high-contrast textarea{color:#fff!important;background:#000!important;border:2px solid #fff!important}body.high-contrast button:hover,body.high-contrast .btn-primary{color:#000!important;background:#fff!important;font-weight:800!important}
