@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#172f2c;--muted:#7a8783;--green:#166653;--border:#e6ece8;--bg:#f5f7f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{transition:background .16s,color .16s,transform .16s}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #8dc6b4;outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:'Manrope',Arial,sans-serif}h1{font-size:30px;letter-spacing:-1px;font-weight:750;line-height:1.35}h2{font-size:17px;font-weight:750;letter-spacing:-.4px}h3{font-size:14px}small{font-size:11px}strong{font-weight:600}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;width:242px;height:100vh;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:29px 19px 0;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 12px;font-size:27px;letter-spacing:3px;font-weight:800;line-height:1.1}.brandmark{font-size:47px;line-height:44px;color:#166653;letter-spacing:-7px;position:relative;font-style:italic}.brandmark span{color:#e4b773;position:absolute;font-size:14px;bottom:-6px;left:14px;letter-spacing:0}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:1.6px;margin-top:6px;color:#798880}.workspace{display:flex;align-items:center;gap:10px;background:#f7f9f6;border:1px solid var(--border);border-radius:9px;padding:13px 11px;margin:35px 0 30px;font-size:12px;font-weight:600}.workspace small{display:block;color:var(--muted);font-size:10px;margin-top:3px;font-weight:400}.workspace-icon{padding:7px;background:white;border:1px solid var(--border);border-radius:7px;height:33px}.workspace-dot{width:6px;height:6px;border-radius:50%;background:#74a68a;margin-left:auto}.nav-caption{font-size:9px;letter-spacing:1.8px;font-weight:600;color:#98a29d;padding:0 14px;margin-bottom:12px}nav{display:grid;gap:6px}nav button{display:flex;align-items:center;gap:12px;text-align:left;background:none;color:#71807a;border-radius:8px;padding:13px 14px;font-size:12px;font-weight:550;position:relative}nav button:hover{background:#f2f6f2}nav button.active{color:#17614d;background:#eaf3ec;font-weight:700}nav button.active:before{position:absolute;content:'';width:3px;height:21px;left:-19px;border-radius:0 2px 2px 0;background:#246d53}nav b{margin-left:auto;background:#dbe8dc;padding:2px 6px;border-radius:5px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:40px}.help{background:#f7f8f2;border:1px solid #eceee1;border-radius:10px;padding:17px 15px;margin-bottom:24px}.help svg{color:#829576;margin-bottom:10px}.help strong{display:block;font-size:11px}.help p{font-size:10px;color:#87907f;line-height:1.8;margin-top:6px}.profile{border-top:1px solid var(--border);padding:19px 0;display:flex;gap:10px;align-items:center}.avatar,.top-avatar{background:#e6ece2;color:#536b4e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:650}.avatar{width:34px;height:34px;font-size:11px;flex-shrink:0}.profile div{min-width:0}.profile strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:135px}.profile small{display:block;font-size:10px;color:#929b93;margin-top:4px}.profile a{margin-left:auto;color:#89958e}.main{margin-left:242px}.topbar{height:77px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;padding:0 38px;gap:20px}.topbar>div:first-child{display:flex;align-items:center;gap:17px;font-size:11px;color:#8a9690}.topbar b{color:#4d6159;font-weight:500}.slash{color:#c4ccc5}.top-date{margin-left:auto;color:#7f8d85;font-size:11px}.top-avatar{width:31px;height:31px;font-size:10px}.mobile-menu{display:none!important}main{max-width:1600px;margin:auto;padding:36px 38px 0}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#839489;font-weight:650}.eyebrow span{margin:0 7px;color:#b7c0b7}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 28px}.page-heading h1{margin:11px 0 7px}.page-heading p{font-size:12px;color:#849087;line-height:1.7}.wave{color:#bd9c5b;font-size:24px;margin-left:5px}.heading-actions{display:flex;gap:10px;align-items:center}.primary,.secondary,.danger{min-height:40px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;font-size:11px;font-weight:600;line-height:1.4}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.primary:hover{background:#0c4d3f}.secondary{background:white;color:#65776b;border:1px solid #dfe7df}.secondary:hover{background:#edf4ed}.danger{color:#a34a42;background:#fff3f0;border:1px solid #edd5cd}.danger:hover{background:#fce4de}select{background:#fff;border:1px solid #dfe7df;border-radius:7px;color:#556b5c;padding:10px;font-size:11px;min-height:40px}input,textarea{border:1px solid #dfe7df;border-radius:7px;background:#fff;padding:11px 12px;color:var(--ink);width:100%;outline:none}textarea{resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:#78a594;box-shadow:0 0 0 3px #edf4ee}input::placeholder,textarea::placeholder{color:#a0aaa3}.stat-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;margin-bottom:26px}.stat{padding:21px 23px 18px;background:#fff;border:1px solid var(--border);border-radius:11px;min-height:160px}.stat>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#728176}.stat-icon{background:#ecf5eb;border-radius:8px;color:#57815e;padding:8px;display:flex}.stat-icon.amber{background:#fbf4e4;color:#bb9448}.stat-icon.blue{background:#edf2f8;color:#6f88a4}.stat>strong{font:750 36px 'Manrope',sans-serif;display:block;line-height:1.3;letter-spacing:-1.5px;margin:6px 0}.stat>strong small{letter-spacing:0;font:11px 'DM Sans',sans-serif;color:#8c978e;margin-left:9px}.stat>p{font-size:10px;color:#99a297}.stat.featured{background:#f0f5e9;border-color:#e3ead9;position:relative}.progress{height:4px;background:#dce6ce;position:absolute;bottom:0;left:23px;right:23px;border-radius:5px;overflow:hidden}.progress i{background:#718f54;display:block;height:100%}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:11px;overflow:hidden}.panel-heading{padding:23px 23px 21px;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #edf0eb}.panel-heading p{font-size:11px;color:#929c94;margin-top:6px;line-height:1.6}.text-btn{font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:#50806c;padding:6px;white-space:nowrap}.text-btn:hover{color:#164e3a}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:8px;font-weight:600;letter-spacing:1px;color:#94a095;background:#fbfcfa;padding:14px 20px}td{font-size:10px;color:#6d7c71;padding:19px 20px;border-top:1px solid #f0f2ed;line-height:1.6}td strong{display:block;color:#3a5445;font-size:11px}td small{display:block;color:#9aa49b;font-size:9px;margin-top:4px}td b{font-weight:500;color:#526858}.icon-btn{width:30px;height:30px;background:none;color:#84978a;display:inline-flex;justify-content:center;align-items:center;border-radius:6px;flex-shrink:0}.icon-btn:hover{background:#eff4ee}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;font-size:8px;font-weight:600;border-radius:5px;line-height:1.2;white-space:nowrap;background:#f0f2f0;color:#7b897e}.badge.Menunggu{background:#fcf4df;color:#a88638}.badge.Diluluskan{background:#eaf4eb;color:#4d8a60}.badge.Ditolak{background:#faeeeb;color:#b26b60}.dot{width:4px;height:4px;background:currentColor;border-radius:50%}.right-column{display:grid;gap:18px}.plan-card{background:#e9eedf;border:1px solid #dfe6d4;border-radius:11px;padding:23px 23px 0;position:relative;overflow:hidden;min-height:266px}.plan-card .eyebrow{font-size:7px;letter-spacing:1.4px;color:#82936d}.plan-card h2{font-size:21px;line-height:1.45;letter-spacing:-.7px;margin-top:13px;color:#445c3b;position:relative;z-index:1}.plan-card p{color:#88967d;font-size:10px;max-width:175px;line-height:1.8;margin-top:10px;position:relative;z-index:1}.plan-card>button{border-top:1px solid #d9e1cc;width:calc(100% + 46px);margin:32px -23px 0;padding:15px 23px;text-align:left;color:#637c50;background:#e1e9d3;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;position:relative;z-index:1}.sun-art{position:absolute;right:-12px;bottom:49px;color:#b4c49b;opacity:.6}.sun-art>svg{position:absolute;right:12px;bottom:54px}.sun-art span{display:block;width:100px;height:53px;border-radius:100px 100px 0 0;background:#becba8}.sun-art i{display:block;position:absolute;right:30px;bottom:0;width:100px;height:30px;border-radius:100px 100px 0 0;background:#d3dcc2}.guide{padding:21px}.guide h3{margin-bottom:18px}.guide>div{display:flex;align-items:center;gap:10px;margin:13px 0}.guide>div>span{border:1px solid #e7ece3;border-radius:50%;font-size:8px;color:#879c7e;width:21px;height:21px;display:flex;align-items:center;justify-content:center}.guide p{font-size:10px;color:#8b978a;line-height:1.6}.guide .approver{padding-top:15px;border-top:1px solid var(--border);margin-top:21px;margin-bottom:0;align-items:flex-start;color:#84a085}.approver strong{display:block;font-size:10px;color:#637c62;margin-top:4px}footer{display:flex;justify-content:space-between;border-top:1px solid #e4eade;margin-top:38px;padding:19px 0;color:#a0a99c;font-size:8px}footer span:first-child{font-size:7px;letter-spacing:1px}.empty{padding:45px 10px;display:flex;align-items:center;flex-direction:column;gap:10px;color:#9ca99e}.empty strong{font-size:12px;color:#718773}.empty span{font-size:10px}.panel-foot{padding:17px 23px;font-size:10px;color:#8f9a90;border-top:1px solid var(--border);line-height:1.7}.tabs{display:flex;gap:9px;flex-wrap:wrap}.tabs button{font-size:10px;border-radius:6px;padding:8px 11px;background:none;color:#88978b}.tabs button.selected{background:#edf4ec;color:#4c7655}.search{display:flex;align-items:center;color:#92a18f;gap:7px;max-width:220px}.search input{font-size:11px}.role-tag{background:#f0f4ef;border-radius:4px;padding:4px 7px;font-size:9px}.settings-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.holiday-form{padding:22px}.holiday-form label{margin-bottom:14px}.holiday-list{padding:0 22px 22px;color:#8b988e;font-size:11px;line-height:1.8}.holiday-list>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border)}.holiday-list small{display:block;color:#9aa596}.holiday-list b{font-weight:500;color:#5a735c}.policy-note{margin:22px;display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.8;padding:17px;background:#f6f8f1;color:#7f917b;border-radius:8px}.policy-note svg{flex-shrink:0;margin-top:3px}.calendar-control{display:flex;align-items:center;gap:7px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-label{font-size:10px;text-align:center;padding:15px;background:#fbfcf9;color:#8a9b89}.calendar-day{min-height:115px;border-top:1px solid #edf1e9;border-right:1px solid #edf1e9;padding:10px;overflow:hidden}.calendar-day>b{font-size:10px;font-weight:500;color:#798e79}.calendar-day.weekend,.calendar-day.blank{background:#fafbf8}.calendar-event{background:#eaf2e6;color:#5b7a4d;text-align:left;padding:5px;margin-top:5px;width:100%;font-size:9px;line-height:1.6;border-radius:4px;white-space:normal}.calendar-event small{font-size:8px;display:block;color:#8b9c7c}.holiday{display:block;font-size:9px;color:#b29356;line-height:1.5;margin-top:4px}.demo-bar{background:#f8efd7;border-bottom:1px solid #eee2c1;color:#a18b53;padding:9px 38px;display:flex;justify-content:space-between;font-size:10px;gap:10px}.demo-bar b{font-size:8px;letter-spacing:1px;margin-right:8px}.demo-bar a{display:flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap}.loading{min-height:60vh;display:flex;align-items:center;justify-content:center;color:#78917b;gap:15px}.spinner{width:20px;height:20px;border:2px solid #d5e4d6;border-top-color:#24705a;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.welcome{padding:65px 45px;max-width:1000px;margin:auto}.welcome h1{font-size:46px;letter-spacing:-2px;line-height:1.3;margin:22px 0}.welcome>p{max-width:500px;font-size:14px;color:#879887;line-height:1.9}.welcome-actions{display:flex;gap:12px;margin-top:30px}.welcome-actions .primary,.welcome-actions .secondary{font-size:12px;padding:13px 18px}.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:55px 0 25px}.welcome-features>div{border:1px solid #e1e9dc;padding:24px;border-radius:10px;background:#fff}.welcome-features svg{color:#739565;width:23px;margin-bottom:20px}.welcome-features b,.welcome-features span{display:block;font-size:12px}.welcome-features span{font-size:10px;color:#99a68f;margin-top:8px}.welcome .muted{font-size:10px}.error{color:#bd6c58!important;margin-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;z-index:100;background:#183e30;color:#fff;padding:16px 20px;border-radius:9px;box-shadow:0 8px 30px #1c3d3026;font-size:12px;display:flex;gap:20px;align-items:center}.toast button{background:none;color:#fff;padding:0;display:flex}.modal-overlay{position:fixed;inset:0;background:#15312470;backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.modal{position:relative;background:#fff;border-radius:14px;padding:32px;max-width:540px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 24px 90px #163f3330}.close-modal{position:absolute;top:16px;right:16px}.modal h2{font-size:24px;line-height:1.4;margin:12px 0 10px;letter-spacing:-.7px}.muted{color:#8d9b8c;font-size:11px;line-height:1.8}.modal form{margin-top:23px}.modal label,.holiday-form label{display:block;font-size:11px;color:#5c735f;font-weight:500;margin-top:16px}.modal label input,.modal label select,.modal label textarea,.holiday-form label input{display:block;width:100%;margin-top:8px;font-size:12px}.form-row{display:flex;gap:14px}.form-row>label,.form-row>button{flex:1;min-width:0}.calculation{display:flex;align-items:center;background:#f0f5ec;color:#69845e;font-size:11px;padding:15px;border-radius:7px;margin-top:20px;gap:10px}.calculation b{margin-left:auto}.form-note{font-size:10px;line-height:1.8;color:#95a08f;margin:18px 0}.full{width:100%;margin-top:7px}.modal .checkbox{display:flex;align-items:center;gap:8px}.modal .checkbox input{width:15px;margin:0;accent-color:#166653}.modal dl{margin:22px 0}.modal dl>div{display:grid;grid-template-columns:120px 1fr;gap:15px;border-bottom:1px solid #edf1e9;padding:12px 0;font-size:12px;line-height:1.7}.modal dt{color:#95a18e}.modal dd{margin:0;color:#5a715c;overflow-wrap:anywhere;white-space:pre-wrap}.confirm{padding-top:15px}.confirm p{font-size:12px;color:#947b69;line-height:1.8}
@media(min-width:1500px){main{padding-top:45px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.plan-card{min-height:290px}.plan-card h2{font-size:25px}.plan-card p{font-size:12px;max-width:220px}.stat{min-height:175px}td{font-size:12px}td strong{font-size:12px}td small{font-size:10px}th{font-size:9px}.badge{font-size:10px}.guide p{font-size:12px}.guide h3{font-size:16px}.guide .approver strong{font-size:12px}.page-heading p{font-size:14px}.primary,.secondary{font-size:12px}.plan-card>button{font-size:12px}}
@media(max-width:1150px){.sidebar{width:215px;padding-left:14px;padding-right:14px}.main{margin-left:215px}main{padding:28px 25px 0}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-column{grid-template-columns:1fr 1fr}.plan-card{min-height:245px}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.stat{padding:17px}.stat>div:first-child{font-size:10px}.stat>strong{font-size:30px}.settings-grid{grid-template-columns:1fr}.welcome{padding:40px 15px}.welcome h1{font-size:38px}.demo-bar{padding:9px 25px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:235px;box-shadow:10px 0 60px #132a2b22}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{padding:0 18px;height:65px;gap:10px}.topbar>div:first-child{gap:10px;font-size:10px}.mobile-menu{display:inline-flex!important}.top-date{display:none}.top-avatar{margin-left:auto}main{padding:25px 18px 0}.page-heading{display:block}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.heading-actions{justify-content:flex-start;margin-top:18px}.stat-grid{gap:10px;grid-template-columns:1fr 1fr}.stat.featured{grid-column:1/-1;min-height:150px}.stat{min-height:145px}.stat>strong small{font-size:9px}.stat>p{font-size:9px;line-height:1.7}.right-column{grid-template-columns:1fr}.panel-heading{padding:20px 16px;flex-wrap:wrap}.panel-heading h2{font-size:16px}th,td{padding-left:16px;padding-right:16px}.badge{font-size:9px}td{font-size:11px}.plan-card{min-height:240px}.guide{padding:22px}.tabs{gap:2px}.tabs button{font-size:9px;padding:8px}.search{max-width:none;width:100%}.modal{padding:24px}.modal h2{font-size:21px}.modal-overlay{padding:12px}.form-row{gap:10px}.modal dl>div{grid-template-columns:95px 1fr;font-size:11px}.calendar-day{min-height:85px;padding:5px}.calendar-event{font-size:7px;padding:3px}.calendar-event small{display:none}.holiday{font-size:7px}.calendar .panel-heading{gap:18px}.welcome{padding:35px 5px}.welcome h1{font-size:32px;letter-spacing:-1.1px}.welcome>p{font-size:12px}.welcome-actions{flex-direction:column}.welcome-features{grid-template-columns:1fr;margin-top:32px;gap:10px}.welcome-features>div{padding:18px;display:grid;grid-template-columns:32px 1fr;column-gap:10px}.welcome-features svg{grid-row:1/3;margin:0}.welcome-features span{margin-top:5px}.demo-bar{padding:10px 18px;align-items:center;font-size:9px}.demo-bar b{display:block;margin-bottom:4px}.demo-bar a{font-size:9px}footer{font-size:7px;gap:10px}.toast{width:90vw}.holiday-form{padding:18px}}
/* Readable operational text at normal desktop zoom. */
@media(min-width:761px){th{font-size:10px}td{font-size:12px}td strong{font-size:12px}td small{font-size:10px}.badge{font-size:10px}.stat>p{font-size:11px}.stat>div:first-child{font-size:12px}.eyebrow{font-size:10px}.guide p{font-size:11px}nav button{font-size:13px}.panel-heading p{font-size:12px}}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:0 3px;letter-spacing:normal;line-height:1}.apex-logo{display:block;width:100%;height:auto;object-fit:contain}.brand-caption{display:block;font:8px 'DM Sans',Arial,sans-serif;letter-spacing:1.7px;color:#879489;padding-left:7px}.welcome-logo{display:block;width:min(350px,100%);height:auto;margin-bottom:35px}.brand .brand-caption{font-size:8px;letter-spacing:1.7px;margin-top:0}
.auth-shell{min-height:75vh;display:flex;align-items:center;justify-content:center;padding:40px 18px}.auth-card{max-width:460px;width:100%;padding:34px;background:#fff;border:1px solid #e4eadf;border-radius:14px;box-shadow:0 15px 60px #263b2510}.auth-logo{display:block;width:min(320px,100%);height:auto;margin:0 auto 28px}.auth-card h1{font-size:26px;margin:15px 0 12px}.auth-card label,.activation-label{display:block;color:#59715c;font-size:12px;margin-top:20px}.auth-card input,.activation-label input{display:block;margin-top:9px}.auth-card .primary{margin-top:23px;min-height:44px}.auth-footer{font-size:9px;letter-spacing:1px;text-align:center;margin-top:30px;color:#96a18e}.account-panel{max-width:600px}.profile .icon-btn{margin-left:auto}.auth-card .error{font-size:12px;line-height:1.7}

.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #166653;border-radius:9px;background:white;color:#166653;font-weight:700;white-space:nowrap;flex-shrink:0}.logout-button:hover{background:#eaf3ed}.logout-button:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.topbar .logout-button{font-size:11px;padding:9px}.topbar .top-avatar{display:none}}

/* Compact sidebar: keep every menu reachable on shorter screens. */
.sidebar{padding-top:14px;padding-bottom:24px;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sidebar .brand{flex-shrink:0;gap:6px}.sidebar .apex-logo{max-height:62px;object-fit:contain;object-position:left center}.sidebar .workspace{margin:14px 0 14px;padding:10px 11px;flex-shrink:0}.sidebar .nav-caption{margin-bottom:7px;flex-shrink:0}.sidebar nav{gap:3px;flex-shrink:0}.sidebar nav button{padding:9px 12px;min-height:38px}.sidebar .sidebar-bottom{padding-top:14px;flex-shrink:0}.sidebar .help{padding:12px;margin-bottom:12px}.sidebar .profile{padding:12px 0}.sidebar .help p{line-height:1.5}@media(max-height:850px){.sidebar .help{display:none}}
