:root{--navy:#1e2a3a;--teal:#18ad9c;--red:#db5353;--blue:#428dc5;--text:#354052;--muted:#788291;--line:#e6e8ec;--bg:#e5e8ec}*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none;filter:brightness(.92)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.button{cursor:pointer;border:0;border-radius:3px;padding:10px 16px;background:var(--teal);color:white;display:inline-block;font-weight:550}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:default}aside{position:fixed;inset:0 auto 0 0;width:224px;background:var(--navy);color:#a2abb8;display:flex;flex-direction:column;z-index:20;transition:transform .2s}.brand{height:123px;background:white;display:flex;align-items:center;justify-content:center;padding:10px 22px}.brand img{width:164px;height:105px;object-fit:contain}.nav-label{font-size:11px;letter-spacing:.8px;padding:21px 16px 10px;color:#98a2af}nav{padding:0 13px}nav a{display:flex;gap:12px;align-items:center;color:#aeb6c2;padding:10px;border-radius:2px;margin-bottom:4px;font-size:14px}nav a span{width:22px;font-size:21px;line-height:1}nav a.selected,nav a:hover{background:var(--teal);color:white}.sidebar-summary{padding:10px 16px}.sidebar-summary .nav-label{padding-left:0}.sidebar-summary p{border-top:1px solid #2c3848;font-size:11px;padding:12px 0;margin:0;color:#8994a2}.sidebar-summary strong{font-size:22px;display:block;color:#cad1db;font-weight:400}.sidebar-bottom{margin-top:auto;padding:24px 16px;font-size:11px;line-height:1.6}.sidebar-bottom small{color:#748191}.workspace{margin-left:224px;transition:margin .2s}header{height:65px;background:white;display:flex;align-items:center;border-bottom:1px solid var(--line)}.menu-toggle{height:65px;width:61px;background:white;color:var(--navy);border-right:1px solid var(--line);font-size:22px;border-radius:0}.header-name{color:#808794;padding-left:20px}.header-account{margin-left:auto;display:flex;align-items:center;gap:12px;padding:0 24px;font-size:13px}.avatar{border-radius:50%;background:#ecf3f6;color:var(--blue);display:grid;place-items:center;width:32px;height:32px}.logout{background:white;color:var(--muted);border-left:1px solid var(--line);margin-left:10px;border-radius:0;font-size:12px}.page-heading{padding:23px 25px;display:flex;align-items:center;justify-content:space-between;background:#f8f8f9;border-bottom:1px solid #d4d8df}.page-heading>div{display:flex;align-items:center;gap:12px}.page-icon{width:35px;height:35px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-size:22px}h1{font-weight:400;color:#1e2a3a;font-size:26px;margin:0;letter-spacing:-.7px}.subtitle{font-size:12px;color:#969ca5;font-style:italic;border-left:1px solid #ccc;padding-left:12px}.date{font-size:12px;color:var(--muted)}main{padding:24px;max-width:1650px;margin:auto}h2{font-size:14px;font-weight:600;margin:0 0 5px;color:#303642;letter-spacing:.2px}h3{font-size:16px;font-weight:550;margin:8px 0}p{color:var(--muted);margin:5px 0 18px}small{font-size:12px;color:var(--muted);display:block}b{font-weight:550}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.stats article{padding:20px 17px 13px;display:flex;align-items:center;flex-wrap:wrap;color:white;border-radius:2px;gap:14px}.teal{background:var(--teal)}.red{background:var(--red)}.blue{background:var(--blue)}.navy{background:var(--navy)}.stat-icon{font-size:44px;width:48px;line-height:1}.stats article>div>span{font-size:10px}.stats strong{font-size:37px;line-height:1.1;display:block;font-weight:400}.stats footer{width:100%;display:flex;justify-content:space-between;font-size:11px;margin-top:8px;border-top:1px solid #ffffff28;padding-top:9px}.stats footer b{display:block;font-size:15px}.stats footer a{color:#fff}.chart-grid{display:grid;grid-template-columns:2.35fr 1fr;gap:20px;margin-bottom:20px}.panel{background:#fff;border-radius:2px;padding:22px;margin-bottom:20px;min-width:0;box-shadow:0 1px 1px #00000006}.chart-grid .panel,.content-grid .panel{margin-bottom:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-title p{font-size:13px;margin-bottom:0}.panel-title a{font-size:13px}.legend{font-size:12px;color:var(--teal)}.bar-chart{height:226px;display:flex;gap:20px;padding:6px 14px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 45px,#eff1f3 46px);border-bottom:1px solid #ddd}.bar-col{flex:1;text-align:center;display:flex;flex-direction:column;min-width:0;color:var(--teal);font-size:13px}.bar-track{flex:1;display:flex;align-items:flex-end;padding:0 15%}.bar{width:100%;background:var(--teal);opacity:.8;min-height:3px}.bar-col small{padding:8px 0;background:white;color:var(--muted);font-size:11px}.donut{margin:23px auto;width:154px;height:154px;border-radius:50%;display:grid;place-items:center}.donut>div{background:white;width:122px;height:122px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut strong{font-size:32px;font-weight:400}.donut span{font-size:12px;color:var(--muted)}.status-legend{display:grid;gap:6px}.status-legend a{display:flex;align-items:center;justify-content:space-between;color:var(--text)}.badge{display:inline-block;padding:4px 8px;font-size:12px;background:#f1f3f5;color:#687581;border-radius:2px}.badge.baru,.badge.tinggi{color:#976414;background:#fcf1da}.badge.dikerjakan{color:#2e7eae;background:#e6f3fb}.badge.selesai{color:#158879;background:#e0f6f0}.content-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-bottom:20px}.task-row{padding:17px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--text);gap:20px}.task-row small{margin-top:5px}.quick-action{display:flex;align-items:center;gap:15px;color:var(--text);border-top:1px solid var(--line);padding:18px 0}.quick-action>span{font-size:28px;color:var(--teal);width:32px}.quick-action>div{flex:1}.quick-action small{margin-top:4px}.filters{display:flex;gap:18px;margin-bottom:18px}.filters label{margin:0;flex:1}.filters label:last-child{max-width:220px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;background:#f7f8fa;color:#687382;font-weight:500}td,th{padding:13px 12px;border-bottom:1px solid var(--line)}td{font-size:14px}.inline{display:flex;gap:6px}.inline select{min-width:130px;margin:0}.inline button{background:var(--blue);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}label{display:block;margin:17px 0;color:#586371;font-size:14px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d7dce2;border-radius:2px;display:block;margin-top:6px;background:#fff;color:var(--text)}textarea{resize:vertical}.report{border-top:1px solid var(--line);padding:18px 0}.meta{font-size:12px;color:var(--muted);margin-top:14px}.report p{white-space:normal;overflow-wrap:anywhere}.report-photo{max-width:100%;max-height:270px;border-radius:3px}#photo-preview{max-width:100%;max-height:180px;margin-bottom:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}figure{margin:0}figure img{width:100%;height:220px;object-fit:cover}figcaption{padding:10px 0}.empty{padding:45px 20px;text-align:center;color:#87929c;font-size:14px}.attendance-times{display:flex;gap:55px;margin:35px 0;color:var(--muted)}.attendance-times strong{font-size:36px;color:var(--teal);display:block;font-weight:400}.location-card{display:flex;gap:20px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.location-card>div{flex:1}.location-card p{margin:0}.location-icon{font-size:40px;color:var(--teal)}#location-form{margin-top:20px}.account-panel{max-width:630px}.error,.success{padding:14px 18px;margin-bottom:20px;border-left:4px solid;font-size:14px}.error{background:#ffeded;color:#ae3434}.success{background:#e7f8f2;color:#158273}.main-footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;margin-top:24px}.sidebar-collapsed aside{transform:translateX(-100%)}.sidebar-collapsed .workspace{margin-left:0}.login-body{min-height:100vh;background:#e5e9ee;display:grid;place-items:center;padding:36px}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;max-width:1000px;width:100%;padding:0;box-shadow:0 20px 70px #20304118}.login-intro{background:var(--navy);color:#fff;padding:60px 48px;display:flex;flex-direction:column}.login-label{font-size:11px;letter-spacing:1.5px;color:#60d1c4}.login-intro h1{color:white;font-size:36px;line-height:1.25;margin:50px 0 22px;letter-spacing:-1px}.login-intro p{color:#a4b0bf;font-size:15px;line-height:1.8}.login-features{display:grid;margin:24px 0 55px;gap:21px}.login-features span{color:#50c9bb;font-size:12px}.login-features b{margin-left:16px;color:#d7dee8;font-size:14px;font-weight:400}.login-intro>small{margin-top:auto;color:#7c8b9f}.login-card{padding:42px 48px;background:white}.login-logo{display:block;width:170px;height:115px;object-fit:contain;margin:0 auto 28px}.eyebrow{font-size:10px;letter-spacing:1.3px;color:var(--teal);font-weight:600}.login-card h2{font-size:24px;letter-spacing:-.6px;font-weight:450;margin:9px 0}.login-card p{font-size:13px}.login-card label{margin:22px 0}.login-card input{height:44px}.login-submit{width:100%;margin-top:10px;padding:13px}.password-field{position:relative}.password-field input{padding-right:60px}.password-toggle{position:absolute;right:3px;top:3px;background:white;color:var(--muted);font-size:11px;height:38px;padding:8px}.login-card .login-foot{text-align:center;margin:27px 0 0;font-size:11px}[hidden]{display:none!important}@media(max-width:1200px){.stats{grid-template-columns:repeat(2,1fr)}.subtitle{display:none}.chart-grid{grid-template-columns:1.7fr 1fr}}@media(max-width:900px){aside{width:200px}.workspace{margin-left:200px}.content-grid,.chart-grid{grid-template-columns:1fr}.chart-grid .panel,.content-grid .panel{margin-bottom:0}.login-intro{padding:35px}.login-card{padding:35px}.login-intro h1{font-size:29px}.header-name{display:none}}@media(max-width:650px){aside{transform:translateX(-100%);width:224px;box-shadow:5px 0 25px #0002}.workspace{margin:0}.sidebar-collapsed aside{transform:translateX(0)}.sidebar-collapsed .workspace{margin-left:0}header{height:59px}.menu-toggle{height:59px}.header-account{padding:0 12px}.page-heading{padding:18px}.page-heading h1{font-size:23px}.date{display:none}main{padding:15px}.stats{gap:10px}.stats article{padding:15px 12px;gap:6px}.stat-icon{font-size:29px;width:33px}.stats article>div>span{font-size:9px}.stats strong{font-size:30px}.stats footer{font-size:10px}.stats footer a{display:none}.panel{padding:18px}.bar-chart{gap:6px;padding-left:0;padding-right:0}.form-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.filters{flex-direction:column}.filters label:last-child{max-width:none}.location-card{flex-wrap:wrap}.location-card>div{min-width:180px}.login-body{padding:18px}.login-shell{grid-template-columns:1fr;max-width:440px}.login-intro{display:none}.login-card{padding:28px}.main-footer{font-size:10px}.panel-title{flex-wrap:wrap}}
/* YANTI web visual refresh */
:root{--navy:#082b49;--teal:#0095a5;--blue:#078aee;--red:#f15a69;--text:#153455;--muted:#6e86a1;--line:#e5eef8;--bg:#f4f8fd}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(ellipse at top right,#eaf4fc,transparent 65%),var(--bg);color:var(--text)}aside{width:248px;background:linear-gradient(160deg,#06243f,#0a3455);overflow:hidden}.brand{height:106px;justify-content:flex-start;padding:20px 24px;background:transparent;gap:10px;color:white;flex-shrink:0}.brand img{width:47px;height:59px}.brand b{font-size:31px;line-height:1;font-weight:800;letter-spacing:1px}.brand small{font-size:8px;color:#e1edf6;line-height:1.8;margin-top:3px}.nav-label{font-size:10px;color:#719ab7;padding:4px 25px 12px;letter-spacing:1.6px}nav{padding:0 15px;position:relative;z-index:1}nav a{min-height:47px;padding:11px 15px;gap:16px;border-radius:6px;color:#e2ecf6;font-size:14px;margin-bottom:7px}nav a span{font-size:24px;width:24px;text-align:center;color:#c8e4f1}nav a.selected{background:linear-gradient(110deg,#00a0aa,#09607a);box-shadow:0 7px 20px #00152630;color:#fff}nav a.selected span{color:white}nav a:hover{background:#ffffff12;color:white}.sidebar-art{position:relative;flex:1;min-height:180px;margin-top:30px;background:linear-gradient(180deg,#092e4e 0%,#062b4d15 35%,#06264190 100%),url('field-hero.png') center 40%/cover}.sidebar-art p{position:absolute;bottom:8px;left:26px;font-weight:700;font-size:24px;line-height:1.2;color:white;letter-spacing:-.7px;text-shadow:0 2px 8px #002e49}.sidebar-art em{font-weight:400}.sidebar-bottom{padding:14px 23px;color:#aac4d9;background:#06253e;font-size:10px;margin:0}.sidebar-bottom small{display:none}.workspace{margin-left:248px}header{height:73px;background:#ffffffdc;border-bottom:1px solid #e4edf7;gap:17px;padding:0 23px;backdrop-filter:blur(12px)}.menu-toggle{height:45px;width:35px;border:0;padding:0;color:var(--navy);background:transparent}.global-search{display:flex;align-items:center;gap:10px;border:1px solid #deebf5;background:white;border-radius:7px;padding:0 12px;max-width:650px;flex:1;box-shadow:0 2px 6px #0b417506}.global-search>span{font-size:25px;color:#6190ac}.global-search input{border:0;margin:0;padding:12px 0;font-size:13px;min-width:0;background:transparent}.global-search button{padding:6px 10px;background:#edf8fa;color:#08798c;font-size:12px}.header-account{padding:0;gap:10px;flex-shrink:0}.header-account>span:nth-child(2){font-weight:600;font-size:13px}.header-account small{font-size:11px;font-weight:400}.avatar{height:36px;width:36px;background:linear-gradient(135deg,#cdf5f1,#c9e5fd);color:#087a8c;font-weight:700}.logout{padding:8px 10px;background:transparent}.page-heading{padding:14px 25px;background:transparent;border:none}.page-heading h1{font-size:22px;font-weight:650}.page-icon{border:none;color:var(--teal);background:#e4f3f6;border-radius:7px;width:33px;height:33px}.subtitle{font-size:12px;font-style:normal}.date{font-size:12px}main{padding:0 24px 23px;max-width:1800px}.hero-banner{position:relative;overflow:hidden;min-height:150px;display:flex;gap:32px;align-items:center;padding:23px 30px;border-radius:10px;background:linear-gradient(90deg,#e5f2ff 0%,#e8f4ffed 44%,#e8f4ff44 68%,#eff8febb 100%),url('field-hero.png') right 31%/440px auto no-repeat,#dfedf8;border:1px solid #e1edf8;margin-bottom:18px}.hero-identity{display:flex;align-items:center;gap:16px;z-index:1}.hero-identity>img{width:75px;height:86px}.hero-identity h2{font-size:47px;font-weight:850;color:#062b4b;letter-spacing:1px;line-height:1;margin:0 0 8px}.hero-identity strong{font-size:15px;color:#103e60}.hero-identity p{font-size:14px;font-weight:650;color:#00859c;margin:4px 0 0}.hero-motto{font-size:24px;font-weight:750;color:#07738c;letter-spacing:-.6px;line-height:1.15;transform:rotate(-4deg);margin-right:auto}.hero-motto em{font-weight:550}.hero-company{width:116px;max-height:80px;object-fit:contain;background:#fffffff0;border-radius:5px;padding:7px;margin-left:auto}.dashboard-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 17px}.dashboard-filters label{margin:0}.dashboard-filters select{margin:0;min-width:155px;font-size:12px;padding:10px 12px;border:1px solid #d9e6f5;box-shadow:0 2px 5px #123b6705;border-radius:6px}.dashboard-filters button{font-size:12px;padding:11px 17px}.dashboard-filters>a{font-size:12px}.filter-title{font-size:12px;color:var(--muted);margin-right:3px}.filter-end{margin-left:auto}.outline-button{padding:9px 15px;border:1px solid #d8e7f4;border-radius:6px;background:#fff;color:var(--text)}button,.button{border-radius:7px;background:linear-gradient(110deg,#009fa9,#007c99);box-shadow:0 3px 7px #006a8110;transition:filter .15s,transform .15s}button:active,.button:active{transform:translateY(1px)}.stats.polished-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.stats.polished-stats article{background:white;border:1px solid var(--line);box-shadow:0 3px 9px #133f6704;border-radius:9px;padding:17px 13px;align-items:flex-start;flex-wrap:nowrap;gap:11px;min-width:0;color:var(--text)}.stats.polished-stats .stat-icon{width:39px;height:44px;flex-shrink:0;display:grid;place-items:center;font-size:26px;line-height:1;background:#d7f1fe;border-radius:11px;color:#008be4;font-weight:700}.stats.polished-stats .teal .stat-icon{background:#d8f7eb;color:#009b76}.stats.polished-stats .red .stat-icon{background:#ffe1e6;color:#e94960}.stats.polished-stats .amber .stat-icon{background:#fff1c8;color:#b77b00}.stats.polished-stats article>div>span{font-size:12px;line-height:1.2;display:block;min-height:14px}.stats.polished-stats strong{font-size:29px;line-height:1.2;font-weight:750;letter-spacing:-.6px;margin:5px 0}.stats.polished-stats small{font-size:10px;color:#788ba2;line-height:1.45}.panel{border-radius:10px;border:1px solid var(--line);box-shadow:0 3px 10px #123b6905;padding:18px}.panel h2{text-transform:none;font-size:14px;font-weight:700;color:#123352;letter-spacing:-.1px}.panel-title{margin-bottom:15px;gap:8px}.panel-title>a{font-size:11px;white-space:nowrap;color:#0689d5}.panel-note{font-size:10px;line-height:1.4;color:#8a9aae;margin:14px 0 0}.period{font-size:10px;padding:5px 7px;border:1px solid #e0eaf4;border-radius:5px;color:#4b6d8c;white-space:nowrap}.monitor-grid{display:grid;grid-template-columns:1fr 1fr 1.08fr;gap:14px;margin-bottom:15px}.monitor-grid>.panel{margin:0;min-height:238px}.map-panel{grid-column:3;grid-row:span 2;display:flex;flex-direction:column}.map-panel .panel-note{margin-top:auto;padding-top:18px}.ring-layout{display:flex;gap:17px;align-items:center;min-height:152px}.donut{width:130px;height:130px;margin:8px 0;flex-shrink:0}.donut>div{width:99px;height:99px}.donut strong{font-size:25px;font-weight:750;color:#092a49}.donut span{font-size:11px}.status-legend{flex:1;gap:12px;font-size:11px;min-width:0}.status-legend a{gap:8px}.status-legend>div{display:flex;gap:6px;align-items:center;line-height:1.4}.status-legend b{margin-left:auto;font-size:12px}.status-legend .badge{font-size:10px;padding:4px 5px;white-space:normal}.legend-dot{width:9px;height:9px;display:inline-block;border-radius:50%;flex-shrink:0}.teal-dot{background:#00a783}.gray-dot{background:#a8b8c9}.bar-chart{height:150px;gap:9px;padding:0 3px;background:repeating-linear-gradient(to top,transparent 0,transparent 36px,#eef3f9 37px)}.bar-col{font-size:11px}.bar-col small{font-size:9px;white-space:nowrap;padding:7px 0}.bar-track{padding:0 17%;min-height:95px}.bar{background:linear-gradient(0deg,#0996ac,#00b1b0);border-radius:3px 3px 0 0;min-height:0;opacity:1}.location-placeholder{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px 12px;text-align:center;border:1px dashed #cfe2ed;border-radius:8px;background:radial-gradient(ellipse at center,#def4f4,#f4f9fb 75%);min-height:310px}.pin-illustration{color:#0a9aab;font-size:58px;line-height:1.3}.location-placeholder h3{font-size:16px;font-weight:650}.location-placeholder p{font-size:12px;max-width:230px;margin:6px 0 12px}.location-placeholder .button{font-size:12px}.location-preview{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center;color:var(--text)}.location-preview>span:first-child{font-size:32px;color:var(--teal)}.location-preview>div{flex:1;min-width:0}.location-preview b{font-size:13px}.location-preview small{font-size:11px}.content-grid{grid-template-columns:2.15fr 1fr;gap:15px}.content-grid:has(#new){grid-template-columns:1.5fr 1fr}th{background:#f2f6fb;font-size:10px;color:#36516e;padding:10px;font-weight:600}td{font-size:11px;padding:12px 10px;border-color:#ecf2f8}td small{font-size:10px;margin-top:3px}tbody tr:hover{background:#f7fbff}.badge{border-radius:6px;font-size:10px;padding:4px 7px;white-space:nowrap}.badge.baru{background:#fff1c8;color:#986b00}.badge.dikerjakan{background:#dcf1ff;color:#0085d2}.badge.selesai{background:#d8f7eb;color:#00876a}.activity-item{display:flex;gap:10px;color:var(--text);padding:13px 0;border-bottom:1px solid #edf2f7;font-size:12px}.activity-item>span{display:grid;place-items:center;background:#00a88a;color:#fff;font-size:16px;border-radius:50%;width:27px;height:27px;flex-shrink:0}.activity-item p{font-size:11px;margin:2px 0;color:#7188a3}.activity-item small{font-size:10px}.empty{padding:35px 15px;font-size:13px}.empty h3{font-size:16px}.empty p{font-size:13px}.activity-empty-icon{font-size:35px;color:#bbcfdf}.main-footer{font-size:10px;margin-top:17px}.filters input,.filters select,input,select,textarea{border-color:#dbe6f0;border-radius:7px}.inline{align-items:center}.inline select{font-size:12px}.form-grid label,.account-panel label{font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid #7fd1d8;border-color:#49aeba}.report h3{font-size:17px}.report p{font-size:15px}.login-body{background:radial-gradient(ellipse at center,#d9edf5,#f3f7fb)}.login-shell{border-radius:18px;overflow:hidden;box-shadow:0 25px 85px #173b6320}.login-intro{background:linear-gradient(180deg,#032f46b0,#032f4680 45%,#032f46f0),url('field-hero.png') 65% 35%/cover;padding:45px 40px}.login-yanti{display:flex;align-items:center;gap:11px}.login-yanti img{width:50px;height:65px}.login-yanti>span{font-size:34px;font-weight:800;line-height:1;color:white}.login-yanti small{font-size:9px;color:#d0ecf3;margin-top:8px;font-weight:400}.login-intro h1{font-size:35px;margin-top:65px;text-shadow:0 2px 12px #003246}.login-intro p{color:#cee7ef}.login-features span{color:#63e2db}.login-features b{color:white}.login-intro>small{color:#bcd8e2}.login-card{padding:46px}.login-submit{border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1600px){.monitor-grid>.panel{min-height:265px}.donut{width:150px;height:150px}.donut>div{width:116px;height:116px}.bar-chart{height:174px}.hero-banner{min-height:165px}.stats.polished-stats strong{font-size:32px}}
@media(max-width:1350px){.stats.polished-stats{grid-template-columns:repeat(3,1fr)}.hero-motto{display:none}.monitor-grid{grid-template-columns:1fr 1fr}.map-panel{grid-column:auto;grid-row:auto}.monitor-grid .map-panel{grid-column:1/-1;order:5}.location-placeholder{min-height:160px}.sidebar-art{min-height:100px}.content-grid{grid-template-columns:1.6fr 1fr}.ring-layout{justify-content:center}.global-search{max-width:520px}}
@media(max-width:1000px){aside{width:215px}.workspace{margin-left:215px}.brand{padding:20px 15px}.brand b{font-size:27px}.brand small{font-size:7px}.hero-identity h2{font-size:38px}.hero-banner{padding:20px}.hero-company{display:none}.header-account>span:nth-child(2){max-width:130px}.header-account small{font-size:9px}.global-search button{display:none}.content-grid,.content-grid:has(#new){grid-template-columns:1fr}.monitor-grid{grid-template-columns:1fr 1fr}.monitor-grid .ring-layout{flex-direction:column}.status-legend{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap}.status-legend>a{gap:7px}.stats.polished-stats .stat-icon{width:31px;font-size:23px}.hero-identity strong{font-size:13px}}
@media(max-width:700px){aside{width:248px;transform:translateX(-100%);overflow:auto}.workspace{margin:0}.sidebar-collapsed aside{transform:translateX(0)}.sidebar-collapsed .workspace{margin-left:0}header{padding:0 13px;gap:10px;height:65px}.header-account>span:nth-child(2){display:none}.avatar{width:30px;height:30px}.logout{font-size:11px;padding:7px}.global-search{padding:0 7px;min-width:0}.global-search input{font-size:11px}.global-search>span{display:none}.page-heading{padding:14px 16px}.page-heading h1{font-size:20px}.page-heading .date{display:none}main{padding:0 14px 20px}.hero-banner{min-height:148px;padding:17px 15px;background-size:auto,250px auto;background-position:center,right 30%}.hero-identity{gap:10px}.hero-identity>img{width:49px;height:65px}.hero-identity h2{font-size:34px}.hero-identity strong{font-size:10px}.hero-identity p{font-size:10px}.stats.polished-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stats.polished-stats article{padding:13px 10px;gap:8px}.stats.polished-stats article>div>span{font-size:10px}.stats.polished-stats strong{font-size:25px}.stats.polished-stats small{font-size:9px}.monitor-grid{grid-template-columns:1fr}.monitor-grid .map-panel{grid-column:auto}.monitor-grid .ring-layout{flex-direction:row}.status-legend{display:grid;width:auto;flex:1}.monitor-grid>.panel{min-height:220px}.dashboard-filters{gap:8px}.dashboard-filters .filter-title{display:none}.dashboard-filters label{flex:1}.dashboard-filters select{min-width:0;width:100%}.filter-end{margin-left:0}.dashboard-filters button{flex:1}.hero-company{display:none}.form-grid{grid-template-columns:1fr}.login-card{padding:30px}.sidebar-bottom{font-size:10px}.panel-title h2{font-size:14px}.map-panel .location-placeholder{min-height:210px}}
@media(prefers-reduced-motion:no-preference){.panel,.hero-banner,.polished-stats article{animation:arrive .28s ease-out}@keyframes arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:700px){.dashboard-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-filters label,.dashboard-filters button,.dashboard-filters .filter-end{min-width:0;width:100%}.dashboard-filters select{font-size:13px;min-height:43px}.dashboard-filters button,.dashboard-filters .filter-end{text-align:center;min-height:43px;font-size:12px}.hero-banner{background-image:linear-gradient(90deg,#e5f2ff 0%,#e8f4ffe8 58%,#e8f4ff22 100%),url('field-hero.png')}.stats.polished-stats article>div>span{font-size:12px}.stats.polished-stats small{font-size:11px}}

/* ODSYS MIRT identity */
.brand{height:auto;min-height:126px;gap:12px}.brand img{width:70px;height:70px;object-fit:contain;border-radius:10px;flex-shrink:0}.brand b{font-size:21px;letter-spacing:-.5px}.brand small{font-size:9px;line-height:1.5}.hero-identity{min-width:0;gap:20px}.hero-identity>img{width:132px;height:132px;object-fit:contain;border-radius:12px;flex-shrink:0}.hero-identity h2{font-size:38px}.hero-identity .brand-expansion{font-size:12px;color:#315470;margin:4px 0 9px;max-width:380px}.hero-identity strong{font-size:16px}.hero-identity p{font-size:13px}.hero-company{background:transparent!important;padding:0;width:130px;object-fit:contain;filter:drop-shadow(0 1px 2px #fff)}.login-yanti img{width:110px;height:110px;object-fit:contain;border-radius:12px}.login-yanti>span{font-size:29px}.login-yanti small{font-size:12px;line-height:1.5}.login-intro .brand-expansion{font-size:13px;line-height:1.6}.login-logo{object-fit:contain}
@media(max-width:1000px){.brand{flex-direction:column;align-items:flex-start}.brand img{width:80px;height:80px}.brand b{font-size:23px}.hero-identity h2{font-size:30px}.hero-identity>img{width:95px;height:95px}.hero-identity strong{font-size:13px}.hero-identity p{font-size:12px}}
@media(max-width:700px){.hero-banner{padding:18px 14px}.hero-identity{gap:12px;align-items:flex-start}.hero-identity>img{width:75px;height:75px}.hero-identity h2{font-size:26px}.hero-identity .brand-expansion{font-size:10px;line-height:1.5;margin:3px 0 7px}.hero-identity strong{font-size:11px;line-height:1.5;display:block}.hero-identity p{font-size:11px;line-height:1.5}.login-yanti>span{font-size:25px}.login-yanti img{width:80px;height:80px}}
@media(max-width:700px){.hero-banner{background-image:linear-gradient(90deg,#e5f2fff7 0%,#e8f4ffeF 65%,#e8f4ffb8 100%),url('field-hero.png')}.hero-identity p{color:#006875}}

/* Corporate dimensional header */
.dimensional-hero{isolation:isolate;overflow:visible;min-height:300px;margin:32px 0 28px;padding:32px 155px 32px 230px;border:0;background:none!important;gap:0;border-radius:0}
.hero-frame{position:absolute;inset:5px 0 0 12px;z-index:-1;border-radius:18px;background:linear-gradient(115deg,#eafaff 0%,#daf1f8 54%,#a2dbe6 100%);border:3px solid white;box-shadow:0 16px 24px -15px #003d6390,7px 7px 0 #b9d4e3;transform:perspective(1200px) rotateY(-2deg)}
.hero-frame:after{content:'';position:absolute;inset:0;border-radius:15px;background:repeating-linear-gradient(120deg,transparent 0,transparent 70px,#ffffff26 71px,#ffffff26 73px);pointer-events:none}
.hero-officer{position:absolute;left:-5px;bottom:-3px;width:250px;height:345px;object-fit:contain;object-position:bottom;filter:drop-shadow(10px 10px 7px #13476336);z-index:2}
.dimensional-hero .hero-identity{gap:18px;align-items:center}.dimensional-hero .hero-identity>img{width:100px;height:110px;border-radius:0;object-fit:contain;filter:drop-shadow(0 2px 2px #fff)}
.hero-kicker{font-size:9px;font-weight:700;letter-spacing:2px;color:#33748a}.dimensional-hero h2{font-family:Arial,Helvetica,sans-serif;font-size:38px;font-weight:800;letter-spacing:-1px;text-shadow:0 1px 0 #fff,0 2px 0 #b8cfdf,0 3px 0 #afc6d9,0 5px 9px #17496e20;margin:5px 0 8px}
.dimensional-hero .brand-expansion{font-size:11px;line-height:1.5;max-width:330px;margin-bottom:12px}.dimensional-hero strong{font-size:21px;line-height:1.25;color:#07576e;letter-spacing:-.3px}.dimensional-hero p{font-size:11px;max-width:310px;margin-top:12px}.dimensional-hero .hero-company{display:block;position:absolute;right:24px;top:28px;width:100px;height:70px;max-height:none}
@media(max-width:1250px){.dimensional-hero{padding:30px 25px 30px 180px;min-height:300px}.hero-officer{width:190px;height:310px}.dimensional-hero .hero-company{right:18px;top:15px;width:70px;height:45px}.dimensional-hero .hero-identity{gap:10px}.dimensional-hero .hero-identity>img{width:75px;height:90px}.dimensional-hero h2{font-size:29px}.dimensional-hero strong{font-size:19px}.hero-kicker{font-size:8px}}
@media(max-width:700px){.dimensional-hero{margin-top:25px;min-height:405px;padding:24px 20px 155px}.hero-frame{inset:0 0 0 0;transform:none;box-shadow:0 12px 22px -15px #003d6390,3px 5px 0 #b9d4e3}.hero-officer{left:auto;right:0;bottom:-2px;width:150px;height:205px}.dimensional-hero .hero-identity{align-items:flex-start;gap:10px}.dimensional-hero .hero-identity>img{width:65px;height:80px}.dimensional-hero h2{font-size:27px}.dimensional-hero .brand-expansion{font-size:10px;line-height:1.5}.dimensional-hero strong{font-size:18px;line-height:1.3}.dimensional-hero p{font-size:11px;line-height:1.5}.dimensional-hero .hero-company{top:auto;right:auto;left:25px;bottom:32px;width:110px;height:75px}.hero-kicker{font-size:7px;letter-spacing:1px}}
@media(min-width:701px) and (max-width:1250px){.dimensional-hero{padding-left:205px}.hero-officer{left:-30px;width:250px;height:355px}}
.brand img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}
@media(max-width:700px){.dimensional-hero{align-items:flex-start;min-height:425px;padding-bottom:190px}}
/* Balanced hero proportions */
.dimensional-hero{min-height:290px;padding:28px 155px 28px 220px}.dimensional-hero .hero-identity{flex:1;justify-content:center;gap:28px}.dimensional-hero .hero-identity>img{width:clamp(140px,14vw,210px);height:210px}.dimensional-hero h2{font-size:clamp(40px,4.1vw,64px);letter-spacing:-1.7px;white-space:nowrap}.dimensional-hero .brand-expansion{font-size:13px;max-width:470px}.dimensional-hero strong{font-size:25px}.dimensional-hero p{font-size:13px;max-width:450px}.hero-kicker{font-size:10px;letter-spacing:2.5px}.dimensional-hero .hero-company{width:120px;height:90px;top:50%;transform:translateY(-50%);right:22px}
@media(max-width:1250px){.dimensional-hero{padding:26px 20px 26px 190px;min-height:285px}.dimensional-hero .hero-identity{gap:18px;justify-content:flex-start}.dimensional-hero .hero-identity>img{width:125px;height:155px}.dimensional-hero h2{font-size:36px;letter-spacing:-1px}.dimensional-hero .brand-expansion{font-size:11px}.dimensional-hero strong{font-size:21px}.dimensional-hero p{font-size:11px}.dimensional-hero .hero-company{width:66px;height:44px;top:12px;right:16px;transform:none}.hero-officer{width:235px;height:330px}}
@media(max-width:1000px) and (min-width:701px){.dimensional-hero{padding-left:160px}.hero-officer{width:205px;height:310px}.dimensional-hero .hero-identity>img{width:105px;height:140px}.dimensional-hero .hero-identity{gap:12px}.dimensional-hero h2{font-size:32px}}
@media(max-width:700px){.dimensional-hero{padding:23px 20px 185px;min-height:475px}.dimensional-hero .hero-identity{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;align-items:center}.dimensional-hero .hero-identity>img{width:90px;height:125px}.dimensional-hero h2{font-size:31px;white-space:normal;line-height:1.02;letter-spacing:-1px}.dimensional-hero .brand-expansion{font-size:10px}.dimensional-hero strong{font-size:18px}.dimensional-hero p{font-size:11px}.hero-kicker{font-size:7px;letter-spacing:1px}.dimensional-hero .hero-company{top:auto;bottom:30px;left:25px;width:110px;height:75px;transform:none}.hero-officer{width:150px;height:205px;left:auto;right:0}}

/* Mahardhika prominence and subtle urban skyline */
.hero-frame:before{content:'';position:absolute;inset:0;border-radius:15px;background:url('city-silhouette.svg') center bottom/100% auto no-repeat;pointer-events:none}.dimensional-hero{padding-right:210px}.dimensional-hero .hero-company{width:175px;height:125px;right:20px;filter:drop-shadow(0 1px 2px #fff) drop-shadow(0 0 5px #ffffffaa)}
@media(max-width:1250px){.dimensional-hero{padding-right:20px;padding-top:70px}.dimensional-hero .hero-company{width:105px;height:65px;right:18px;top:9px}.hero-frame:before{background-size:auto 180px}}
@media(max-width:700px){.dimensional-hero{padding:23px 20px 185px}.dimensional-hero .hero-company{top:auto;bottom:30px;left:20px;right:auto;width:145px;height:100px}.hero-frame:before{background-size:auto 160px}}

/* Align header frame with dashboard content edges. */
.dimensional-hero .hero-frame{inset:0;transform:none;box-shadow:0 12px 24px -15px #003d6380,0 5px 0 #b9d4e3}

/* Employee request and approval workflow */
.request-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border-left:4px solid var(--teal)}.request-intro h2{margin:5px 0 6px;font-size:23px}.request-intro p,.request-form-panel .panel-title p,.request-list-panel .panel-title p{margin:0;color:var(--muted);font-size:13px}.request-kicker{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--teal)}.request-count{min-width:140px;padding:14px 18px;border-radius:12px;background:#eaf7f6;text-align:center;color:#087f86}.request-count b{display:block;font-size:27px}.request-count span{font-size:11px}.request-layout{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.5fr);gap:20px;align-items:start}.request-form-panel,.request-list-panel{min-width:0}.request-form fieldset{border:1px solid var(--line);border-radius:10px;padding:4px 16px 14px;margin:10px 0 14px}.request-form legend{font-size:12px;font-weight:700;color:var(--text);padding:0 6px}.request-form label{margin:12px 0}.request-form .form-grid{gap:0 14px}.request-help{font-size:12px;line-height:1.6;color:var(--muted);background:#f5f8fb;padding:10px 12px;border-radius:8px}.request-admin-note{padding:30px 12px}.request-card{padding:18px 0;border-top:1px solid var(--line)}.request-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.request-card h3{font-size:15px;margin:7px 0}.request-type-pill{display:inline-block;border-radius:999px;padding:4px 9px;background:#edf5fb;color:#255b80;font-size:11px;font-weight:650}.request-status{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:650}.request-status.menunggu{background:#fff4d9;color:#9a6713}.request-status.disetujui{background:#def5eb;color:#16775c}.request-status.ditolak{background:#ffebeb;color:#a5383d}.request-card>p{font-size:13px;line-height:1.6;margin:7px 0 12px;overflow-wrap:anywhere}.request-facts{display:flex;flex-wrap:wrap;gap:10px 18px}.request-facts span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.request-facts b{display:block;color:var(--text);font-size:10px;margin-bottom:3px}.request-receipt{display:inline-block;margin-top:12px;font-size:12px}.approval-note{border-left:3px solid #e1a638;background:#fff9ec;padding:10px 12px!important;margin-top:12px!important}.request-decision{margin-top:14px;padding:13px;background:#f6f9fc;border-radius:10px}.request-decision label{margin:0 0 10px;font-size:12px}.request-decision>div{display:flex;gap:8px}.button-danger{background:#bd4851}.button-danger:hover{background:#9e3841}
+@media(max-width:980px){.request-layout{grid-template-columns:1fr}.request-form-panel{order:1}.request-list-panel{order:2}}
+@media(max-width:700px){.request-intro{padding:18px;align-items:flex-start}.request-intro h2{font-size:19px}.request-count{min-width:100px;padding:10px}.request-count b{font-size:22px}.request-count span{font-size:10px}.request-card-top{flex-wrap:wrap}.request-status{font-size:10px}.request-facts{gap:10px 14px}}
.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button-light{background:#f3f7fa!important;color:#137f91!important;border:1px solid #dce8ee!important}.attendance-month-table{max-height:680px;overflow:auto}.attendance-month-table thead th{position:sticky;top:0;background:#f7f9fb;z-index:1}.filters input[type=month]{min-width:175px}
@media(max-width:700px){.panel-actions{width:100%;justify-content:flex-start}.panel-title:has(.panel-actions){align-items:flex-start;flex-wrap:wrap}.attendance-month-table{max-height:70vh}}
.nav-group{margin:0 13px 5px}.nav-group .nav-parent{margin:0 -0px 2px}.nav-subnav{padding:1px 0 4px 33px}.nav-subnav a{display:block;color:#aeb6c2;padding:7px 10px;margin:1px 0;border-radius:3px;font-size:12px}.nav-subnav a.active{color:#fff;background:#34475b}.nav-subnav a:hover{color:#fff;background:#34475b}.attendance-tabs{display:flex;gap:8px;margin-bottom:16px}.attendance-tabs a{padding:10px 15px;border:1px solid #dfe6ed;background:#fff;color:#506176;border-radius:6px;font-size:13px}.attendance-tabs a.active{background:#eaf6f7;color:#057f8d;border-color:#a9dfe0;font-weight:650}.daily-attendance-grid .panel{min-width:0}.attendance-month-filter{align-items:end;max-width:390px}.attendance-month-filter button{margin-bottom:17px}.attendance-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:4px 0 14px;color:#59697b;font-size:12px}.attendance-legend span{display:flex;align-items:center;gap:5px}.attendance-legend b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;background:#edf2f7;color:#27384c}.attendance-matrix-wrap{max-height:68vh;overflow:auto;border:1px solid #e6ebf0;border-radius:5px}.attendance-matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.attendance-matrix th,.attendance-matrix td{padding:7px 5px;text-align:center;border-right:1px solid #edf0f4;min-width:35px}.attendance-matrix th{position:sticky;top:0;z-index:3;background:#f5f8fb}.attendance-matrix th:first-child,.attendance-matrix td:first-child{min-width:180px;text-align:left}.attendance-matrix th:nth-child(2),.attendance-matrix td:nth-child(2){min-width:115px;text-align:left}.attendance-matrix .sticky-col{position:sticky;z-index:2;background:#fff}.attendance-matrix thead .sticky-col{z-index:4;background:#f5f8fb}.attendance-matrix .sticky-one{left:0}.attendance-matrix .sticky-two{left:180px}.attendance-matrix .day-head{font-size:11px;min-width:34px}.attendance-code{font-size:12px;font-weight:700}.attendance-code.code-H{color:#087d5e;background:#e4f6ef}.attendance-code.code-I{color:#1873ae;background:#e8f3fb}.attendance-code.code-S{color:#ad6b0b;background:#fff4d9}.attendance-code.code-A{color:#9a4650;background:#fff0f1}
@media(max-width:700px){.attendance-tabs a{flex:1;text-align:center;padding:9px 6px}.attendance-matrix th:first-child,.attendance-matrix td:first-child{min-width:145px}.attendance-matrix .sticky-two{left:145px}.attendance-matrix th:nth-child(2),.attendance-matrix td:nth-child(2){min-width:95px}.attendance-month-filter{max-width:none}.attendance-month-filter button{margin:0 0 17px}}
/* Request filters and admin-only request recaps. */
.request-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 16px;padding:2px}.request-tabs a{flex:0 0 auto;padding:9px 13px;border:1px solid #dfe6ed;background:#fff;color:#506176;border-radius:7px;font-size:12px}.request-tabs a.active{background:#eaf6f7;color:#057f8d;border-color:#a9dfe0;font-weight:700}.request-recap-panel{margin-bottom:18px}.request-recap-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.request-recap-heading h2{font-size:18px;margin:4px 0}.request-recap-heading p{margin:0;color:var(--muted);font-size:12px}.request-period{display:flex;align-items:end;gap:8px}.request-period label{margin:0 0 10px;font-size:12px;color:var(--muted)}.request-period input{min-width:150px}.request-period button{margin:0 0 0}.request-recap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.request-recap-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#fff,#f9fbfd)}.request-recap-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.request-recap-card h3{font-size:14px;margin:0;color:#183754}.request-recap-card>div:first-child span{font-size:10px;color:var(--muted)}.request-recap-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.request-recap-metrics>span{font-size:10px;color:var(--muted);padding:9px;border-radius:8px;background:#f2f6f9}.request-recap-metrics b{display:block;color:#173452;font-size:18px;margin-bottom:2px}.request-recap-metrics .request-recap-money{grid-column:1/-1}.request-recap-metrics .request-recap-money b{font-size:16px;color:#087f86}.request-recap-card>a{font-size:11px;font-weight:650}.request-recap-card .request-recap-metrics>span:last-child:nth-child(5){grid-column:1/-1}@media(max-width:980px){.request-recap-grid{grid-template-columns:1fr 1fr}.request-recap-grid .request-recap-card:last-child:nth-child(odd){grid-column:1/-1}}@media(max-width:700px){.request-tabs{margin:0 -2px 12px}.request-tabs a{padding:8px 10px;font-size:11px}.request-recap-heading{align-items:stretch;flex-direction:column}.request-period{display:grid;grid-template-columns:auto 1fr auto;align-items:end}.request-period label{margin-bottom:10px}.request-period input{min-width:0;width:100%}.request-recap-grid{grid-template-columns:1fr}.request-recap-grid .request-recap-card:last-child:nth-child(odd){grid-column:auto}.request-recap-card{padding:13px}.request-recap-metrics{gap:7px}.request-recap-metrics>span{padding:8px}}
/* Link buttons inside panel headings need to override the generic link color. */
a.button{color:#fff!important}a.button-light{color:#137f91!important}
.to-recap-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 18px}.to-recap-stats article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;box-shadow:0 3px 9px #133f6704;color:var(--text);gap:10px;align-items:flex-start;flex-wrap:nowrap}.to-recap-stats .stat-icon{width:38px;height:40px;display:grid;place-items:center;border-radius:11px;background:#e6f4fb;color:#1681cb;font-size:23px}.to-recap-stats .teal .stat-icon{background:#e0f6ef;color:#10865e}.to-recap-stats .amber .stat-icon{background:#fff3d4;color:#b77b00}.to-recap-stats .navy .stat-icon{background:#eaf0f6;color:#233951}.to-recap-stats article>div>span{font-size:11px;display:block}.to-recap-stats strong{font-size:27px;display:block;font-weight:750;color:#152f4d}.to-matrix .day-head{min-width:70px}.to-day-cell{min-width:70px;font-size:11px;line-height:1.35}.to-day-cell small{font-size:10px;margin:0}.to-day-cell.complete{background:#e7f6ef;color:#087d5e}.to-day-cell.partial{background:#fff5df;color:#9a6713}.to-day-cell.pending{background:#fff0f1;color:#9a4650}.to-total-head,.to-total-cell{min-width:76px!important;font-weight:650}.to-total-cell{background:#fbfcfd;font-size:12px}@media(max-width:700px){.to-recap-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.to-recap-stats article{padding:12px 9px;gap:7px}.to-recap-stats .stat-icon{width:32px;height:34px;font-size:19px}.to-recap-stats strong{font-size:22px}}
.user-intro .panel-actions{align-items:center}.user-management-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.8fr);gap:18px;align-items:start}.user-management-grid>.panel{margin-bottom:0}.user-filters{display:grid;grid-template-columns:1.4fr .8fr .8fr auto;gap:10px;align-items:end;margin-bottom:16px}.user-filters label{margin:0}.user-filters button{margin-bottom:0}.users-table td{vertical-align:top}.users-table td small{margin-top:4px;overflow-wrap:anywhere}.user-state{display:inline-block;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:650}.user-state.active{background:#e4f6ef;color:#087d5e}.user-state.inactive{background:#fff0f1;color:#9a4650}.user-actions{min-width:170px}.user-actions details summary{cursor:pointer;color:#087f8c;font-size:12px;font-weight:600;white-space:nowrap}.user-edit-box{position:absolute;z-index:5;right:24px;max-width:min(440px,90vw);padding:18px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px #102d4530}.user-edit-box label{margin:9px 0;font-size:12px}.user-edit-box input,.user-edit-box select{padding:8px 10px}.user-edit-box button,.user-actions button{padding:8px 10px;font-size:11px;white-space:nowrap}.user-reset-form{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.user-reset-form small{margin-top:5px}.user-status-form{margin-top:8px}.user-actions .button-danger{background:#bd4851}.user-actions button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:1000px){.user-management-grid{grid-template-columns:1fr}.user-filters{grid-template-columns:1fr 1fr}.user-edit-box{right:14px}}@media(max-width:650px){.user-filters{grid-template-columns:1fr}.user-filters button{margin:0 0 10px}.user-intro{align-items:flex-start;flex-wrap:wrap}.user-edit-box{position:fixed;left:5vw;right:5vw;max-width:90vw;max-height:85vh;overflow:auto;top:10vh}}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;margin-top:16px}.attendance-policy-card{margin:0;min-width:0}.attendance-policy-card h3{margin:0;color:#173b55}.attendance-policy-card .panel-title{align-items:flex-start}.policy-lock{display:flex!important;align-items:center;gap:9px;padding:12px;background:#f2f7fa;border-radius:8px}.policy-lock input{width:18px;height:18px}.policy-form .form-grid{margin:14px 0}.policy-form .meta{margin-bottom:0}.attendance-tabs{flex-wrap:wrap}
.attendance-recap-panel>.notice{margin:12px 0 16px;padding:12px 14px;border-left:3px solid #078b99;border-radius:6px;background:#edf6fa;color:#38546a;font-size:13px}
.policy-unit-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.policy-unit-filter label{min-width:min(280px,100%);margin:0}.policy-unit-filter button{margin:0 0 1px}.policy-unit-group{margin-top:20px}.policy-unit-group>h3{display:flex;align-items:center;gap:9px;margin:0 0 9px;color:#193b55;font-size:15px}.policy-unit-group>h3 small{color:#7d8ea1;font-size:12px;font-weight:500}.policy-list{width:100%;min-width:680px}.policy-list th,.policy-list td{vertical-align:top}.policy-list td:first-child{min-width:190px}.policy-list td:nth-child(3){font-variant-numeric:tabular-nums;line-height:1.55}.policy-editor summary{cursor:pointer;color:#087f8c;font-size:12px;font-weight:650;white-space:nowrap}.policy-editor[open] form{position:relative;z-index:2;min-width:min(560px,75vw);padding:14px;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #102d451a}.policy-editor .policy-lock{margin:0}.policy-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-editor .form-grid label:last-child{grid-column:1/-1}.policy-editor .meta{margin-bottom:0}
@media(max-width:650px){.policy-unit-filter{align-items:stretch}.policy-unit-filter label{flex:1 1 100%}.policy-unit-filter button{margin-bottom:0}.policy-editor[open] form{position:static;min-width:0;width:min(84vw,450px);box-shadow:0 6px 18px #102d4518}}
.policy-list{min-width:1020px}.policy-list th,.policy-list td{vertical-align:middle}.policy-list td:first-child{min-width:205px}.policy-list td:nth-child(2){min-width:130px}.policy-list td:nth-child(3),.policy-list td:nth-child(4){min-width:165px}.policy-list td:nth-child(5){min-width:120px}.policy-inline-lock{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#51657a;font-size:12px}.policy-inline-lock input{width:17px;height:17px;accent-color:#058b98}.policy-inline-input,.policy-inline-radius{margin:0!important;padding:8px 9px!important;height:37px;min-width:0}.policy-inline-input{width:145px}.policy-inline-radius{width:90px}.policy-inline-form{display:flex;gap:6px;margin:0}.policy-inline-form button{padding:8px 11px;font-size:12px;white-space:nowrap}.policy-inline-form .button-light{background:#eef7f8}
.dashboard-filters input[type=month]{margin:0;min-width:155px;font-size:12px;padding:10px 12px;border:1px solid #d9e6f5;box-shadow:0 2px 5px #123b6705;border-radius:6px;color:var(--text);background:#fff}
@media(max-width:700px){.dashboard-filters input[type=month]{min-width:0;width:100%;font-size:13px;min-height:43px}}
