/* DFT Aqua Home — additive presentation layer; legacy CSS stays untouched. */
:root{--dft-navy:#06364d;--dft-teal:#087f89;--dft-cyan:#58e8e2;--dft-orange:#ed7d4b;--dft-text:#f6ffff;--dft-muted:#b9dadd;--dft-radius:20px;}
.dft-home{position:relative;overflow:hidden;color:var(--dft-text);padding:28px;border-radius:24px;background:linear-gradient(145deg,#07384d,#08707b);box-shadow:0 14px 34px rgba(3,35,49,.18)}
.dft-home>*{position:relative;z-index:1}.dft-home-user{display:none}.dft-home-hero{padding:10px 0 20px}.dft-home-hero p{margin:0}.dft-home-hero h1{margin:3px 0}.dft-home-hero span,.dft-home-hero small{display:block}.dft-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dft-menu-card{min-width:0;min-height:132px;appearance:none;border:1px solid rgba(116,238,235,.30);border-radius:var(--dft-radius);background:linear-gradient(145deg,rgba(20,124,145,.78),rgba(5,63,89,.84));box-shadow:inset 0 1px rgba(255,255,255,.12),0 7px 15px rgba(0,26,42,.15);color:var(--dft-text);font:600 13px/1.22 var(--body);cursor:pointer;padding:14px 6px 12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;transition:transform .12s ease,background .12s ease,border-color .12s ease;touch-action:manipulation}
.dft-menu-card:hover{border-color:rgba(157,255,250,.62)}.dft-menu-card:active{transform:scale(.97)}.dft-menu-card[hidden]{display:none!important}.dft-menu-card:focus-visible,.dft-bottom-nav button:focus-visible,.dft-profile-open:focus-visible{outline:3px solid var(--dft-cyan);outline-offset:3px}.dft-menu-icon{font:400 35px/1 Arial,sans-serif;color:#eaffff;text-shadow:0 1px 7px rgba(83,228,226,.35);height:38px}
.dft-home-insight,.dft-home-promo{display:none}.dft-bottom-nav{display:none}.dft-profile-open{display:none}.dft-profile-avatar{display:none}
.dft-profile-dialog{width:min(420px,calc(100% - 30px));border:0;border-radius:22px;padding:20px;color:var(--ink);box-shadow:0 24px 55px rgba(0,0,0,.35)}.dft-profile-dialog::backdrop{background:rgba(3,24,35,.62)}.dft-profile-dialog__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dft-profile-dialog__head p{margin:0 0 2px;color:var(--dft-teal);letter-spacing:.12em;font-size:10px;font-weight:800}.dft-profile-dialog__head h2{margin:0;font-size:22px}.dft-profile-dialog__head button{border:0;background:#eaf4f3;width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer;color:var(--muted)}.dft-profile-dialog__identity{display:flex;gap:13px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.dft-profile-dialog__identity>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--dft-navy);color:#fff;font-size:26px}.dft-profile-dialog__identity div{min-width:0;display:grid;gap:2px}.dft-profile-dialog__identity strong{font-size:16px}.dft-profile-dialog__identity small{color:var(--muted);overflow-wrap:anywhere}.dft-profile-settings,.dft-profile-logout{width:100%;margin-top:14px;padding:12px 14px;border-radius:12px;cursor:pointer;font:700 13px var(--body)}.dft-profile-settings{border:1px solid var(--dft-teal);color:var(--dft-teal);background:#fff}.dft-profile-logout{border:1px solid #e3a08a;color:#a8492b;background:#fff4ef}.dft-profile-settings[hidden]{display:none}
body.dft-home-open .sheet-tabs .sidebar-logout{display:none}

@media(max-width:720px){
 body.dft-home-mode{background:#07384d}body.dft-home-mode>nav:first-of-type{min-height:104px;background-image:linear-gradient(90deg,rgba(4,47,69,.94),rgba(7,86,101,.72)),url('assets/pond-aqua-home-v2.jpg');background-size:cover;background-position:center 36%}body.dft-home-mode>nav:first-of-type .topbar-row{min-height:104px;padding:12px 18px;align-items:center;border:0}body.dft-home-mode>nav:first-of-type .brand{margin:0;flex:1;min-width:0}body.dft-home-mode>nav:first-of-type .brand img{height:60px!important;max-width:290px;object-fit:contain;object-position:left center}body.dft-home-mode>nav:first-of-type .nav-user-greeting{display:block;max-width:112px;color:#f5ffff;font-size:10.5px;line-height:1.35;text-align:right}body.dft-home-mode>nav:first-of-type .nav-user-line1{font-weight:600}body.dft-home-mode>nav:first-of-type .nav-user-line2{opacity:.86}body.dft-home-mode>nav:first-of-type .topbar-actions{gap:8px;margin-left:0}body.dft-home-mode>nav:first-of-type #sidebar-toggle-btn,body.dft-home-mode>nav:first-of-type .nav-refresh-btn{display:none!important}
 .dft-profile-open{display:inline-flex!important;align-items:center;justify-content:center;width:43px!important;height:43px!important;padding:0!important;border-radius:50%!important;border-color:rgba(231,255,255,.45)!important;background:rgba(228,255,255,.16)!important}.dft-profile-open svg{display:block}
 body.dft-home-mode>nav:first-of-type .dft-profile-open.is-admin-avatar{overflow:hidden;background:#dce9e8!important;border-color:rgba(222,255,253,.90)!important;box-shadow:0 0 0 2px rgba(7,95,109,.28),0 0 12px rgba(89,240,232,.34)}
 body.dft-home-mode>nav:first-of-type .dft-profile-open.is-admin-avatar svg{display:none!important}
 body.dft-home-mode>nav:first-of-type .dft-profile-open.is-admin-avatar .dft-profile-avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;border-radius:50%}
 body.dft-home-mode .app-shell{display:block}body.dft-home-mode .sheet-tabs{display:none!important}body.dft-home-mode main{padding:0 0 calc(86px + env(safe-area-inset-bottom));max-width:none}body.dft-home-mode #dft-dashboard-legacy{display:none}body.dft-home-mode #p-dashboard>.dft-home{display:block!important}body.dft-home-mode .dft-menu-card:not([hidden]){display:flex!important}body:not(.dft-home-mode) .dft-home{display:none}body:not(.dft-home-mode) main{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .dft-home{border-radius:0;min-height:0;padding:0 18px 18px;background-image:linear-gradient(180deg,rgba(4,42,61,.44),rgba(2,49,68,.90)),url('assets/pond-aqua-home-v2.jpg');background-size:cover;background-position:center bottom;box-shadow:none}.dft-home-hero{padding:24px 0 19px;color:#fff;text-shadow:0 2px 8px rgba(0,29,42,.52)}.dft-home-hero p{margin:0 0 1px;font:600 17px/1.2 var(--body)}.dft-home-hero h1{margin:0 0 9px;font:800 29px/1.07 var(--disp);letter-spacing:-.02em}.dft-home-hero span{font-size:13px;font-weight:500;line-height:1.35}.dft-home-hero small{margin-top:11px;font-size:12px;font-weight:700;letter-spacing:.015em}.dft-home-hero small b{padding:0 7px;color:var(--dft-cyan)}
 .dft-home-grid{gap:11px}.dft-menu-card{min-height:132px;padding:13px 5px 11px;border-radius:20px;background:linear-gradient(145deg,rgba(7,124,148,.90),rgba(5,69,102,.93));border-color:rgba(133,241,237,.47);box-shadow:inset 0 1px rgba(255,255,255,.16),0 7px 13px rgba(0,22,35,.22);font-size:12.5px}.dft-menu-card:first-child{border-color:#59f0e8;box-shadow:inset 0 0 0 1px rgba(120,255,250,.35),0 0 16px rgba(51,233,225,.16)}.dft-menu-icon{font-size:36px;height:39px;color:#f6ffff;text-shadow:0 2px 8px rgba(1,44,63,.52)}.dft-menu-card.is-view-only{background:linear-gradient(145deg,rgba(238,250,249,.93),rgba(205,238,238,.91));border-color:rgba(206,245,243,.88);color:#16506a;box-shadow:0 5px 12px rgba(0,34,51,.13)}.dft-menu-card.is-view-only .dft-menu-icon{color:#187a8c;text-shadow:none}.dft-menu-card.is-view-only::after{content:'◉  Lihat saja';color:#477787;font-size:8.5px;letter-spacing:.02em;margin-top:-3px}
 .dft-home-insight{margin:20px 0 0;width:100%;min-height:81px;display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:20px;border:1px solid rgba(117,239,235,.35);background:rgba(6,77,99,.81);color:#f4ffff;text-align:left;font:600 14px/1.35 var(--body);box-shadow:inset 0 1px rgba(255,255,255,.10);cursor:pointer}.dft-home-insight>span:first-child{font-size:40px;color:#64df96}.dft-home-insight>span:nth-child(2){flex:1}.dft-home-insight b{font:400 36px/1 Arial;color:#a9e9e5}
 .dft-bottom-nav{position:fixed!important;z-index:110;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:59px;align-items:stretch;gap:2px;left:0;right:0;bottom:0;height:calc(75px + env(safe-area-inset-bottom));min-height:0;padding:7px 8px calc(9px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:rgba(3,47,67,.97);box-shadow:0 -9px 24px rgba(0,27,40,.25)}.dft-bottom-nav button{appearance:none;border:0;background:transparent;border-radius:13px;color:#bfdbdd;min-width:0;padding:4px 2px;font:600 10px/1.1 var(--body);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;touch-action:manipulation}.dft-bottom-nav button span{font:400 23px/1 Arial,sans-serif}.dft-bottom-nav button.is-active{background:transparent;color:#65eeeb}.dft-bottom-nav button[hidden]{display:none!important}
}
@media(max-width:359px){.dft-menu-card{min-height:115px;font-size:11px}.dft-menu-icon{font-size:31px}.dft-home{padding-left:10px;padding-right:10px}.dft-home-grid{gap:8px}}
@media(min-width:721px){.dft-home{max-width:720px;margin:0 auto 28px}.dft-menu-card{min-height:145px}}
@media(prefers-reduced-motion:reduce){.dft-menu-card{transition:none}}

/* HUD interaction layer: static at rest, responsive only on deliberate touch. */
.dft-menu-card{position:relative;isolation:isolate;overflow:hidden}
.dft-menu-card::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(135deg,rgba(116,255,246,.20),transparent 42%,rgba(0,13,41,.16));opacity:.7}
.dft-menu-icon svg{stroke-width:2.25;filter:drop-shadow(0 0 4px rgba(177,255,251,.48))}
@media(max-width:720px){
 .dft-menu-card{border-color:rgba(102,245,239,.60);box-shadow:inset 0 1px rgba(255,255,255,.20),0 5px 12px rgba(0,24,43,.26),0 0 0 1px rgba(16,184,195,.12);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease}
 .dft-menu-card:first-child{box-shadow:inset 0 0 0 1px rgba(153,255,250,.56),0 6px 15px rgba(0,26,47,.32),0 0 15px rgba(35,238,229,.34)}
 .dft-menu-card.is-floating,.dft-menu-card:active{transform:translateY(-4px) scale(1.018);border-color:#a3fffa;filter:brightness(1.10);box-shadow:inset 0 0 0 1px rgba(188,255,252,.70),0 11px 20px rgba(0,20,40,.40),0 0 20px rgba(45,245,236,.42)}
 .dft-menu-card.is-floating .dft-menu-icon svg,.dft-menu-card:active .dft-menu-icon svg{filter:drop-shadow(0 0 7px rgba(217,255,253,.92))}
}
@media(hover:hover){.dft-menu-card:hover{transform:translateY(-4px);border-color:#a3fffa;box-shadow:inset 0 0 0 1px rgba(188,255,252,.62),0 11px 20px rgba(0,20,40,.36),0 0 18px rgba(45,245,236,.30)}}

/* Approved full-screen PWA splash. The artwork is intentionally untouched:
   no tint, blur or duplicate text is placed over the approved composition. */
#app-splash{padding:0;background:#063b59;overflow:hidden;display:grid;place-items:center}
.app-splash-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.app-splash-approved{animation:dft-splash-background .52s ease-out both}
.app-splash-credit-correction{position:absolute;z-index:1;left:50%;bottom:calc(61px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 28px);padding:2px 8px;border-radius:5px;background:rgba(2,66,94,.88);color:#fff;text-align:center;font:500 12px/1.2 Arial,sans-serif;letter-spacing:.01em;transform:translateX(-50%);box-shadow:0 0 8px 5px rgba(2,66,94,.76);pointer-events:none;animation:dft-splash-credit .52s ease-out both}
@keyframes dft-splash-background{from{opacity:0;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
@keyframes dft-splash-credit{from{opacity:0;transform:translateX(-50%) scale(1.018)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@media(min-width:721px){#app-splash{background:#062f48}.app-splash-art{object-fit:contain}.app-splash-credit-correction{bottom:58px}}
@media(prefers-reduced-motion:reduce){.app-splash-approved{animation:none!important}}

/* Desktop/tablet is not a stretched phone: retain the sidebar and use the
   available workspace for a compact responsive module grid. */
@media(min-width:721px){
  .dft-home{max-width:none;width:100%;margin:0 0 28px;padding:30px;background:linear-gradient(145deg,#073c52,#08747d)}
  .dft-home-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px}
  .dft-menu-card{min-height:142px;font-size:12px;border-radius:18px}
  .dft-menu-icon svg{width:34px;height:34px}
  .dft-home-insight{display:none}
}

/* Desktop/tablet is an operational workspace: the existing sidebar already
   provides every module, so do not stack a second 12-card Home above the
   actual Dashboard. The compact HUD Home remains the mobile entry screen. */
@media(min-width:721px){
  .dft-home{display:none!important}
  #dft-dashboard-legacy{display:block!important}
}

/* Mobile Home launch: a deliberate touch gets a brighter HUD response, then
   the existing target panel enters from the Home instead of cutting abruptly. */
@media(max-width:720px){
  .dft-menu-card{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease,filter .32s ease}
  .dft-menu-card.is-floating,.dft-menu-card:active{transform:translateY(-6px) scale(1.035);border-color:#d1fffd;filter:brightness(1.16);box-shadow:inset 0 0 0 1px rgba(223,255,254,.88),0 13px 25px rgba(0,18,39,.48),0 0 12px rgba(77,245,238,.82),0 0 31px rgba(23,220,231,.52)}
  .dft-menu-card.is-floating::before,.dft-menu-card.is-launching::before{opacity:1;background:radial-gradient(circle at 50% 32%,rgba(209,255,253,.58),rgba(66,244,235,.18) 43%,transparent 72%)}
  .dft-menu-card.is-launching{animation:dft-home-launch .42s cubic-bezier(.2,.8,.2,1) both;border-color:#e3fffe;box-shadow:inset 0 0 0 1px rgba(240,255,255,.95),0 0 13px rgba(93,255,247,.95),0 0 35px rgba(28,231,235,.72)}
  body.dft-panel-transition main>.panel.active{animation:dft-panel-through-home .68s cubic-bezier(.2,.8,.2,1) both}
  .dft-bottom-nav button .dft-bottom-icon{display:grid;width:31px;height:22px;place-items:center;overflow:hidden;border-radius:6px}.dft-bottom-nav button .dft-bottom-icon img{display:block;width:31px;height:22px;object-fit:cover;border-radius:6px;filter:saturate(.9) brightness(.94);transition:transform .25s ease,filter .25s ease}.dft-bottom-nav button.is-active .dft-bottom-icon img{transform:translateY(-1px) scale(1.12);filter:saturate(1.15) brightness(1.16) drop-shadow(0 0 4px rgba(105,255,248,.8))}
}
@keyframes dft-home-launch{from{transform:translateY(-2px) scale(1.01);filter:brightness(1.07)}65%{transform:translateY(-8px) scale(1.05);filter:brightness(1.24)}to{transform:translateY(-6px) scale(1.04);filter:brightness(1.18)}}
@keyframes dft-panel-through-home{from{opacity:0;transform:translateY(23px) scale(.978);filter:brightness(.86)}65%{opacity:.93;transform:translateY(-2px) scale(1.004);filter:brightness(1.04)}to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.dft-menu-card.is-launching,body.dft-panel-transition main>.panel.active{animation:none!important}}

/* Compact menu pass: keeps all four rows practical in the field. */
.dft-brand-tagline{display:none}
.dft-menu-icon svg{width:38px;height:38px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dft-menu-icon img{display:block;width:82px;height:57px;object-fit:cover;object-position:center;border-radius:10px;filter:drop-shadow(0 3px 5px rgba(0,21,39,.22))}
@media(max-width:720px){
 body.dft-home-mode>nav:first-of-type .brand{flex-direction:column;align-items:flex-start;gap:1px}
 body.dft-home-mode>nav:first-of-type .brand img{height:51px!important;max-width:245px}
 body.dft-home-mode>nav:first-of-type .dft-brand-tagline{display:block;max-width:245px;color:#d5f1ef;font-size:8.2px;line-height:1.25;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .dft-home-hero{display:none!important}
 .dft-home{padding-top:18px}
 .dft-home-grid{gap:8px}
 .dft-menu-card{min-height:103px;padding:10px 4px 8px;border-radius:18px;gap:6px;font-size:11.5px}
 .dft-menu-icon{width:64px;height:44px;font-size:31px}.dft-menu-icon svg{width:32px;height:32px;stroke-width:1.85}.dft-menu-icon img{width:64px;height:44px;border-radius:8px}
 .dft-menu-card.is-view-only::after{font-size:7.8px}
 .dft-home-insight{margin-top:14px;min-height:64px;padding:9px 13px;font-size:12px}.dft-home-insight>span:first-child{font-size:31px}.dft-home-insight b{font-size:29px}
 .dft-home-promo{margin-top:10px;min-height:62px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid rgba(103,239,229,.36);border-radius:18px;background:linear-gradient(105deg,rgba(10,121,133,.88),rgba(4,74,98,.90));box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 12px rgba(0,24,43,.16);color:#efffff}.dft-home-promo__badge{flex:0 0 auto;padding:5px 6px;border-radius:7px;background:rgba(252,178,50,.96);color:#073a55;font:800 8px/1 Arial,sans-serif;letter-spacing:.06em}.dft-home-promo div{min-width:0;display:grid;gap:2px}.dft-home-promo strong{font:700 11px/1.2 var(--body)}.dft-home-promo small{color:#cae8e7;font:500 9px/1.22 var(--body)}.dft-home-promo__mark{margin-left:auto;color:#7cf3e8;font-size:24px;text-shadow:0 0 9px rgba(95,243,232,.75)}
 body.dft-home-mode main,body:not(.dft-home-mode) main{padding-bottom:calc(67px + env(safe-area-inset-bottom))}
  .dft-bottom-nav{height:calc(61px + env(safe-area-inset-bottom));grid-auto-rows:46px;padding:5px 8px calc(7px + env(safe-area-inset-bottom));border-radius:19px 19px 0 0}
  .dft-bottom-nav button{font-size:9px;gap:2px}.dft-bottom-nav button span{font-size:19px}

  /* Home always shows its 12 modules. The badge reflects the existing
     Account Matrix; it does not grant, remove, or bypass permission. */
  .dft-access-badge{position:absolute;z-index:2;top:6px;right:6px;display:grid;width:19px;height:19px;place-items:center;border:1px solid rgba(232,255,254,.50);border-radius:50%;background:rgba(3,49,70,.70);color:#eaffff;box-shadow:0 1px 5px rgba(0,18,37,.24);pointer-events:none}
  .dft-access-badge svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
  .dft-menu-card[data-access-level="1"] .dft-access-badge{border-color:rgba(126,255,226,.70);background:rgba(11,140,123,.84);color:#effffb}
  .dft-menu-card[data-access-level="2"] .dft-access-badge{border-color:rgba(104,245,239,.74);background:rgba(4,115,139,.86)}
  .dft-menu-card[data-access-level="3"] .dft-access-badge{border-color:rgba(202,243,242,.86);background:rgba(226,248,247,.94);color:#1a6073}
  .dft-menu-card[data-access-level="4"]{opacity:.58;filter:saturate(.22) brightness(.77);cursor:not-allowed;border-style:dashed!important;box-shadow:inset 0 0 0 1px rgba(194,228,227,.18),0 4px 10px rgba(0,22,35,.13)!important}
  .dft-menu-card[data-access-level="4"] .dft-access-badge{border-color:rgba(223,229,229,.62);background:rgba(44,70,79,.88);color:#f2f6f5}
  .dft-menu-card.is-view-only::after{display:none}
}
