:root{--green:#0b8f3e;--green2:#066c30;--green3:#074f29;--yellow:#f1e829;--ink:#163126;--muted:#6d7e75;--bg:#f3f8f4;--card:#fff;--line:#dce8df;--danger:#c63838;--shadow:0 18px 45px rgba(9,86,46,.12);--radius:22px}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:268px;background:linear-gradient(165deg,#064d28,#087b38 55%,#0b9c48);color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20;box-shadow:14px 0 40px rgba(4,71,35,.12);overflow:hidden}.sidebar:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(241,232,41,.14);right:-150px;top:40px;filter:blur(1px)}.brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1;margin-bottom:30px}.brand-logo-wrap{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 24px rgba(0,0,0,.14);transform:perspective(400px) rotateY(-8deg)}.brand img{width:35px}.brand strong{font-size:20px;display:block}.brand span{opacity:.75;font-size:12px}.nav-list{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.nav-item{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:14px;color:rgba(255,255,255,.82);transition:.22s}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.14);color:#fff;transform:translateX(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.sidebar-bottom{margin-top:auto;position:relative;z-index:1}.mini-user{display:flex;align-items:center;gap:10px;padding:14px 4px}.mini-user b,.mini-user small{display:block}.mini-user small{opacity:.7;text-transform:capitalize}.avatar{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--yellow),#fff66c);color:#176126;font-weight:800;box-shadow:0 8px 16px rgba(0,0,0,.12)}.avatar.large{width:44px;height:44px;border-radius:15px}.main{margin-left:268px;min-width:0;width:calc(100% - 268px)}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(243,248,244,.82);backdrop-filter:blur(15px);position:sticky;top:0;z-index:15;border-bottom:1px solid rgba(220,232,223,.7)}.topbar h1{margin:2px 0 0;font-size:24px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;color:var(--green)}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn{border:0;background:#fff;width:44px;height:44px;border-radius:15px;box-shadow:0 8px 22px rgba(17,71,44,.08);cursor:pointer;position:relative}.notif-dot{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;border-radius:99px;background:var(--yellow);color:#174a25;font-size:10px;display:grid;place-items:center;font-weight:800;border:2px solid var(--bg)}.notif-wrap{position:relative}.notif-panel{display:none;position:absolute;right:0;top:54px;width:340px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:10px;z-index:50}.notif-panel.show{display:block}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:8px}.notif-head button{border:0;background:none;color:var(--green);font-size:11px;cursor:pointer}.notif-item{padding:11px;border-radius:12px;display:flex;flex-direction:column;gap:3px}.notif-item.unread{background:#eff9f1}.notif-item span{font-size:12px;color:var(--muted)}.content{padding:28px 34px 60px}.hero-card{background:linear-gradient(135deg,#08743a,#0aa24e);color:#fff;border-radius:28px;padding:30px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;box-shadow:0 24px 50px rgba(9,126,61,.24);min-height:190px}.hero-card:after{content:"";position:absolute;width:320px;height:320px;border:42px solid rgba(241,232,41,.16);border-radius:50%;right:-120px;top:-95px}.hero-card h2{font-size:32px;margin:14px 0 4px}.hero-card p{margin:0;color:rgba(255,255,255,.78)}.hero-mark{position:relative;z-index:2;width:145px;height:145px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.07));display:grid;place-items:center;box-shadow:inset 0 1px 1px rgba(255,255,255,.32),0 25px 40px rgba(0,0,0,.15);transform:perspective(500px) rotateY(-13deg) rotateX(5deg)}.hero-mark img{width:92px}.pill{display:inline-flex;padding:7px 10px;border-radius:99px;background:#eaf7ed;color:var(--green3);font-size:11px;font-weight:700}.pill.light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.18)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:20px 0}.stat-card,.panel{background:var(--card);border:1px solid rgba(220,232,223,.86);border-radius:var(--radius);box-shadow:0 12px 28px rgba(20,76,48,.06)}.stat-card{padding:22px;position:relative;overflow:hidden;transition:.25s}.stat-card:hover{transform:translateY(-4px) rotateX(1deg);box-shadow:var(--shadow)}.stat-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:22px;background:linear-gradient(135deg,rgba(11,143,62,.1),rgba(241,232,41,.18));right:-15px;bottom:-20px;transform:rotate(18deg)}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{display:block;font-size:30px;color:var(--green3);margin:7px 0}.panel{padding:22px}.panel-head,.page-actions{display:flex;justify-content:space-between;gap:20px;align-items:center}.panel h3{margin:4px 0 16px}.table-wrap{overflow:auto;margin-top:10px}table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #edf2ee;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td{font-size:13px}.reason-cell{max-width:300px}.status,.tag{display:inline-flex;padding:6px 9px;border-radius:99px;font-size:11px;font-weight:800;text-transform:capitalize}.status.pending{background:#fff8d3;color:#776b00}.status.approved{background:#e7f8ec;color:#08743a}.status.rejected{background:#ffeded;color:#b12727}.tag{background:#eef4f0;color:#557064;margin-left:4px}.btn{border:0;border-radius:13px;padding:11px 15px;font-weight:750;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--green),#0aa950);color:#fff;box-shadow:0 10px 20px rgba(10,151,70,.2)}.btn-soft{background:#ecf7ef;color:var(--green)}.btn-ghost{background:rgba(255,255,255,.12);color:inherit;border:1px solid rgba(255,255,255,.18)}.content .btn-ghost{background:#f4f7f5;color:var(--ink);border-color:var(--line)}.btn-danger{background:#fff0f0;color:var(--danger)}.btn-lg{padding:14px 18px}.full{width:100%}.link{color:var(--green);font-weight:750}.muted{color:var(--muted)}.small{font-size:12px}.empty,.empty-mini{text-align:center;color:var(--muted);padding:28px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.form-panel label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;margin-bottom:15px}.form-panel input,.form-panel select,.form-panel textarea,.approval-card textarea{width:100%;border:1px solid var(--line);background:#fbfdfb;border-radius:13px;padding:12px 13px;color:var(--ink);outline:none}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus,.approval-card textarea:focus{border-color:#45ad6f;box-shadow:0 0 0 4px rgba(11,143,62,.08)}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.info-panel{align-self:start;position:sticky;top:110px}.flow-list{padding:0;margin:18px 0;list-style:none}.flow-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2ee}.flow-list span{font-size:12px;color:var(--muted);text-align:right}.hr-entry-box{background:linear-gradient(135deg,#f3faf4,#fffdea);border:1px solid #d8eadb;padding:14px;border-radius:16px;margin-bottom:18px}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.check input{width:auto!important}.detail-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-list>div{background:#f7faf8;padding:14px;border-radius:14px}.detail-list span,.detail-list b{display:block}.detail-list span{font-size:11px;color:var(--muted);margin-bottom:5px}.timeline{margin-top:18px}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:18px}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#d8dfda;box-shadow:0 0 0 5px #f2f5f3;margin-top:4px}.timeline-dot.approved{background:#10a04d}.timeline-dot.rejected{background:#d74747}.timeline-item b,.timeline-item span,.timeline-item small{display:block}.timeline-item span,.timeline-item small{font-size:12px;color:var(--muted);margin-top:3px}.approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.approval-card{border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:48px 1fr;gap:14px;background:linear-gradient(145deg,#fff,#f9fcfa)}.approval-body h4{margin:0}.approval-body span,.approval-body b{display:block;font-size:12px;margin-top:4px}.approval-body span{color:var(--muted)}.approval-body p{font-size:13px}.approval-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.alert{padding:13px 15px;border-radius:14px;margin-bottom:16px}.alert.success{background:#e9f8ee;color:#0d6c37}.alert.danger{background:#fff0f0;color:#a52b2b}.pagination{margin-top:16px}.auth-page{min-height:100vh;background:radial-gradient(circle at top left,#e4f5e8,#f7faf7 48%,#f7f9ec);display:grid;place-items:center;padding:28px;overflow:hidden;position:relative}.auth-orb{position:absolute;border-radius:50%;filter:blur(4px)}.orb-1{width:340px;height:340px;background:rgba(11,143,62,.12);left:-120px;top:-90px}.orb-2{width:300px;height:300px;background:rgba(241,232,41,.15);right:-100px;bottom:-110px}.login-card{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:34px;overflow:hidden;box-shadow:0 35px 80px rgba(10,85,46,.16);position:relative;z-index:2}.login-visual{background:linear-gradient(145deg,#075c2e,#079441);color:#fff;padding:48px;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:300px;height:300px;border:50px solid rgba(241,232,41,.12);border-radius:50%;right:-110px;bottom:-90px}.logo-3d{width:100px;height:100px;display:grid;place-items:center;border-radius:28px;background:rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 24px 40px rgba(0,0,0,.18);transform:perspective(500px) rotateY(-12deg);margin-bottom:28px}.logo-3d img{width:66px}.login-visual h1{font-size:36px;line-height:1.12;max-width:480px;margin:18px 0 12px}.login-visual p{color:rgba(255,255,255,.76);max-width:430px}.login-form{padding:48px;display:flex;flex-direction:column;justify-content:center}.login-form h2{margin:5px 0 22px}.login-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;margin-bottom:16px}.login-form input{border:1px solid var(--line);border-radius:13px;padding:13px;outline:none}.login-form .check{flex-direction:row}.login-form .check input{width:auto}.mobile-only{display:none}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.detail-grid{grid-template-columns:1fr}.info-panel{position:static}.approval-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-102%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-only{display:grid}.topbar{height:78px;padding:0 16px}.topbar h1{font-size:20px}.content{padding:18px 14px 40px}.hero-card{padding:22px;min-height:160px}.hero-card h2{font-size:25px}.hero-mark{width:92px;height:92px;border-radius:24px}.hero-mark img{width:58px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-card strong{font-size:25px}.panel{padding:16px;border-radius:18px}.page-actions{align-items:flex-start}.fields-2{grid-template-columns:1fr}.span-2{grid-column:auto}.detail-list{grid-template-columns:1fr}.approval-card{grid-template-columns:44px 1fr}.notif-panel{right:-54px;width:min(330px,calc(100vw - 28px))}.login-card{grid-template-columns:1fr}.login-visual{padding:28px;min-height:300px}.login-visual h1{font-size:28px}.login-form{padding:28px}.top-actions .avatar{display:none}}@media(max-width:470px){.stats-grid{grid-template-columns:1fr}.hero-mark{display:none}.hero-card{min-height:150px}.page-actions{flex-direction:column}.page-actions .btn{width:100%}.approval-actions .btn{flex:1}}

/* Notification links */
a.notif-item {
    color: inherit;
    text-decoration: none;
    display: block;
}
a.notif-item:hover {
    transform: translateY(-1px);
}

/* Notification center */
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--yellow);color:#185326;display:grid;place-items:center;font-size:10px;font-weight:900}
.notif-head>div{display:flex;flex-direction:column;gap:2px}.notif-head small{font-size:10px;color:var(--muted)}.notif-scroll{max-height:390px;overflow:auto}.notif-item{transition:.18s;border:1px solid transparent;margin:2px 0}.notif-item:hover{background:#f7faf8;border-color:#e5eee8}.notif-item.unread{background:#eff9f1;border-color:#dceee1}.notif-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.notif-item-top i{width:8px;height:8px;border-radius:50%;background:var(--green);flex:0 0 auto}.notif-item small{font-size:10px;color:#93a198;margin-top:3px}.notif-view-all{display:block;text-align:center;border-top:1px solid #edf2ee;margin-top:6px;padding:11px 8px 5px;color:var(--green);font-size:12px;font-weight:800}
.notification-page-head{align-items:flex-start}.notification-page-head p{margin:2px 0 0}.notification-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.notification-row{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:.2s}.notification-row.unread{border-color:#cce8d4;background:linear-gradient(135deg,#f1faf3,#fff)}.notification-row:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,76,48,.08)}.notification-main{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;gap:13px;align-items:center;padding:16px 18px}.notification-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f8ed,#fff9cb);color:var(--green3);font-weight:900;box-shadow:inset 0 1px 0 #fff}.notification-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.notification-title-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notification-copy span{font-size:13px;color:var(--muted);line-height:1.45}.notification-copy small{font-size:10px;color:#94a199}.unread-label{font-size:9px!important;padding:3px 7px;border-radius:99px;background:var(--green)!important;color:#fff!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.notification-arrow{font-size:26px;color:#91a49a}.notification-read-form,.notification-read-state{border-top:1px solid #edf2ee;padding:8px 18px;text-align:right}.notification-read-btn{border:0;background:none;color:var(--green);font-size:11px;font-weight:800;cursor:pointer;padding:4px}.notification-read-state{display:block;color:#96a39c;font-size:10px}.highlighted-approval{border-color:#8fce9f!important;box-shadow:0 0 0 4px rgba(11,143,62,.09),0 18px 36px rgba(11,143,62,.13)!important;animation:approvalPulse 1.2s ease-out}@keyframes approvalPulse{0%{transform:scale(.985);background:#eff9f1}100%{transform:scale(1)}}
@media(max-width:760px){.notification-page-head{flex-direction:column;align-items:stretch}.notification-page-head .btn{width:100%}.notification-main{grid-template-columns:40px minmax(0,1fr) 18px;padding:14px}.notification-icon{width:38px;height:38px}.notif-scroll{max-height:320px}}

/* Profile photo */
.top-profile-avatar{overflow:hidden;padding:0}.top-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-photo-section{display:flex;align-items:center;gap:18px;padding:16px;margin:4px 0 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#f8fcf9,#fffef0)}.profile-photo-preview{width:88px;height:88px;flex:0 0 88px;border-radius:24px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--yellow),#fff66c);color:#176126;font-size:30px;font-weight:900;box-shadow:0 12px 24px rgba(9,86,46,.12),inset 0 1px 0 rgba(255,255,255,.8)}.profile-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.profile-photo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.profile-photo-copy b{font-size:14px}.profile-photo-copy span{font-size:11px;color:var(--muted);line-height:1.45}.profile-photo-button{display:inline-flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;margin:5px 0 0!important;padding:9px 12px;border:1px solid #cfe4d5;border-radius:11px;background:#eef8f1;color:var(--green);font-size:11px!important;font-weight:800!important;cursor:pointer;transition:.18s}.profile-photo-button:hover{transform:translateY(-1px);background:#e6f5ea}.profile-photo-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.top-actions .top-profile-avatar{display:grid}.profile-photo-section{align-items:flex-start}.profile-photo-preview{width:76px;height:76px;flex-basis:76px;border-radius:20px}}
@media(max-width:470px){.profile-photo-section{flex-direction:column}.profile-photo-preview{width:84px;height:84px;flex-basis:84px}}

/* Annual leave limit + HR dashboard charts */
.hr-dashboard-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:18px;margin:0 0 18px}.leave-limit-panel{margin:0}.limit-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eef8f1;color:var(--green);font-size:11px;font-weight:900}.limit-setting-form{display:flex;align-items:flex-end;gap:12px;margin-top:16px}.limit-setting-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;min-width:190px}.limit-setting-form input{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;outline:none;background:#fff}.peak-month-card{margin:0;display:flex;flex-direction:column;justify-content:center;min-height:180px;background:linear-gradient(145deg,#08763a,#0a9850);color:#fff;position:relative;overflow:hidden}.peak-month-card:after{content:"";position:absolute;width:145px;height:145px;border-radius:50%;border:28px solid rgba(241,232,41,.13);right:-55px;bottom:-55px}.peak-month-card .eyebrow{color:rgba(255,255,255,.72)}.peak-month-card strong{font-size:32px;line-height:1;margin:10px 0 8px;position:relative;z-index:1}.peak-month-card span{font-size:13px;position:relative;z-index:1}.peak-month-card>small:last-child{font-size:10px;color:rgba(255,255,255,.7);margin-top:5px;position:relative;z-index:1}.dashboard-chart-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin-bottom:18px}.chart-panel{margin:0}.chart-note{font-size:10px;color:var(--muted);font-weight:700}.bar-chart{display:flex;align-items:flex-end;gap:10px;height:250px;padding:18px 4px 0;overflow-x:auto}.bar-column{height:100%;min-width:42px;flex:1;display:grid;grid-template-rows:24px 1fr 24px;align-items:end;text-align:center}.bar-value{font-size:10px;font-weight:900;color:var(--green3);align-self:center}.bar-track{height:100%;min-height:135px;border-radius:12px 12px 8px 8px;background:linear-gradient(180deg,#f0f6f2,#f9fbfa);display:flex;align-items:flex-end;overflow:hidden;border:1px solid #edf2ee}.bar-fill{width:100%;min-height:4px;border-radius:10px 10px 6px 6px;background:linear-gradient(180deg,#19aa58,#08743a);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 -5px 16px rgba(11,143,62,.1);transition:.25s}.bar-column:hover .bar-fill{filter:brightness(1.04)}.bar-label{font-size:10px;color:var(--muted);font-weight:800;align-self:center}.annual-chart .bar-column{min-width:66px}.leave-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.balance-card{padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7faf8);box-shadow:0 10px 24px rgba(20,76,48,.06)}.balance-card span,.balance-card strong,.balance-card small{display:block}.balance-card span{font-size:10px;color:var(--muted);font-weight:800}.balance-card strong{font-size:28px;color:var(--green3);margin:5px 0 2px}.balance-card small{font-size:10px;color:var(--muted)}.balance-card.primary{background:linear-gradient(145deg,#e9f8ed,#fffbd8);border-color:#cfe7d5}.annual-balance-inline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;margin-bottom:16px;border:1px solid #dcebe0;border-radius:16px;background:linear-gradient(145deg,#f5fbf7,#fffef1)}.annual-balance-inline>div{padding:8px 10px;border-right:1px solid #e5eee8}.annual-balance-inline>div:last-child{border-right:0}.annual-balance-inline span,.annual-balance-inline strong{display:block}.annual-balance-inline span{font-size:9px;color:var(--muted);font-weight:800}.annual-balance-inline strong{font-size:14px;color:var(--green3);margin-top:3px}
@media(max-width:1050px){.hr-dashboard-grid,.dashboard-chart-grid{grid-template-columns:1fr}.leave-balance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.limit-setting-form{align-items:stretch;flex-direction:column}.limit-setting-form label{min-width:0}.bar-chart{height:220px;gap:8px}.monthly-chart .bar-column{min-width:38px}.annual-balance-inline{grid-template-columns:1fr 1fr}.annual-balance-inline>div{border-right:0;border-bottom:1px solid #e5eee8}.annual-balance-inline>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:470px){.leave-balance-grid{grid-template-columns:1fr}.bar-chart{height:205px}}

/* Employee personal leave dashboard - only for role employee */
.employee-dashboard-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:18px;margin-bottom:18px}.employee-balance-card{margin:0;overflow:hidden;position:relative;background:linear-gradient(145deg,#ffffff,#f6fbf7)}.employee-balance-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:32px solid rgba(241,232,41,.12);right:-82px;bottom:-92px;pointer-events:none}.employee-balance-number{display:flex;align-items:flex-end;gap:8px;margin:12px 0 18px;position:relative;z-index:1}.employee-balance-number strong{font-size:56px;line-height:.9;color:var(--green3)}.employee-balance-number span{font-size:13px;color:var(--muted);font-weight:800;padding-bottom:5px}.employee-balance-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;z-index:1}.employee-balance-meta>div{padding:10px 11px;border:1px solid #e1ebe4;border-radius:13px;background:rgba(255,255,255,.72)}.employee-balance-meta span,.employee-balance-meta b{display:block}.employee-balance-meta span{font-size:9px;color:var(--muted);font-weight:800}.employee-balance-meta b{font-size:12px;color:var(--green3);margin-top:4px}.employee-monthly-panel{margin:0}
@media(max-width:1050px){.employee-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){.employee-balance-meta{grid-template-columns:1fr}.employee-balance-number strong{font-size:48px}}

/* HR employee detail page - additive only */
.employee-row-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}.employee-detail-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.employee-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;overflow:hidden;position:relative;background:linear-gradient(145deg,#fff,#f5fbf7)}.employee-detail-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:38px solid rgba(241,232,41,.12);right:-82px;bottom:-125px;pointer-events:none}.employee-detail-avatar{width:92px;height:92px;border-radius:26px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--yellow),#fff66c);color:#176126;font-size:34px;font-weight:900;box-shadow:0 14px 30px rgba(9,86,46,.12),inset 0 1px 0 rgba(255,255,255,.8);position:relative;z-index:1}.employee-detail-avatar img{width:100%;height:100%;object-fit:cover;display:block}.employee-detail-heading{min-width:0;position:relative;z-index:1}.employee-detail-heading h2{margin:4px 0 9px;font-size:27px}.employee-detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.employee-active-state{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900}.employee-active-state.active{background:#e5f7ea;color:#08743a}.employee-active-state.inactive{background:#f4eeee;color:#8d4e4e}.employee-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:8px;position:relative;z-index:1}.employee-detail-summary>div{padding:11px 12px;border:1px solid #e0ebe3;border-radius:14px;background:rgba(255,255,255,.78);min-width:82px}.employee-detail-summary span,.employee-detail-summary strong{display:block}.employee-detail-summary span{font-size:9px;color:var(--muted);font-weight:800;white-space:nowrap}.employee-detail-summary strong{font-size:20px;color:var(--green3);margin-top:4px}.employee-info-panel{margin-top:18px}.employee-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.employee-info-grid>div{padding:13px 14px;border:1px solid #e2ece5;border-radius:15px;background:linear-gradient(145deg,#fbfdfb,#fff)}.employee-info-grid span,.employee-info-grid strong{display:block}.employee-info-grid span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.employee-info-grid strong{font-size:12px;color:var(--green3);margin-top:5px;overflow-wrap:anywhere}.employee-detail-balance{margin-top:18px}.employee-detail-chart-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin-bottom:18px}
@media(max-width:1150px){.employee-detail-hero{grid-template-columns:auto 1fr}.employee-detail-summary{grid-column:1/-1}.employee-detail-chart-grid{grid-template-columns:1fr}.employee-info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.employee-detail-actions{align-items:stretch}.employee-detail-actions .btn{flex:1}.employee-detail-hero{grid-template-columns:1fr;text-align:center}.employee-detail-avatar{margin:auto}.employee-detail-badges{justify-content:center}.employee-detail-summary{grid-template-columns:repeat(2,1fr);text-align:left}.employee-info-grid{grid-template-columns:1fr}.employee-row-actions{gap:10px}}
@media(max-width:470px){.employee-detail-actions{flex-direction:column}.employee-detail-summary{grid-template-columns:1fr 1fr}.employee-detail-avatar{width:82px;height:82px;border-radius:23px}}

/* ==========================================================================\n   Responsive navigation & accessibility patch\n   Scope: sidebar scrolling, tablet/mobile navigation, responsive layout only.\n   ========================================================================== */

/* Keep the sidebar shell fixed while allowing only the menu area to scroll. */
.sidebar{
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow:hidden;
}
.nav-list{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.34) transparent;
    padding-right:4px;
    padding-bottom:10px;
}
.nav-list::-webkit-scrollbar{width:5px}
.nav-list::-webkit-scrollbar-track{background:transparent}
.nav-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.30);border-radius:999px}
.nav-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
.sidebar-bottom{
    flex:0 0 auto;
    margin-top:8px;
    padding-top:6px;
    border-top:1px solid rgba(255,255,255,.10);
}
.sidebar-backdrop{
    display:none;
    position:fixed;
    inset:0;
    z-index:19;
    border:0;
    padding:0;
    background:rgba(4,44,24,.42);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}
.table-wrap{
    max-width:100%;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
}

/* Tablet: use the sidebar as an off-canvas drawer so content stays roomy. */
@media(max-width:1024px){
    .sidebar{
        width:min(320px,86vw);
        transform:translateX(-102%);
        transition:transform .24s ease;
        z-index:40;
        box-shadow:18px 0 48px rgba(4,71,35,.22);
    }
    .sidebar.open{transform:translateX(0)}
    .sidebar.open + .sidebar-backdrop{display:block}
    body.sidebar-open{overflow:hidden;touch-action:none}
    .main{margin-left:0;width:100%}
    .mobile-only{display:grid}
    .topbar{
        padding-left:22px;
        padding-right:22px;
        gap:14px;
    }
    .topbar > div:first-of-type{min-width:0;flex:1}
    .topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .top-actions{flex:0 0 auto}
    .content{padding-left:22px;padding-right:22px}
    .nav-item{min-height:48px}
}

/* Mobile: larger touch targets, safer dropdowns and comfortable spacing. */
@media(max-width:760px){
    .sidebar{
        width:min(318px,88vw);
        padding:18px 14px;
    }
    .brand{margin-bottom:18px}
    .brand-logo-wrap{width:48px;height:48px;border-radius:15px}
    .brand strong{font-size:19px}
    .nav-list{gap:6px;padding-right:2px}
    .nav-item{
        min-height:50px;
        padding:13px 14px;
        border-radius:13px;
        font-size:15px;
    }
    .sidebar-bottom{padding-top:4px}
    .mini-user{padding:11px 4px}
    .topbar{
        min-height:72px;
        height:auto;
        padding:10px 14px;
        gap:10px;
    }
    .topbar > div:first-of-type{min-width:0}
    .topbar h1{font-size:19px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
    .topbar .eyebrow{font-size:8px;letter-spacing:.11em}
    .icon-btn{width:42px;height:42px;border-radius:14px;flex:0 0 42px}
    .avatar.large{width:42px;height:42px;border-radius:14px}
    .top-actions{gap:8px}
    .content{padding:16px 12px 36px}
    .panel{padding:14px;border-radius:17px}
    .page-actions{gap:12px}
    .table-wrap{margin-left:-2px;margin-right:-2px;padding-bottom:4px}
    .table-wrap table{min-width:680px}
    th,td{padding:12px 10px}
    .notif-panel{
        position:fixed;
        top:72px;
        left:12px;
        right:12px;
        width:auto;
        max-height:calc(100dvh - 86px);
        overflow:hidden;
        border-radius:16px;
    }
    .notif-scroll{max-height:calc(100dvh - 190px);overflow-y:auto;-webkit-overflow-scrolling:touch}
    .form-actions{flex-wrap:wrap}
    .form-actions .btn{min-height:44px}
}

@media(max-width:470px){
    .sidebar{width:min(304px,90vw)}
    .topbar{padding-left:10px;padding-right:10px}
    .content{padding-left:10px;padding-right:10px}
    .topbar h1{font-size:18px}
    .top-actions{gap:6px}
    .icon-btn,.avatar.large{width:40px;height:40px;flex-basis:40px;border-radius:13px}
    .table-wrap table{min-width:640px}
    .btn{min-height:44px}
}

@media(prefers-reduced-motion:reduce){
    .sidebar{transition:none}
}

/* ==========================================================================\n   EMPLOYEE DASHBOARD RESPONSIVE FIX — ROLE EMPLOYEE ONLY\n   Scope is intentionally limited to the personal employee dashboard block.\n   No HR dashboard, approval, notification, profile, sidebar, or feature logic.\n   ========================================================================== */

/* Desktop: give the balance card enough width and keep the chart flexible. */
.employee-dashboard-grid{
    grid-template-columns:minmax(340px, 0.78fr) minmax(0, 1.72fr);
    align-items:stretch;
    gap:20px;
}

.employee-dashboard-grid > *{
    min-width:0;
}

.employee-balance-card{
    min-width:0;
    padding:24px;
}

.employee-balance-card .panel-head{
    align-items:flex-start;
    gap:14px;
    flex-wrap:wrap;
}

.employee-balance-card .panel-head > div{
    min-width:0;
    flex:1 1 190px;
}

.employee-balance-card .eyebrow{
    display:block;
    max-width:100%;
    line-height:1.55;
    word-break:normal;
    overflow-wrap:normal;
}

.employee-balance-card h3{
    margin-top:6px;
    line-height:1.18;
    word-break:normal;
    overflow-wrap:normal;
}

.employee-balance-card .limit-chip{
    flex:0 0 auto;
    white-space:nowrap;
    max-width:100%;
}

.employee-balance-number{
    margin:20px 0 22px;
}

.employee-balance-number strong{
    font-size:64px;
    letter-spacing:-.035em;
}

.employee-balance-meta{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.employee-balance-meta > div{
    min-width:0;
    min-height:82px;
    padding:13px 12px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.employee-balance-meta span{
    font-size:9px;
    line-height:1.35;
    overflow-wrap:normal;
    word-break:normal;
}

.employee-balance-meta b{
    font-size:14px;
    line-height:1.25;
    overflow-wrap:normal;
    word-break:normal;
}

/* Personal chart: prevent the chart from forcing horizontal page overflow. */
.employee-monthly-panel{
    min-width:0;
    overflow:hidden;
    padding:24px;
}

.employee-monthly-panel .panel-head{
    gap:16px;
    align-items:flex-start;
    flex-wrap:wrap;
}

.employee-monthly-panel .panel-head > div{
    min-width:0;
    flex:1 1 260px;
}

.employee-monthly-panel h3{
    line-height:1.2;
}

.employee-monthly-panel .chart-note{
    flex:0 0 auto;
    white-space:nowrap;
    margin-top:4px;
}

.employee-dashboard-grid .monthly-chart{
    width:100%;
    max-width:100%;
    min-width:0;
    height:310px;
    gap:10px;
    padding:18px 0 2px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}

.employee-dashboard-grid .monthly-chart .bar-column{
    min-width:46px;
}

.employee-dashboard-grid .monthly-chart .bar-track{
    min-height:170px;
}

.employee-dashboard-grid .monthly-chart .bar-value,
.employee-dashboard-grid .monthly-chart .bar-label{
    white-space:nowrap;
}

/* Medium desktop / small laptop: stack before either card gets squeezed. */
@media(max-width:1180px){
    .employee-dashboard-grid{
        grid-template-columns:1fr;
    }

    .employee-balance-card{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-areas:
            "head number"
            "meta meta";
        column-gap:22px;
        align-items:center;
    }

    .employee-balance-card .panel-head{
        grid-area:head;
        margin:0;
    }

    .employee-balance-number{
        grid-area:number;
        margin:0;
        justify-self:end;
    }

    .employee-balance-meta{
        grid-area:meta;
        margin-top:20px;
    }
}

/* Tablet: comfortable card layout, chart remains readable and touch-scrollable. */
@media(max-width:820px){
    .employee-dashboard-grid{
        gap:16px;
        margin-bottom:16px;
    }

    .employee-balance-card,
    .employee-monthly-panel{
        padding:20px;
        border-radius:20px;
    }

    .employee-balance-card{
        display:block;
    }

    .employee-balance-number{
        margin:18px 0 20px;
        justify-self:auto;
    }

    .employee-balance-number strong{
        font-size:58px;
    }

    .employee-balance-meta{
        margin-top:0;
    }

    .employee-dashboard-grid .monthly-chart{
        height:280px;
        gap:9px;
    }

    .employee-dashboard-grid .monthly-chart .bar-column{
        min-width:44px;
    }
}

/* Mobile: one clear information hierarchy; no crushed text or cards. */
@media(max-width:600px){
    .employee-balance-card,
    .employee-monthly-panel{
        padding:16px;
        border-radius:18px;
    }

    .employee-balance-card .panel-head,
    .employee-monthly-panel .panel-head{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:9px;
    }

    .employee-balance-card .panel-head > div,
    .employee-monthly-panel .panel-head > div{
        flex-basis:auto;
        width:100%;
    }

    .employee-balance-card .limit-chip,
    .employee-monthly-panel .chart-note{
        align-self:flex-start;
    }

    .employee-balance-number{
        margin:18px 0;
    }

    .employee-balance-number strong{
        font-size:52px;
    }

    .employee-balance-meta{
        grid-template-columns:1fr;
        gap:8px;
    }

    .employee-balance-meta > div{
        min-height:0;
        padding:12px 13px;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
    }

    .employee-balance-meta span,
    .employee-balance-meta b{
        margin:0;
    }

    .employee-balance-meta b{
        text-align:right;
        white-space:nowrap;
    }

    .employee-dashboard-grid .monthly-chart{
        height:245px;
        margin-top:4px;
        padding-top:10px;
        padding-bottom:6px;
    }

    .employee-dashboard-grid .monthly-chart .bar-column{
        min-width:42px;
        grid-template-rows:22px 1fr 22px;
    }

    .employee-dashboard-grid .monthly-chart .bar-track{
        min-height:125px;
        border-radius:10px 10px 7px 7px;
    }
}

@media(max-width:420px){
    .employee-balance-card,
    .employee-monthly-panel{
        padding:14px;
    }

    .employee-balance-number strong{
        font-size:48px;
    }

    .employee-dashboard-grid .monthly-chart{
        height:225px;
        gap:7px;
    }

    .employee-dashboard-grid .monthly-chart .bar-column{
        min-width:40px;
    }
}

/* === Employee HR Master Data Module === */
.employee-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;margin-bottom:14px;scrollbar-width:thin}
.employee-tab{white-space:nowrap;text-decoration:none;padding:10px 14px;border:1px solid #dce6e1;border-radius:12px;background:#fff;color:#52615b;font-weight:700;font-size:13px}
.employee-tab:hover{border-color:#93c6af;color:#176b49}.employee-tab.active{background:#176b49;color:#fff;border-color:#176b49}
.hr-dashboard-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.hr-dashboard-counts a{text-decoration:none;color:inherit}
.hr-module-panel,.hr-add-panel{margin-bottom:16px}.hr-record-list{display:grid;gap:12px}.hr-record-card{border:1px solid #e2ebe7;border-radius:16px;padding:16px;background:#fbfdfc}
.hr-record-main{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.hr-record-main strong{display:block;font-size:16px;color:#183a2e}.hr-record-main small{display:block;margin-top:4px;color:#718078}
.hr-record-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:12px 0}.hr-record-meta div{display:flex;flex-direction:column;gap:2px}.hr-record-meta span{font-size:11px;color:#7b8983;text-transform:uppercase;letter-spacing:.04em}.hr-record-meta b{font-size:13px;color:#33453e;font-weight:600}
.hr-edit-details{margin-top:12px;border-top:1px dashed #d9e4df;padding-top:10px}.hr-edit-details summary{cursor:pointer;color:#176b49;font-weight:700;font-size:13px}.hr-record-form{margin-top:12px}.hr-record-form textarea{width:100%;resize:vertical}.danger-text{color:#a53c3c!important}.hr-empty{padding:24px 8px}.hr-add-panel{border-style:dashed}
@media(max-width:900px){.hr-dashboard-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-record-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hr-dashboard-counts{grid-template-columns:1fr 1fr}.hr-record-meta{grid-template-columns:1fr}.hr-record-main{flex-direction:column}.employee-tabs{margin-left:-4px;margin-right:-4px}}


/* ========================================================================
   HRIS · Data Karyawan | Form layout refinement (20 Oct 2026)
   Scoped to the employee profile, dynamic HR records, and edit details.
   Does not modify other HRIS forms or the application layout.
   ======================================================================== */
.employee-profile-panel,
.hr-module-panel,
.hr-add-panel {
    min-width: 0;
    padding: clamp(20px, 2.15vw, 32px);
}
.employee-profile-panel .panel-head,
.hr-module-panel .panel-head,
.hr-add-panel .panel-head {
    align-items: flex-start;
    margin-bottom: 22px;
}
.employee-profile-panel .panel-head h3,
.hr-module-panel .panel-head h3,
.hr-add-panel .panel-head h3 {
    font-size: clamp(18px, 1.45vw, 21px);
    line-height: 1.35;
    margin: 7px 0 0;
    letter-spacing: -.025em;
}
.hr-module-panel .chart-note {
    flex-shrink: 0;
    padding: 7px 11px;
    background: #f1f8f4;
    border: 1px solid #e3eee6;
    color: #50705e;
    border-radius: 100px;
    font-weight: 700;
    font-size: 12px;
}
.employee-master-form.hr-record-form,
.hr-add-panel .hr-record-form,
.hr-edit-details .hr-record-form {
    margin-top: 0;
    min-width: 0;
}
/* Unified two-column grid for profile, add and edit forms. */
.employee-profile-panel .hr-record-form .fields-2,
.hr-add-panel .hr-record-form .fields-2,
.hr-edit-details .hr-record-form .fields-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px 24px;
    align-items: start;
}
.employee-profile-panel .hr-record-form .fields-2 > label,
.hr-add-panel .hr-record-form .fields-2 > label,
.hr-edit-details .hr-record-form .fields-2 > label {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    min-width: 0;
    gap: 8px;
    margin: 0;
    color: #304b3b;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}
.hr-record-form .hr-field--wide {
    grid-column: 1 / -1;
}
.hr-record-form .hr-field-label { display: block; }
.hr-record-form .hr-field-label em,
.hr-record-form .form-actions em {
    color: #d26c38;
    font-style: normal;
    font-weight: 800;
}
.employee-profile-panel .hr-record-form input:not([type="file"]),
.employee-profile-panel .hr-record-form select,
.employee-profile-panel .hr-record-form textarea,
.hr-add-panel .hr-record-form input:not([type="file"]),
.hr-add-panel .hr-record-form select,
.hr-add-panel .hr-record-form textarea,
.hr-edit-details .hr-record-form input:not([type="file"]),
.hr-edit-details .hr-record-form select,
.hr-edit-details .hr-record-form textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 11px 13px;
    color: #17392a;
    font: inherit;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.5;
    background: #ffffff;
    border: 1px solid #d8e5dc;
    border-radius: 11px;
    outline: none;
    box-shadow: 0 1px 2px rgba(21, 62, 41, .025);
    transition: border-color .18s, box-shadow .18s, background-color .18s;
}
.employee-profile-panel .hr-record-form textarea,
.hr-add-panel .hr-record-form textarea,
.hr-edit-details .hr-record-form textarea {
    min-height: 94px;
    resize: vertical;
}
.hr-record-form input::placeholder,
.hr-record-form textarea::placeholder { color: #9aaba0; opacity: 1; font-weight: 400; }
.employee-profile-panel .hr-record-form input:focus,
.employee-profile-panel .hr-record-form textarea:focus,
.employee-profile-panel .hr-record-form select:focus,
.hr-add-panel .hr-record-form input:focus,
.hr-add-panel .hr-record-form textarea:focus,
.hr-add-panel .hr-record-form select:focus,
.hr-edit-details .hr-record-form input:focus,
.hr-edit-details .hr-record-form textarea:focus,
.hr-edit-details .hr-record-form select:focus {
    background: #fff;
    border-color: #16944d;
    box-shadow: 0 0 0 3px rgba(15, 148, 73, .11);
}
/* Select2 dropdowns initialized by the existing shared layout. */
.hr-record-form .select2-container {
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}
.hr-record-form .select2-container--default .select2-selection--single {
    height: 46px;
    min-height: 46px;
    border: 1px solid #d8e5dc;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(21, 62, 41, .025);
}
.hr-record-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    padding-left: 13px;
    padding-right: 36px;
    font-size: 13.5px;
    color: #17392a;
}
.hr-record-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px;
    right: 9px;
}
.hr-record-form .select2-container--default.select2-container--focus .select2-selection--single,
.hr-record-form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #16944d;
    box-shadow: 0 0 0 3px rgba(15, 148, 73, .11);
}
.employee-master-form .employee-form-section {
    padding: 23px 24px 26px;
    background: #fbfdfb;
    border: 1px solid #e4eee7;
    border-radius: 17px;
    margin-bottom: 17px;
}
.employee-form-section-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 22px;
    padding-bottom: 17px;
    border-bottom: 1px solid #e7eee9;
}
.employee-form-section-head .employee-section-number {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    border-radius: 11px;
    background: #eaf7ed;
    color: #167446;
    font-size: 12px;
    font-weight: 800;
}
.employee-form-section-head h4 {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.35;
    color: #153e29;
}
.employee-form-section-head p {
    margin: 0;
    color: #86978c;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
}
.hr-add-panel {
    border: 1px solid #daeae0;
    border-radius: 22px;
    background: #fff;
}
.hr-add-panel .hr-record-form,
.hr-edit-details .hr-record-form { padding-top: 2px; }
.hr-record-form .hr-file-field {
    padding: 16px 18px;
    background: #f7fbf8;
    border: 1px dashed #bed9c8;
    border-radius: 13px;
}
.hr-record-form .hr-file-field input[type="file"] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    font-size: 12px;
    line-height: 1.6;
    color: #657e6d;
}
.hr-record-form .hr-file-field input[type="file"]::file-selector-button {
    padding: 10px 13px;
    margin-right: 14px;
    color: #14683d;
    background: #e7f4eb;
    border: 1px solid #d0e7d7;
    border-radius: 9px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.hr-record-form .hr-file-field small {
    font-size: 11.5px;
    line-height: 1.5;
    color: #7b8f82;
    font-weight: 400;
}
.hr-record-form .form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
    padding-top: 22px;
    margin-top: 22px;
    border-top: 1px solid #e8efe9;
}
.hr-record-form .form-actions > span {
    flex: 1 1 220px;
    color: #82968a;
    font-size: 12px;
    font-weight: 400;
}
.hr-record-form .form-actions .btn {
    min-height: 45px;
    padding: 11px 21px;
    border-radius: 11px;
    font-size: 13px;
}
.hr-module-panel .hr-empty {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    min-height: 146px;
    border: 1px dashed #d9e9df;
    border-radius: 14px;
    background: #f9fcfa;
    color: #8a9c90;
    padding: 20px;
}
.hr-module-panel .hr-empty .hr-empty-mark {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    margin-bottom: 2px;
    border-radius: 10px;
    color: #168044;
    background: #eaf6ed;
    font-size: 20px;
}
.hr-module-panel .hr-empty strong { color: #426451; font-size: 13px; }
.hr-module-panel .hr-empty > span:last-child { font-size: 12px; }
.hr-record-card {
    border-radius: 15px;
    background: #fcfefd;
}
.hr-record-card .hr-edit-details {
    padding-top: 14px;
}
.hr-record-card .hr-edit-details summary {
    padding: 6px 0;
}
.hr-edit-details[open] .hr-record-form {
    padding: 20px;
    margin-top: 12px;
    border: 1px solid #e4eee7;
    border-radius: 14px;
    background: #fff;
}
.hr-edit-details > form:not(.hr-record-form) {
    margin-top: 10px;
}
@media(max-width: 800px) {
    .employee-profile-panel .hr-record-form .fields-2,
    .hr-add-panel .hr-record-form .fields-2,
    .hr-edit-details .hr-record-form .fields-2 {
        grid-template-columns: minmax(0,1fr);
        gap: 16px;
    }
    .employee-master-form .employee-form-section {
        padding: 19px 16px 21px;
    }
    .employee-profile-panel,
    .hr-module-panel,
    .hr-add-panel { padding: 19px; }
    .hr-record-form .hr-field--wide { grid-column: 1 / -1; }
}
@media(max-width: 480px) {
    .hr-module-panel .panel-head { flex-wrap: wrap; gap: 10px; }
    .hr-record-form .form-actions .btn { width: 100%; }
    .hr-record-form .form-actions { padding-top: 17px; margin-top: 17px; }
    .hr-record-form .hr-file-field { padding: 13px; }
}
