:root{--sky:#0b8cff;--sky2:#006bdc;--sky3:#bde7ff;--ink:#101a2f;--muted:#64748b;--paper:#fff;--soft:#edf8ff;--line:#c7e8ff;--green:#16a34a;--red:#e51f44;--yellow:#ffd331;--shadow:0 18px 45px rgba(2,84,162,.22);--radius:24px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"SF Pro Display","Segoe UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#e4f6ff 0%,#fff 35%,#dff3ff 100%)}body:before,body:after{content:"";position:fixed;left:0;right:0;height:140px;pointer-events:none;z-index:-1;background:radial-gradient(circle at 10% 40%,rgba(255,255,255,.95) 0 36px,transparent 38px),radial-gradient(circle at 30% 55%,rgba(255,255,255,.92) 0 50px,transparent 52px),radial-gradient(circle at 74% 45%,rgba(255,255,255,.88) 0 48px,transparent 51px)}body:before{top:0}body:after{bottom:0;transform:rotate(180deg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.site-wrap{width:100%;max-width:760px;margin:0 auto;padding:0 14px 18px}.top-hero{position:relative;overflow:hidden;margin:0 -14px 14px;padding:22px 22px 34px;border-bottom-left-radius:46px;border-bottom-right-radius:46px;background:linear-gradient(135deg,#05a9ff 0%,#087ae4 52%,#0058ca 100%);color:#fff;box-shadow:0 16px 35px rgba(0,99,205,.28)}.top-hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-55px;height:95px;background:#fff;border-radius:50% 50% 0 0/90% 90% 0 0;opacity:.96}.hero-row{position:relative;z-index:2;display:flex;align-items:flex-start;gap:18px}.hamb{width:58px;height:58px;border:0;border-radius:18px;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);cursor:pointer}.brand-title{font-family:"Arial Rounded MT Bold","Trebuchet MS",Inter,sans-serif;font-size:clamp(32px,8vw,58px);line-height:.95;margin:0;text-shadow:0 5px 0 rgba(4,67,149,.28),0 0 1px #004fbb;letter-spacing:-1.2px}.brand-sub{font-size:clamp(15px,3vw,22px);margin:9px 0 0;opacity:.98}.hero-mascot{position:absolute;right:6px;top:2px;width:190px;max-width:32%;z-index:3;filter:drop-shadow(0 10px 14px rgba(0,53,135,.28))}.profile-card{position:relative;z-index:4;margin-top:-25px;background:linear-gradient(180deg,#fff 0%,#f8fcff 100%);border:1.5px solid rgba(49,157,255,.25);border-radius:28px;padding:22px;display:grid;grid-template-columns:160px 1fr auto;gap:22px;align-items:center;box-shadow:var(--shadow);overflow:hidden}.profile-card:before{content:"";position:absolute;right:-30px;top:-5px;width:190px;height:190px;background:radial-gradient(circle at 50% 50%,#d8efff 0 34%,transparent 35%),radial-gradient(circle at 80% 40%,#e9f7ff 0 24%,transparent 25%);opacity:.88}.profile-avatar{position:relative;width:160px;height:160px;border-radius:50%;padding:7px;background:#fff;border:5px solid #158dff;box-shadow:0 10px 18px rgba(0,96,197,.22)}.profile-avatar img,.face-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.bell-dot{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff4a6 0 12%,#ffd331 13% 66%,#efaa00 67%);border:3px solid #6c4a00;box-shadow:0 6px 10px rgba(0,68,145,.24)}.bell-dot:after{content:"";position:absolute;left:10px;right:10px;top:23px;height:4px;border-radius:3px;background:#6c4a00}.hello{font-size:22px;margin:0 0 8px}.emp-name{font-family:"Arial Rounded MT Bold",Inter,sans-serif;font-size:clamp(29px,5vw,42px);color:#0873df;margin:0 0 14px;letter-spacing:-.6px}.emp-meta{display:flex;align-items:center;gap:10px;margin:10px 0;color:#1e293b;font-size:20px}.emp-meta svg{color:#0873df;flex:0 0 auto}.date-pill{position:relative;z-index:2;display:flex;align-items:center;gap:12px;border:0;border-radius:18px;padding:15px 20px;background:linear-gradient(180deg,#188fff,#0870da);color:#fff;font-weight:900;font-size:20px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18),0 10px 16px rgba(4,104,213,.24);white-space:nowrap}.content-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;margin-top:14px}.panel{position:relative;border-radius:24px;border:2px solid #9bd4ff;background:#fff;box-shadow:var(--shadow);overflow:hidden}.panel-head{height:76px;background:linear-gradient(135deg,#08a8ff 0%,#0870da 100%);color:#fff;display:flex;align-items:center;gap:14px;padding:0 22px;font-weight:950;font-size:27px;text-shadow:0 2px 0 rgba(0,83,181,.3)}.panel-head svg{width:34px;height:34px}.panel-prop{position:absolute;right:12px;top:9px;width:72px;z-index:3}.status-body{padding:14px}.dash-box{min-height:218px;border:2px dashed #8ccfff;border-radius:18px;background:linear-gradient(180deg,#f7fdff 0%,#edf9ff 100%);display:flex;align-items:center;gap:20px;padding:22px;position:relative;overflow:hidden}.dash-box:after{content:"";position:absolute;left:-30px;right:-30px;bottom:-45px;height:90px;border:3px solid #39aefa;border-top:0;border-radius:50% 50% 0 0/90% 90% 0 0;background:linear-gradient(180deg,rgba(69,184,255,.2),rgba(0,136,230,.95))}.status-check{width:82px;height:82px;border-radius:50%;background:linear-gradient(180deg,#2fd465,#13a442);color:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 8px 14px rgba(12,148,62,.28);border:6px solid #e9fff1}.status-copy{position:relative;z-index:2}.status-copy strong{display:block;color:#0d9a35;font-size:25px}.status-copy span{display:block;margin-top:8px;font-size:18px;line-height:1.35}.face-body{padding:16px 18px 18px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}.face-frame{border-radius:18px;height:210px;position:relative;display:grid;place-items:center;background:linear-gradient(180deg,#f9fcff,#ecf6ff);overflow:hidden}.face-frame:before,.face-frame:after{content:"";position:absolute;width:42px;height:42px;border:7px solid #158dff}.face-frame:before{left:8px;top:8px;border-right:0;border-bottom:0;border-radius:18px 0 0 0}.face-frame:after{right:8px;bottom:8px;border-left:0;border-top:0;border-radius:0 0 18px 0}.face-photo{width:178px;height:178px;border-radius:6px;overflow:hidden}.face-side{text-align:center;font-size:20px;line-height:1.3}.mini-mascot{width:92px;margin:14px auto 0;display:block}.action-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.action-btn{border:0;border-radius:20px;color:#fff;font-size:24px;font-weight:950;display:flex;align-items:center;justify-content:center;gap:12px;padding:17px 12px;cursor:pointer;box-shadow:inset 0 -5px 0 rgba(0,0,0,.17),0 7px 11px rgba(0,95,180,.2);transition:.2s ease}.action-btn:hover,.nav-item:hover,.admin-btn:hover{transform:translateY(-1px)}.btn-in{background:linear-gradient(180deg,#1696ff,#0368d4)}.btn-out{background:linear-gradient(180deg,#ff4b67,#d91539)}.map-panel{margin-top:18px}.map-body{position:relative;min-height:300px;background:#e8f4ff}.map-body iframe{width:100%;height:300px;border:0;display:block;filter:saturate(1.05)}.map-info{position:absolute;right:22px;top:24px;width:310px;background:rgba(255,255,255,.94);border-radius:18px;padding:18px 18px 14px;box-shadow:0 12px 28px rgba(0,50,100,.18);backdrop-filter:blur(8px)}.map-info h3{margin:0 0 6px;color:#15983a;font-size:20px}.map-row{display:flex;gap:12px;border-top:1px solid #d7e7f3;padding-top:13px;margin-top:13px;line-height:1.45}.map-row svg{color:#1d8ff7;flex:0 0 auto}.map-dot{display:inline-flex;align-items:center;gap:8px}.map-dot:before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:#198cf8}.history-panel{margin-top:18px}.history-head{display:flex;align-items:center;justify-content:space-between}.see-all{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px;opacity:.95}.history-list{background:#fff}.history-row{display:grid;grid-template-columns:1.1fr 1.35fr 1.35fr .75fr 28px;align-items:center;gap:10px;min-height:76px;border-bottom:1px solid #d9e8f5;padding:10px 22px;font-size:16px}.history-row:last-child{border-bottom:0}.day strong{display:block}.inout{display:flex;align-items:center;gap:10px;color:var(--green);font-weight:900}.inout.out{color:var(--red)}.sq-icon{width:36px;height:36px;border-radius:12px;border:2px solid currentColor;display:grid;place-items:center}.inout small{display:block;color:#334155;font-weight:500;font-size:14px}.badge-ok{background:#dcf8e8;color:#16803b;border-radius:13px;padding:9px 18px;text-align:center;font-weight:900}.bottom-nav{position:sticky;bottom:8px;z-index:20;margin:18px 8px 0;background:linear-gradient(180deg,#fff,#f5fbff);border:2px solid #92ccff;border-radius:30px;box-shadow:0 12px 28px rgba(0,91,185,.2);height:92px;display:grid;grid-template-columns:1fr 1fr 110px 1fr 1fr;align-items:center}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#475569;font-size:15px;font-weight:700;transition:.2s ease}.nav-item svg{width:32px;height:32px}.nav-item.active{color:#006de1}.nav-bell{width:96px;height:96px;border-radius:50%;background:linear-gradient(180deg,#15a2ff,#0474dc);display:grid;place-items:center;margin-top:-40px;justify-self:center;box-shadow:0 12px 20px rgba(0,105,214,.32);border:5px solid #75c9ff}.nav-bell span{width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 20%,#fff49f 0 12%,#ffd331 13% 66%,#eda600 67%);border:3px solid #6e4a00;display:grid;place-items:center;color:#6e4a00}.page-card{margin-top:16px;padding:20px;border-radius:24px;background:#fff;border:2px solid #9bd4ff;box-shadow:var(--shadow)}.page-title{margin:0 0 14px;color:#0873df;font-size:28px;font-weight:950}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:#f2fbff;border:1px solid #cbefff;border-radius:18px;padding:16px;text-align:center}.stat-card b{display:block;font-size:30px;color:#0873df}.profile-detail{display:grid;gap:12px}.detail-line{display:flex;align-items:flex-start;gap:12px;background:#f5fbff;border:1px solid #d9f0ff;border-radius:16px;padding:14px}.locked-ribbon{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff4cf;color:#7a5200;font-weight:900;font-size:14px}.toast-modal{position:fixed;inset:0;background:rgba(10,25,47,.35);display:none;align-items:center;justify-content:center;padding:20px;z-index:60}.toast-card{max-width:360px;background:#fff;border-radius:24px;padding:24px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.22);border:2px solid #d7efff}.toast-card .big{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#fff4cf;color:#7a5200}.toast-card h3{margin:0 0 8px;color:#0b70d4}.toast-card p{margin:0 0 18px;line-height:1.5;color:#475569}.toast-card button{border:0;border-radius:14px;background:#0873df;color:#fff;padding:12px 18px;font-weight:900;cursor:pointer}.admin-layout{min-height:100vh;background:#f4f9ff}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:292px;background:#071f42;color:#fff;padding:18px;z-index:50;transition:.25s ease;box-shadow:16px 0 40px rgba(1,18,42,.22)}.admin-brand{padding:10px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand h1{margin:0;font-size:23px}.admin-brand p{margin:6px 0 0;color:#add8ff}.admin-close{display:none;position:absolute;right:15px;top:15px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:12px;width:42px;height:42px}.admin-menu{display:grid;gap:8px;margin-top:18px}.admin-menu a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:14px;color:#dbeafe;font-weight:800}.admin-menu a.active,.admin-menu a:hover{background:#0b75e8;color:#fff}.admin-main{margin-left:292px;padding:20px 24px 50px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-top h2{margin:0;font-size:30px;color:#082047}.admin-toggle{display:none;border:0;border-radius:14px;background:#0b75e8;color:#fff;width:48px;height:48px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-card{background:#fff;border:1px solid #d7e9f8;border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(8,48,94,.08)}.admin-card h3{margin:0 0 10px;color:#0b2447}.admin-card.big{grid-column:span 2}.admin-card.full{grid-column:1/-1}.metric{font-size:34px;font-weight:950;color:#0b75e8}.admin-form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;font-weight:900;color:#334155;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;border:1.5px solid #cfe4f6;border-radius:14px;padding:12px 13px;background:#fbfeff;outline:none}.field textarea{min-height:100px;resize:vertical}.admin-btn{border:0;border-radius:14px;padding:12px 16px;background:#0b75e8;color:#fff;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s ease}.admin-btn.gray{background:#334155}.admin-btn.red{background:#e11d48}.admin-btn.green{background:#13a047}.admin-btn.yellow{background:#f4bd16;color:#241a00}.btn-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.table-wrap{overflow:auto;border:1px solid #d9e9f8;border-radius:18px}.admin-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.admin-table th,.admin-table td{border-bottom:1px solid #e4eff8;padding:12px;text-align:left;vertical-align:top}.admin-table th{background:#f1f8ff;color:#0b2447;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.admin-table tr:last-child td{border-bottom:0}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e7f6ff,#fff 45%,#ccecff);padding:20px}.login-box{width:100%;max-width:420px;background:#fff;border:1px solid #d7eaff;border-radius:28px;box-shadow:0 22px 60px rgba(0,83,166,.15);padding:28px}.login-box h1{margin:0 0 6px;color:#0873df}.alert{border-radius:14px;padding:12px 14px;margin:0 0 14px;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.alert.warn{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.alert.err{background:#fef2f2;color:#991b1b;border-color:#fecaca}.admin-footer{margin-top:24px;text-align:center;color:#64748b;font-weight:800}.only-mobile{display:none}.admin-note{background:#fff8de;border:1px solid #ffe69d;color:#795700;border-radius:18px;padding:14px;line-height:1.45}.hide{display:none!important}@media(max-width:820px){.site-wrap{max-width:560px}.profile-card{grid-template-columns:112px 1fr;padding:18px;gap:15px}.profile-avatar{width:112px;height:112px}.date-pill{grid-column:1/-1;justify-content:center;font-size:16px;padding:13px}.content-grid{grid-template-columns:1fr}.hero-mascot{width:134px;max-width:37%;top:4px}.brand-title{max-width:73%}.face-body{grid-template-columns:1fr}.map-info{position:relative;right:auto;top:auto;width:auto;margin:14px}.map-body iframe{height:240px}.history-row{grid-template-columns:1fr 1fr;gap:8px}.history-row .badge-ok,.history-row .chev{display:none}.bottom-nav{height:82px;grid-template-columns:1fr 1fr 96px 1fr 1fr}.nav-bell{width:84px;height:84px}.nav-bell span{width:64px;height:64px}.admin-sidebar{transform:translateX(-105%)}.admin-sidebar.open{transform:translateX(0)}.admin-close,.admin-toggle{display:grid;place-items:center}.admin-main{margin-left:0;padding:15px}.admin-grid{grid-template-columns:1fr}.admin-card.big{grid-column:auto}.form-grid{grid-template-columns:1fr}.admin-top h2{font-size:24px}.only-mobile{display:block}}@media(max-width:460px){.top-hero{padding:18px 14px 30px}.hamb{width:48px;height:48px}.brand-sub{font-size:14px}.profile-card{margin-top:-20px}.hello{font-size:17px}.emp-name{font-size:27px}.emp-meta{font-size:16px}.panel-head{height:62px;font-size:22px}.dash-box{min-height:170px;padding:16px}.status-check{width:64px;height:64px}.status-copy strong{font-size:20px}.status-copy span{font-size:15px}.face-frame{height:190px}.action-btn{font-size:18px;padding:14px 8px}.map-info{font-size:14px}.history-row{font-size:14px;padding:9px 14px}.bottom-nav{margin-left:0;margin-right:0;border-radius:24px}.nav-item{font-size:12px}.nav-item svg{width:26px;height:26px}.hero-mascot{opacity:.96}}

/* === SINU PATCH: visual mobile dibuat sedekat mungkin dengan gambar referensi === */
body{font-family:"Nunito","Baloo 2","Arial Rounded MT Bold",Arial,sans-serif;background:linear-gradient(180deg,#effaff 0%,#ffffff 42%,#dff4ff 100%)}
.site-wrap{max-width:440px;padding:0 8px 10px;}
.top-hero{min-height:134px;margin:0 -8px 8px;padding:18px 17px 38px;border-bottom-left-radius:34px;border-bottom-right-radius:34px;background:linear-gradient(135deg,#09afff 0%,#0588ea 48%,#0065d9 100%);box-shadow:none;}
.top-hero:after{left:-12%;right:-12%;bottom:-48px;height:78px;background:#fff;border-radius:50% 50% 0 0/68% 68% 0 0;opacity:.98;}
.hero-row{gap:12px;align-items:flex-start;}
.hamb{width:42px;height:42px;background:transparent;box-shadow:none;border-radius:10px;margin-top:1px;padding:0;}
.hamb svg{width:38px;height:38px;filter:drop-shadow(0 2px 1px rgba(0,66,150,.35));}
.brand-title{font-family:"Baloo 2","Arial Rounded MT Bold",cursive;font-size:36px;line-height:.84;letter-spacing:-1px;text-shadow:0 3px 0 rgba(0,74,158,.32),0 0 1px rgba(0,58,145,.8);white-space:nowrap;}
.brand-sub{font-family:"Nunito",Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:-.1px;margin-top:10px;white-space:nowrap;text-shadow:0 1px 1px rgba(0,55,130,.16);}
.hero-mascot{width:164px;max-width:none;right:40px;top:0;filter:drop-shadow(0 7px 8px rgba(0,55,145,.24));}
.hero-door{position:absolute;right:8px;top:24px;width:62px;z-index:4;filter:drop-shadow(0 4px 8px rgba(0,75,160,.22));}
.profile-card{margin-top:-24px;min-height:124px;grid-template-columns:108px 1fr 128px;gap:8px;padding:13px 14px 12px;border-radius:22px;border:1.5px solid #a8dcff;box-shadow:0 7px 16px rgba(9,116,215,.18);overflow:visible;}
.profile-card:before{right:-10px;top:9px;width:96px;height:96px;opacity:.55;}
.profile-avatar{width:98px;height:98px;border-width:3px;padding:3px;box-shadow:0 5px 10px rgba(0,96,197,.2);}
.profile-avatar img{border-radius:50%;object-fit:cover;}
.bell-dot{width:36px;height:32px;bottom:-15px;border-width:2px;}
.bell-dot:after{left:8px;right:8px;top:16px;height:3px;}
.hello{font-size:16px;line-height:1;margin:0 0 7px;font-weight:700;color:#101827;}
.emp-name{font-family:"Baloo 2","Arial Rounded MT Bold",cursive;font-size:23px;line-height:.96;margin:0 0 8px;color:#0873df;letter-spacing:-.35px;text-shadow:0 1px 0 rgba(255,255,255,.65);white-space:nowrap;}
.emp-meta{font-size:13px;line-height:1.05;margin:7px 0;gap:7px;font-weight:700;white-space:nowrap;}
.emp-meta svg{width:16px;height:16px;color:#0879e8;}
.date-pill{align-self:center;justify-self:end;gap:7px;border-radius:12px;padding:10px 11px;font-size:13px;font-weight:900;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18),0 5px 9px rgba(4,104,213,.22);}
.date-pill svg{width:20px;height:20px;}
.content-grid{display:grid!important;grid-template-columns:.84fr 1.16fr!important;gap:8px;margin-top:8px;}
.panel{border-radius:19px;border:1.5px solid #92d1ff;box-shadow:0 7px 15px rgba(7,111,213,.17);}
.panel-head{height:48px;padding:0 12px;gap:8px;font-family:"Baloo 2","Arial Rounded MT Bold",cursive;font-size:17px;line-height:1;font-weight:800;text-shadow:0 1.5px 0 rgba(0,83,181,.25);}
.panel-head svg{width:25px;height:25px;}
.panel-prop{right:10px;top:7px;width:44px;}
.door-prop{width:48px;right:14px;top:6px;}
.fly-prop{width:48px;right:12px;top:7px;}
.status-body{padding:7px;}
.dash-box{min-height:158px;border-radius:13px;border-width:1.5px;gap:9px;padding:12px 10px 28px;align-items:center;}
.dash-box:after{left:-18px;right:-18px;bottom:-40px;height:70px;border-width:2px;background:linear-gradient(180deg,rgba(80,190,255,.16),rgba(0,136,230,.97));}
.status-check{width:54px;height:54px;border-width:4px;box-shadow:0 4px 8px rgba(12,148,62,.24);}
.status-check svg{width:34px;height:34px;}
.status-copy strong{font-family:"Baloo 2",cursive;font-size:15.5px;line-height:1.1;white-space:nowrap;}
.status-copy span{font-size:12.7px;line-height:1.33;margin-top:4px;font-weight:700;color:#1f2937;}
.face-body{padding:9px 8px 10px;display:grid!important;grid-template-columns:1.14fr .86fr!important;gap:8px;align-items:center;}
.face-frame{height:136px;border-radius:14px;background:linear-gradient(180deg,#f9fcff,#eef7ff);}
.face-frame:before,.face-frame:after{width:28px;height:28px;border-width:4px;}
.face-frame:before{left:4px;top:4px;border-radius:10px 0 0 0;}
.face-frame:after{right:4px;bottom:4px;border-radius:0 0 10px 0;}
.face-photo{width:116px;height:116px;border-radius:8px;}
.face-photo img{border-radius:8px;object-fit:cover;object-position:center top;}
.face-side{font-size:13px;font-weight:700;line-height:1.32;text-align:center;color:#1f2937;}
.mini-mascot{width:62px;margin:10px auto 0;}
.action-row{gap:8px;margin-top:0;}
.action-btn{border-radius:15px;font-size:15px;line-height:1;font-weight:900;padding:12px 6px;gap:6px;min-height:44px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18),0 4px 8px rgba(0,95,180,.18);}
.action-btn svg{width:19px;height:19px;}
.map-panel{margin-top:9px;}
.map-body{min-height:214px;background:#e8f4ff;}
.map-shot{height:206px;overflow:hidden;background:#e8f4ff;}
.map-shot img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block;}
.map-info{right:8px;top:58px;width:162px;border-radius:13px;padding:10px 9px 9px;background:rgba(255,255,255,.95);box-shadow:0 7px 15px rgba(0,50,100,.16);}
.map-info h3{font-family:"Baloo 2",cursive;font-size:13px;line-height:1;margin:0 0 4px;white-space:nowrap;}
.map-info svg{width:25px;height:25px;}
.map-dot{font-size:10px;font-weight:700;gap:5px;}
.map-dot:before{width:7px;height:7px;}
.map-row{gap:6px;font-size:10px;line-height:1.35;padding-top:8px;margin-top:8px;}
.map-row svg{width:18px;height:18px;}
.locked-ribbon{font-size:9px;padding:5px 7px;gap:4px;margin-top:0;}
.history-panel{margin-top:9px;}
.history-head{font-size:16px!important;}
.see-all{font-family:"Nunito",Arial,sans-serif;font-size:12px;font-weight:800;}
.history-row{min-height:50px;grid-template-columns:.98fr 1.12fr 1.12fr .66fr 13px;gap:5px;padding:7px 14px;font-size:11.3px;}
.day strong{font-size:11.8px;line-height:1.1;}
.day span{display:block;line-height:1.1;}
.inout{gap:6px;font-size:11.5px;line-height:1.05;}
.inout small{font-size:10.3px;margin-top:2px;line-height:1.05;}
.sq-icon{width:27px;height:27px;border-radius:8px;border-width:1.5px;}
.sq-icon svg{width:17px;height:17px;}
.badge-ok{border-radius:10px;padding:6px 9px;font-size:11.5px;}
.chev{font-size:26px;line-height:1;color:#334155;}
.bottom-nav{position:sticky;bottom:5px;height:70px;margin:8px 3px 0;border-radius:22px;border:1.5px solid #91ccff;grid-template-columns:1fr 1fr 86px 1fr 1fr;box-shadow:0 8px 18px rgba(0,91,185,.18);}
.nav-item{gap:3px;font-size:11.5px;line-height:1;font-weight:800;}
.nav-item svg{width:30px;height:30px;}
.nav-bell{width:78px;height:78px;margin-top:-31px;border-width:4px;}
.nav-bell span{width:61px;height:61px;border:0;background:transparent;box-shadow:none;overflow:hidden;}
.nav-bell img{width:100%;height:100%;object-fit:contain;}
.page-card{margin-top:9px;border-radius:19px;padding:14px;box-shadow:0 7px 15px rgba(7,111,213,.17);}
.page-title{font-family:"Baloo 2",cursive;font-size:21px;}
.report-grid{gap:8px;}
.stat-card{padding:10px;border-radius:14px;}
.stat-card b{font-size:22px;}
@media(max-width:820px){.site-wrap{max-width:440px}.profile-card{grid-template-columns:108px 1fr 128px!important}.profile-avatar{width:98px!important;height:98px!important}.date-pill{grid-column:auto!important;justify-content:center}.content-grid{grid-template-columns:.84fr 1.16fr!important}.face-body{grid-template-columns:1.14fr .86fr!important}.map-info{position:absolute!important;right:8px!important;top:58px!important;width:162px!important;margin:0!important}.map-shot{height:206px!important}.history-row{grid-template-columns:.98fr 1.12fr 1.12fr .66fr 13px!important}.history-row .badge-ok,.history-row .chev{display:block!important}.hero-mascot{width:164px!important;max-width:none!important;top:0!important}.brand-title{max-width:none!important}}
@media(max-width:390px){.site-wrap{max-width:390px;padding-left:6px;padding-right:6px}.top-hero{margin-left:-6px;margin-right:-6px;padding-left:12px}.brand-title{font-size:32px}.brand-sub{font-size:12.7px}.hero-mascot{width:145px!important;right:35px}.hero-door{width:53px}.profile-card{grid-template-columns:91px 1fr 112px!important;padding:11px 9px}.profile-avatar{width:84px!important;height:84px!important}.emp-name{font-size:19px}.hello{font-size:14px}.emp-meta{font-size:11.3px}.date-pill{font-size:11px;padding:8px 8px}.panel-head{font-size:15px}.status-copy strong{font-size:13.6px}.status-copy span{font-size:11.4px}.face-side{font-size:11.5px}.action-btn{font-size:13px}.history-row{font-size:10px;padding-left:9px;padding-right:9px}.badge-ok{font-size:10px;padding:5px 6px}.map-info{width:150px!important;font-size:9px}.map-row{font-size:9px}.bottom-nav{grid-template-columns:1fr 1fr 78px 1fr 1fr}.nav-bell{width:70px;height:70px}.nav-bell span{width:56px;height:56px}.nav-item{font-size:10.5px}}

/* === SINU PATCH 2026-05-11: rapikan mobile, font tidak nabrak, map real zoom, nav fixed === */
:root{--nav-height:78px}
html,body{overflow-x:hidden;touch-action:manipulation}
.site-wrap{max-width:540px;padding-bottom:112px}
.top-hero{min-height:130px;padding-bottom:36px}
.brand-title{font-size:clamp(29px,6.4vw,36px);max-width:300px;overflow:visible;white-space:nowrap}
.brand-sub{font-size:clamp(12px,2.7vw,15px);max-width:300px;overflow:hidden;text-overflow:clip;white-space:nowrap}
.hero-mascot{width:142px!important;right:12px!important;top:1px!important;z-index:1;opacity:.98}
.hero-door{width:54px;right:4px;top:27px;z-index:5}.hero-row{z-index:6}.hamb{position:relative;z-index:8}
.profile-card{grid-template-columns:96px minmax(0,1fr) auto!important;gap:10px;overflow:hidden;padding-right:10px}
.profile-card>*{min-width:0}.profile-avatar{width:90px!important;height:90px!important}.bell-dot{width:32px;height:30px;bottom:-13px}.hello{font-size:15px}.emp-name{font-size:clamp(19px,4.1vw,24px);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-meta{font-size:clamp(11px,2.6vw,14px);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-pill{font-size:clamp(10.5px,2.4vw,13px);padding:9px 10px;border-radius:12px;max-width:158px}.date-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-pill svg{width:18px;height:18px;flex:0 0 auto}
.content-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;gap:8px}.panel{min-width:0}.panel-head{font-size:clamp(15px,3.2vw,18px);white-space:nowrap;overflow:hidden}.panel-head span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.status-body{padding:8px}.dash-box{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;min-height:168px;padding:12px 9px 34px;align-items:center}.status-check{width:52px;height:52px}.status-copy{min-width:0}.status-copy strong{font-size:clamp(13px,3vw,16px);white-space:normal;line-height:1.12}.status-copy span{font-size:clamp(11px,2.55vw,13px);line-height:1.32;overflow-wrap:break-word}.door-prop{width:43px;right:8px}.face-body{grid-template-columns:minmax(0,1.05fr) minmax(72px,.95fr)!important;gap:8px}.face-frame{height:138px}.face-photo{width:112px;height:112px}.face-side{font-size:clamp(11px,2.75vw,13px);line-height:1.26;min-width:0}.mini-mascot{width:56px}.action-row{gap:7px}.action-btn{font-size:clamp(12.5px,3.1vw,15px);white-space:normal;text-align:center;line-height:1.05;min-width:0}.action-btn svg{flex:0 0 auto}.map-body{min-height:238px;overflow:hidden}.map-shot{height:238px!important;position:relative}.live-map{width:100%;height:100%;min-height:238px;z-index:1;background:#e8f4ff}.leaflet-container{font-family:"Nunito",Arial,sans-serif;touch-action:pan-x pan-y}.leaflet-control-zoom a{font-weight:900!important;color:#0873df!important}.map-info{top:70px!important;width:190px!important;max-width:calc(100% - 18px);z-index:4}.map-info h3{font-size:12.5px}.map-row{font-size:9.8px}.locked-ribbon{display:none}.history-row{grid-template-columns:minmax(54px,.95fr) minmax(78px,1.15fr) minmax(82px,1.15fr) minmax(52px,.65fr) 10px!important;gap:5px;min-width:0}.history-row>*{min-width:0}.day strong,.day span,.inout span,.inout small{overflow:hidden;text-overflow:ellipsis}.inout{min-width:0}.badge-ok{white-space:nowrap}.bottom-nav{position:fixed!important;left:50%;bottom:8px;transform:translateX(-50%);width:min(520px,calc(100vw - 18px));height:74px;margin:0!important;z-index:80}.nav-bell{width:76px;height:76px;margin-top:-30px}.nav-bell span{width:60px;height:60px}.nav-bell img{transform:translateY(-1px);filter:drop-shadow(0 2px 2px rgba(117,74,0,.24))}.nav-item{font-size:clamp(10px,2.5vw,12px)}.nav-item svg{width:28px;height:28px}.page-card{margin-bottom:8px}
.quick-menu{position:fixed;inset:0;z-index:120;display:none}.quick-menu.open{display:block}.quick-backdrop{position:absolute;inset:0;background:rgba(2,28,65,.35);backdrop-filter:blur(3px)}.quick-sheet{position:absolute;left:0;top:0;bottom:0;width:min(310px,84vw);background:linear-gradient(180deg,#fff,#eef9ff);border-top-right-radius:26px;border-bottom-right-radius:26px;box-shadow:22px 0 50px rgba(2,64,130,.22);padding:22px 16px;display:flex;flex-direction:column;gap:10px}.quick-sheet h3{font-family:"Baloo 2",cursive;font-size:26px;color:#0873df;margin:12px 6px}.quick-sheet a{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #c9eaff;border-radius:16px;background:#fff;color:#0f2747;font-weight:900;box-shadow:0 6px 16px rgba(0,93,181,.08)}.quick-sheet svg{color:#0873df}.quick-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:14px;background:#e7f5ff;color:#0873df;display:grid;place-items:center;cursor:pointer}
@media(max-width:460px){.site-wrap{max-width:100%;padding-left:8px;padding-right:8px}.top-hero{min-height:128px}.brand-title{font-size:31px;max-width:255px}.brand-sub{max-width:245px}.hero-mascot{width:132px!important;right:6px!important}.hero-door{width:50px}.profile-card{grid-template-columns:82px minmax(0,1fr) 126px!important;gap:8px}.profile-avatar{width:78px!important;height:78px!important}.date-pill{max-width:126px}.content-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)!important}.panel-head{padding-left:10px;padding-right:10px}.face-photo{width:106px;height:106px}.map-info{width:176px!important}.bottom-nav{width:calc(100vw - 16px)}}
@media(max-width:390px){.brand-title{font-size:28px;max-width:226px}.brand-sub{font-size:11px;max-width:218px}.hero-mascot{width:118px!important;right:2px!important}.hero-door{width:45px}.profile-card{grid-template-columns:72px minmax(0,1fr) 108px!important}.profile-avatar{width:68px!important;height:68px!important}.date-pill{max-width:108px;padding:8px 7px}.emp-name{font-size:17px}.emp-meta{font-size:10px}.panel-head{font-size:13.5px}.dash-box{grid-template-columns:44px minmax(0,1fr);gap:7px}.status-check{width:44px;height:44px}.face-frame{height:124px}.face-photo{width:96px;height:96px}.mini-mascot{width:48px}.action-btn{font-size:11.4px}.map-info{width:158px!important;top:72px!important}.history-row{padding-left:8px;padding-right:8px;grid-template-columns:minmax(46px,.9fr) minmax(70px,1.1fr) minmax(70px,1.1fr) minmax(46px,.62fr) 8px!important}.sq-icon{display:none}.bottom-nav{height:68px;grid-template-columns:1fr 1fr 72px 1fr 1fr}.nav-bell{width:68px;height:68px}.nav-bell span{width:54px;height:54px}.nav-item svg{width:24px;height:24px}}


/* === SINU PATCH FINAL RAPI 2026-05-11: perapian visual, tanggal penuh, map lebih lega === */
body{background:linear-gradient(180deg,#e8f8ff 0%,#ffffff 42%,#dcf3ff 100%)}
.site-wrap{padding-top:0}
.profile-card{isolation:isolate}
.profile-card .date-pill{overflow:visible}
.date-pill span{display:inline-block;max-width:none!important;overflow:visible!important;text-overflow:clip!important}
.date-pill svg{flex:0 0 auto}.profile-card>div:nth-child(2){position:relative;z-index:3}.profile-card .profile-avatar{z-index:3}.profile-card .date-pill{z-index:5}
.panel{box-shadow:0 12px 28px rgba(2,84,162,.18)}
.panel-head{letter-spacing:-.2px}.status-copy span{max-width:180px}.dash-box{justify-items:start}.dash-box:after{bottom:-46px;height:96px;opacity:.92}.face-body{align-items:center}.face-frame{box-shadow:inset 0 0 0 1px rgba(0,123,255,.05)}.face-side{font-weight:800;color:#101a2f}.action-btn{min-height:54px}.map-panel{overflow:hidden}.map-body{min-height:310px!important}.map-shot{height:310px!important;width:100%;position:relative;overflow:hidden;background:#eaf5ff}.live-map{height:310px!important;min-height:310px!important}.map-info{font-size:13px;line-height:1.35}.map-info h3{white-space:nowrap}.map-info svg{width:22px;height:22px}.map-row{align-items:flex-start}.history-panel{margin-bottom:104px}.history-head .see-all{white-space:nowrap}.history-row{font-weight:800}.day span{display:block;font-weight:700;color:#1e293b}.inout small{margin-top:2px}.badge-ok{box-shadow:inset 0 0 0 1px rgba(21,128,61,.04)}.bottom-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-bell img{width:78%;height:78%;object-fit:contain}.nav-item img{filter:drop-shadow(0 2px 2px rgba(0,83,181,.08))}
@media(max-width:520px){
  .top-hero{min-height:136px;padding-left:22px;padding-right:18px}.hamb{width:45px;height:45px;border-radius:14px;background:transparent;box-shadow:none}.brand-title{font-size:34px;line-height:1.02;max-width:270px}.brand-sub{font-size:13.5px;max-width:265px}.hero-mascot{width:132px!important;right:0!important;top:0!important}.hero-door{right:8px;top:23px;width:45px}.profile-card{margin-top:-18px;min-height:138px;border-radius:25px;padding:14px 12px;grid-template-columns:84px minmax(0,1fr) 158px!important;gap:9px}.profile-avatar{width:78px!important;height:78px!important;border-width:4px}.bell-dot{width:31px;height:31px;bottom:-12px;border-width:2px}.bell-dot:after{left:8px;right:8px;top:14px;height:3px}.hello{font-size:14px;margin-bottom:2px}.emp-name{font-size:20px;line-height:1.08;margin-bottom:8px}.emp-meta{font-size:12.4px;line-height:1.1;margin:6px 0;gap:7px}.emp-meta svg{width:17px;height:17px}.date-pill{width:158px;max-width:158px!important;justify-content:center;gap:6px;font-size:11.7px;padding:9px 8px;border-radius:12px}.date-pill svg{width:16px;height:16px}.content-grid{gap:8px;margin-top:12px}.panel{border-radius:20px;border-width:1.5px}.panel-head{height:56px;font-size:17px;gap:8px;padding-left:11px;padding-right:8px}.panel-head svg{width:25px;height:25px}.door-prop{width:45px;top:9px;right:7px}.fly-prop{width:48px;top:9px;right:10px}.status-body{padding:8px}.dash-box{min-height:164px;border-radius:16px;grid-template-columns:50px minmax(0,1fr);padding:14px 10px 38px;gap:10px}.status-check{width:50px;height:50px;border-width:5px}.status-copy strong{font-size:15px;line-height:1.15}.status-copy span{font-size:12.2px;line-height:1.32;margin-top:6px}.face-body{padding:10px;grid-template-columns:1.05fr .95fr!important;gap:8px}.face-frame{height:142px}.face-frame:before,.face-frame:after{width:30px;height:30px;border-width:5px}.face-photo{width:105px;height:105px}.face-side{font-size:12.4px}.mini-mascot{width:54px;margin-top:10px}.action-row{gap:8px}.action-btn{min-height:52px;border-radius:15px;padding:11px 6px;font-size:13.5px;gap:6px}.action-btn svg{width:18px;height:18px}.map-panel{margin-top:12px}.map-body{min-height:304px!important}.map-shot,.live-map{height:304px!important;min-height:304px!important}.map-info{right:10px!important;top:92px!important;width:184px!important;padding:12px 12px 11px;border-radius:15px;font-size:10px}.map-info h3{font-size:12.5px;margin-bottom:3px}.map-info svg{width:18px;height:18px}.map-row{gap:8px;margin-top:9px;padding-top:9px;font-size:9.3px;line-height:1.32}.map-dot:before{width:8px;height:8px}.history-panel{margin-top:12px;margin-bottom:104px}.history-row{grid-template-columns:58px 1fr 1fr 58px 8px!important;min-height:61px;padding:8px 9px;font-size:10.5px;gap:4px}.inout{gap:5px}.inout small{font-size:9.8px}.sq-icon{width:29px;height:29px;border-radius:10px}.badge-ok{font-size:10.5px;border-radius:12px;padding:7px 8px}.chev{font-size:20px}.bottom-nav{height:72px;border-radius:25px}.nav-item{font-size:11px;gap:4px}.nav-item svg{width:26px;height:26px}.nav-bell{width:72px;height:72px;margin-top:-32px;border-width:4px}.nav-bell span{width:57px;height:57px}.page-card{margin-bottom:104px}
}
@media(max-width:390px){
  .top-hero{min-height:126px;padding-left:18px}.brand-title{font-size:28px;max-width:226px}.brand-sub{font-size:11.5px;max-width:224px}.hero-mascot{width:116px!important}.hero-door{width:39px}.profile-card{grid-template-columns:70px minmax(0,1fr) 140px!important;gap:7px;min-height:124px;padding:12px 9px}.profile-avatar{width:66px!important;height:66px!important}.bell-dot{width:28px;height:28px;bottom:-11px}.hello{font-size:12.5px}.emp-name{font-size:16.2px;margin-bottom:6px}.emp-meta{font-size:10.1px;margin:5px 0}.emp-meta svg{width:15px;height:15px}.date-pill{width:140px;max-width:140px!important;font-size:10.1px;gap:5px;padding:8px 6px}.date-pill svg{width:15px;height:15px}.content-grid{gap:7px}.panel-head{height:52px;font-size:13.6px;gap:6px}.panel-head svg{width:22px;height:22px}.door-prop{width:41px}.fly-prop{width:42px}.dash-box{min-height:150px;grid-template-columns:42px minmax(0,1fr);padding:12px 8px 35px}.status-check{width:42px;height:42px}.status-copy strong{font-size:12.9px}.status-copy span{font-size:10.7px}.face-body{padding:8px;gap:6px}.face-frame{height:124px}.face-photo{width:90px;height:90px}.face-side{font-size:11px}.mini-mascot{width:47px}.action-btn{font-size:11.4px;min-height:46px;border-radius:14px}.map-body{min-height:292px!important}.map-shot,.live-map{height:292px!important;min-height:292px!important}.map-info{width:166px!important;top:86px!important;right:8px!important;padding:10px 10px 9px;font-size:9.1px}.map-info h3{font-size:11.2px}.map-row{font-size:8.3px}.history-row{grid-template-columns:50px 1fr 1fr 50px 7px!important;font-size:9.5px;padding:7px 7px}.sq-icon{display:grid;width:25px;height:25px}.inout{gap:4px}.inout small{font-size:8.8px}.badge-ok{font-size:9.6px;padding:6px 6px}.bottom-nav{height:67px}.nav-item{font-size:10px}.nav-item svg{width:23px;height:23px}.nav-bell{width:67px;height:67px}.nav-bell span{width:52px;height:52px}
}
@media(max-width:350px){
  .brand-title{font-size:25px}.brand-sub{font-size:10px;max-width:196px}.hero-mascot{width:104px!important}.profile-card{grid-template-columns:62px minmax(0,1fr) 128px!important}.profile-avatar{width:58px!important;height:58px!important}.emp-name{font-size:14.8px}.emp-meta{font-size:9.2px}.date-pill{width:128px;max-width:128px!important;font-size:9.2px}.panel-head{font-size:12.4px}.face-photo{width:82px;height:82px}.face-frame{height:114px}.map-info{width:152px!important}.history-row{font-size:8.8px;grid-template-columns:45px 1fr 1fr 46px 6px!important}.sq-icon{display:none}.action-btn{font-size:10.5px}
}

/* === PATCH LOGIN PEGAWAI === */
.employee-login{background:linear-gradient(180deg,#0b8cff 0%,#dff3ff 45%,#ffffff 100%)}
.pegawai-login-box{position:relative;overflow:hidden;border:2px solid #9bd4ff;box-shadow:0 24px 70px rgba(0,95,190,.22)}
.pegawai-login-box:before{content:"";position:absolute;right:-44px;top:-46px;width:150px;height:150px;border-radius:50%;background:rgba(13,140,255,.12)}
.pegawai-login-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.pegawai-login-head h1{font-family:"Baloo 2",Inter,sans-serif;font-size:34px;line-height:1;margin:0 0 5px;color:#0873df}
.pegawai-login-head p{margin:0;color:#64748b;font-weight:800;line-height:1.35}
.pegawai-login-head img{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,106,214,.18))}
.login-mini-links{margin-top:14px;text-align:center;font-size:13px;font-weight:900;color:#0873df}
@media(max-width:420px){.pegawai-login-head h1{font-size:29px}.pegawai-login-head img{width:58px;height:58px}}

/* === PATCH CAMERA PREVIEW 5 MENIT === */
.camera-frame{overflow:hidden;background:linear-gradient(180deg,#f8fcff,#eaf6ff)}
.face-camera{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover;border-radius:16px;z-index:1;display:none;transform:scaleX(-1)}
.camera-fallback{position:relative;z-index:0;transition:.2s ease}
.camera-cover{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;background:rgba(7,112,218,.92);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;box-shadow:0 8px 16px rgba(2,92,190,.22);white-space:nowrap;pointer-events:none}
.camera-on .face-camera{display:block}.camera-on .camera-fallback{opacity:0}.camera-on .camera-cover{opacity:0}.camera-off .camera-fallback{opacity:.9}.camera-note,.camera-time{display:block;margin-top:7px;padding:6px 9px;border-radius:999px;font-size:11px;line-height:1.15;font-weight:900}.camera-note{background:#fff3cd;color:#815800;border:1px solid rgba(255,199,44,.55)}.camera-time{background:#eaf5ff;color:#086bd6;border:1px solid #b6ddff}.camera-start{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;border:0;border-radius:999px;background:linear-gradient(180deg,#1696ff,#056bd4);color:#fff;font-weight:950;font-size:12px;padding:8px 12px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.16),0 8px 16px rgba(3,105,210,.18);cursor:pointer}.camera-start:hover{transform:translateY(-1px)}
@media(max-width:520px){.camera-cover{font-size:9.6px;padding:5px 8px;bottom:8px}.camera-note,.camera-time{font-size:8.7px;padding:5px 6px;margin-top:5px}.camera-start{font-size:9px;padding:6px 8px;margin-top:5px}.face-camera{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);border-radius:14px}}
@media(max-width:390px){.camera-note,.camera-time{font-size:7.8px}.camera-start{font-size:8px}.camera-cover{font-size:8px}}

/* === SINU PATCH HP RAPI + CAMERA + MAP 2026-05-11 === */
body{padding-bottom:98px!important}
.profile-card,.panel,.map-panel,.history-panel{overflow:hidden}
.emp-name,.emp-meta span{min-width:0}
.emp-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.content-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;align-items:stretch}
.panel-head span{overflow:visible;text-overflow:clip}
.status-copy strong{white-space:nowrap}
.map-body{height:310px!important;min-height:310px!important;max-height:310px!important;overflow:hidden!important;position:relative!important}
.map-shot{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#e9f6ff!important}
.live-map{width:100%!important;height:100%!important;min-height:100%!important;touch-action:none!important}
.leaflet-container{width:100%!important;height:100%!important;touch-action:none!important;overflow:hidden!important}
.leaflet-control-zoom{border:0!important;box-shadow:0 6px 16px rgba(0,79,160,.18)!important}
.leaflet-control-zoom a{width:30px!important;height:30px!important;line-height:30px!important;font-size:20px!important;background:#fff!important;color:#0873df!important}
.map-info{bottom:12px!important;top:auto!important;right:12px!important;max-height:calc(100% - 24px);overflow:hidden!important}
.bottom-nav{position:fixed!important;left:50%!important;right:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important}
.nav-bell span{display:grid;place-items:center;overflow:visible!important;background:radial-gradient(circle at 35% 20%,#fff6a3 0 12%,#ffd331 13% 66%,#eea800 67%)!important;border:2px solid #7a5200!important;box-shadow:inset 0 -4px 0 rgba(109,74,0,.18)!important}
.nav-bell img{width:75%!important;height:75%!important;object-fit:contain!important;display:block!important}
.camera-start{position:relative;z-index:20;pointer-events:auto}.camera-cover{pointer-events:none}.face-camera{background:#111}.camera-on .camera-note{background:#fff7d8;color:#7a5200}.camera-on .camera-time{background:#e7f5ff;color:#075fc8}
@media(max-width:520px){
  body{padding-bottom:92px!important}.site-wrap{padding-left:8px!important;padding-right:8px!important;padding-bottom:16px!important;max-width:430px!important}.top-hero{min-height:126px!important;margin-left:-8px!important;margin-right:-8px!important;padding:20px 18px 32px!important}.brand-title{font-size:32px!important;max-width:292px!important;letter-spacing:-.7px!important}.brand-sub{font-size:13px!important;max-width:284px!important}.hero-mascot{width:124px!important;right:2px!important;top:0!important}.hero-door{width:43px!important;right:8px!important;top:22px!important}
  .profile-card{margin-top:-16px!important;min-height:128px!important;padding:11px 9px!important;grid-template-columns:72px minmax(0,1fr) 146px!important;gap:6px!important;border-radius:24px!important}.profile-avatar{width:68px!important;height:68px!important;border-width:4px!important;padding:4px!important}.bell-dot{width:29px!important;height:29px!important;bottom:-11px!important}.hello{font-size:12.5px!important;margin:0 0 1px!important}.emp-name{font-size:18px!important;line-height:1.05!important;margin:0 0 6px!important;letter-spacing:-.25px!important;max-width:100%!important}.emp-meta{font-size:10.9px!important;line-height:1.05!important;margin:4px 0!important;gap:5px!important}.emp-meta svg{width:14px!important;height:14px!important}.date-pill{width:146px!important;max-width:146px!important;min-width:0!important;font-size:10.5px!important;line-height:1!important;gap:5px!important;padding:8px 6px!important;border-radius:12px!important}.date-pill svg{width:14px!important;height:14px!important}.date-pill span{font-size:10.5px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  .content-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;gap:8px!important;margin-top:10px!important}.panel{border-radius:20px!important}.panel-head{height:54px!important;font-size:14.4px!important;gap:6px!important;padding:0 9px!important;letter-spacing:-.2px!important}.panel-head svg{width:22px!important;height:22px!important}.door-prop{width:38px!important;top:8px!important;right:5px!important}.fly-prop{width:40px!important;top:8px!important;right:7px!important}.status-body{padding:7px!important}.dash-box{min-height:158px!important;grid-template-columns:45px minmax(0,1fr)!important;gap:8px!important;padding:10px 8px 36px!important;border-radius:16px!important}.status-check{width:45px!important;height:45px!important;border-width:4px!important}.status-check svg{width:30px!important;height:30px!important}.status-copy strong{font-size:13.5px!important;line-height:1.1!important}.status-copy span{font-size:10.9px!important;line-height:1.25!important;margin-top:5px!important;max-width:112px!important}.dash-box:after{bottom:-50px!important;height:88px!important}
  .face-body{padding:8px!important;grid-template-columns:minmax(0,1fr) minmax(70px,.82fr)!important;gap:7px!important}.face-frame{height:128px!important;border-radius:16px!important}.face-frame:before,.face-frame:after{width:27px!important;height:27px!important;border-width:5px!important}.face-photo{width:91px!important;height:91px!important}.face-side{font-size:10.8px!important;line-height:1.22!important;font-weight:900!important}.mini-mascot{width:42px!important;margin-top:6px!important}.camera-note,.camera-time{font-size:7.7px!important;line-height:1.05!important;margin-top:4px!important;padding:4px 5px!important}.camera-start{font-size:8.4px!important;line-height:1!important;padding:6px 8px!important;margin-top:4px!important}.camera-cover{font-size:8.2px!important;padding:5px 7px!important;bottom:8px!important}.action-row{gap:7px!important}.action-btn{min-height:44px!important;font-size:11.2px!important;line-height:1.03!important;border-radius:14px!important;padding:9px 5px!important;gap:5px!important}.action-btn svg{width:16px!important;height:16px!important}
  .map-panel{margin-top:12px!important}.map-body{height:286px!important;min-height:286px!important;max-height:286px!important}.map-info{width:176px!important;right:9px!important;bottom:9px!important;top:auto!important;border-radius:16px!important;padding:10px 10px 9px!important;font-size:9px!important;line-height:1.25!important}.map-info h3{font-size:11.2px!important;margin-bottom:2px!important;white-space:nowrap!important}.map-info svg{width:16px!important;height:16px!important}.map-row{gap:7px!important;margin-top:8px!important;padding-top:8px!important;font-size:8.4px!important;line-height:1.25!important}.map-dot:before{width:7px!important;height:7px!important}.history-panel{margin-top:12px!important;margin-bottom:88px!important}.history-row{grid-template-columns:minmax(50px,.92fr) minmax(80px,1.2fr) minmax(82px,1.22fr) minmax(48px,.62fr) 8px!important;min-height:58px!important;padding:7px 8px!important;font-size:9.8px!important;gap:4px!important}.sq-icon{width:26px!important;height:26px!important;border-radius:9px!important}.sq-icon svg{width:16px!important;height:16px!important}.inout{gap:4px!important;line-height:1.02!important}.inout small{font-size:8.8px!important;line-height:1.02!important}.badge-ok{font-size:9.8px!important;padding:6px 7px!important;border-radius:11px!important}.bottom-nav{width:calc(100vw - 16px)!important;max-width:414px!important;height:68px!important;border-radius:24px!important;grid-template-columns:1fr 1fr 74px 1fr 1fr!important}.nav-item{font-size:10.2px!important;gap:3px!important}.nav-item svg{width:24px!important;height:24px!important}.nav-item img{width:28px!important;height:28px!important}.nav-bell{width:68px!important;height:68px!important;margin-top:-30px!important;border-width:4px!important}.nav-bell span{width:54px!important;height:54px!important}
}
@media(max-width:390px){
  .profile-card{grid-template-columns:66px minmax(0,1fr) 136px!important}.profile-avatar{width:62px!important;height:62px!important}.date-pill{width:136px!important;max-width:136px!important;font-size:9.8px!important}.date-pill span{font-size:9.8px!important}.emp-name{font-size:16.5px!important}.emp-meta{font-size:9.8px!important}.content-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important}.panel-head{font-size:13.2px!important;padding:0 8px!important}.dash-box{grid-template-columns:41px minmax(0,1fr)!important}.status-check{width:41px!important;height:41px!important}.status-copy strong{font-size:12.6px!important}.status-copy span{font-size:10px!important;max-width:100px!important}.face-frame{height:118px!important}.face-photo{width:84px!important;height:84px!important}.face-side{font-size:10px!important}.mini-mascot{width:39px!important}.action-btn{font-size:10.3px!important}.map-body{height:272px!important;min-height:272px!important;max-height:272px!important}.map-info{width:162px!important;font-size:8.2px!important}.map-row{font-size:7.8px!important}.history-row{font-size:8.9px!important;grid-template-columns:minmax(46px,.9fr) minmax(70px,1.18fr) minmax(72px,1.18fr) minmax(44px,.6fr) 7px!important}.sq-icon{display:none!important}.bottom-nav{height:66px!important;grid-template-columns:1fr 1fr 70px 1fr 1fr!important}.nav-bell{width:66px!important;height:66px!important}.nav-bell span{width:52px!important;height:52px!important}
}
@media(max-width:350px){
  .brand-title{font-size:25px!important}.brand-sub{font-size:10.2px!important}.profile-card{grid-template-columns:60px minmax(0,1fr) 126px!important}.profile-avatar{width:56px!important;height:56px!important}.date-pill{width:126px!important;max-width:126px!important;font-size:9px!important}.date-pill span{font-size:9px!important}.emp-name{font-size:14.6px!important}.emp-meta{font-size:8.8px!important}.panel-head{font-size:11.8px!important}.face-photo{width:78px!important;height:78px!important}.face-frame{height:108px!important}.action-btn{font-size:9.4px!important}.map-info{width:150px!important}
}
