:root{
  --green:#0d4f36; --green-2:#0f6847; --gold:#f2a53b; --gold-2:#ffca72; --bg:#f7f2e8; --card:#fffdf8; --text:#17231c; --muted:#647067; --line:#e7ddcc; --danger:#b93838; --warning:#a66a00; --success:#14794d; --shadow:0 16px 40px rgba(13,79,54,.10); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#fffaf0 0%,var(--bg) 100%);color:var(--text)}
a{color:var(--green-2);text-decoration:none} a:hover{text-decoration:underline}.small{font-size:.86rem}.muted{color:var(--muted)} code{background:#f1eadb;border-radius:8px;padding:.1rem .35rem}.offline-bar{display:none;position:sticky;top:0;z-index:99;background:#fff0c2;color:#5a3b00;text-align:center;padding:.45rem;font-size:.9rem}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1rem,3vw,2rem);background:rgba(255,253,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--text);min-width:max-content}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--green);color:var(--gold);font-weight:900;font-size:1.35rem;box-shadow:0 8px 18px rgba(13,79,54,.18)}.brand strong{display:block;font-size:1.06rem}.brand small{display:block;color:var(--muted);font-size:.76rem}.brand.big .brand-mark{width:58px;height:58px;border-radius:19px;font-size:1.8rem}.brand.big strong{font-size:1.45rem}.install-brand{margin-bottom:1rem}
.nav{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap;justify-content:flex-end}.nav a{padding:.55rem .7rem;border-radius:999px;color:#22352a;font-weight:650;font-size:.92rem}.nav a:hover{background:#edf6ef;text-decoration:none}.nav-divider{width:1px;height:24px;background:var(--line);margin:0 .25rem}.danger-link{color:var(--danger)!important}.lang-toggle{background:#fff3d6;color:#624100!important}.menu-toggle{display:none;background:var(--green);color:#fff;border:0;border-radius:12px;padding:.55rem .7rem;font-size:1.1rem}.page{width:min(1180px,100%);margin:0 auto;padding:1.25rem clamp(1rem,3vw,2rem) 2.5rem}.footer{border-top:1px solid var(--line);padding:1rem clamp(1rem,3vw,2rem);display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.footer span:first-child{font-weight:800;color:var(--green)}
.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1rem 0 1.1rem}.page-title h1{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.08;color:#10261b}.page-title p{margin:.45rem 0 0;color:var(--muted)}.page-action{display:flex;gap:.6rem;flex-wrap:wrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.card h1,.card h2,.card h3{margin-top:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.7rem}.card-head h2{margin:0;font-size:1.1rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.stats-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{background:linear-gradient(180deg,#fffdf8,#fff8ec);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(13,79,54,.07)}.stat-card span{display:block;color:var(--muted);font-size:.86rem}.stat-card strong{display:block;font-size:clamp(1.25rem,2vw,1.75rem);margin:.25rem 0;color:var(--green)}.stat-card small{color:var(--muted)}.stat-card.warning strong{color:var(--warning)}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.quick-action{display:flex;align-items:center;gap:.6rem;background:#f2fbf5;border:1px solid #d7ebdd;border-radius:16px;padding:.9rem;font-weight:800;color:var(--green)}.quick-action:hover{text-decoration:none;background:#eaf8ee}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--line);background:#fff;color:#173426;border-radius:12px;padding:.7rem 1rem;font-weight:800;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;background:#f5f0e7}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:var(--green-2)}.btn.ghost{background:#fff8ec}.btn.full{width:100%}
.flash{padding:.85rem 1rem;border-radius:14px;margin:.75rem 0;border:1px solid var(--line);background:#fff}.flash.success{background:#ecfff4;color:#0a5a35;border-color:#b9e5cc}.flash.danger{background:#fff1f1;color:#8d2929;border-color:#f2c7c7}.flash.warning{background:#fff7df;color:#6d4900;border-color:#f2d392}
.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:.75rem;border-bottom:1px solid #eee4d4;text-align:left;vertical-align:top;white-space:nowrap}th{background:#f7efdf;color:#35463b;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}td small{color:var(--muted)}tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:1.25rem}.actions{display:flex;gap:.7rem}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .55rem;font-size:.78rem;font-weight:800;background:#eef0ef;color:#46534b}.badge.paid{background:#e4f8ed;color:#0c653c}.badge.unpaid,.badge.warning{background:#fff0c7;color:#765000}.badge.partial{background:#eaf1ff;color:#214b91}.badge.neutral{background:#eff4f1;color:#365145}
.form-grid{display:grid;grid-template-columns:1fr;gap:.9rem}.form-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-weight:750;color:#26382e}.form-grid input,.form-grid select,.form-grid textarea,.filter-bar input,.filter-bar select{width:100%;border:1px solid #d9ccb8;background:#fff;border-radius:12px;padding:.78rem .85rem;font:inherit;color:var(--text)}.form-grid textarea{resize:vertical}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;align-items:center}.filter-bar{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}.filter-bar input{max-width:220px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1rem;color:var(--muted)}
.login-body{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top left,#fff4ce,transparent 34%),linear-gradient(135deg,#0d4f36 0%,#0f6847 42%,#f7f2e8 42%)}.login-shell{width:min(1020px,100%);display:grid;grid-template-columns:1.1fr .8fr;gap:1rem;align-items:stretch}.login-hero,.login-card{border-radius:28px;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 24px 60px rgba(0,0,0,.18)}.login-hero{background:rgba(255,253,248,.92);backdrop-filter:blur(12px)}.login-hero h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.02;margin:2rem 0 1rem;color:#10261b}.login-hero p{font-size:1.1rem;color:var(--muted)}.hero-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.hero-pills span{background:#eef8ef;color:var(--green);padding:.5rem .7rem;border-radius:999px;font-weight:800}.login-card{background:#fffdf8}.login-card h2{font-size:2rem;margin-top:0}.login-card form{display:grid;gap:1rem}.login-card label{display:grid;gap:.35rem;font-weight:800}.login-card input{border:1px solid #d9ccb8;border-radius:12px;padding:.85rem;font:inherit}.install-body{background:var(--bg);padding:1rem}.install-card{width:min(720px,100%);margin:2rem auto}.report-sheet h2{font-size:1.5rem}
@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.login-shell{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{position:absolute;right:1rem;top:68px;background:#fffdf8;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:.6rem;display:none;flex-direction:column;align-items:stretch;min-width:230px}.nav.open{display:flex}.nav a{border-radius:12px}.nav-divider{display:none}.menu-toggle{display:block}.topbar{align-items:center}.form-grid.wide{grid-template-columns:1fr}.span-2{grid-column:span 1}.filter-bar input{max-width:none}.page-title{flex-direction:column}.stats-grid.compact{grid-template-columns:1fr}.login-body{background:linear-gradient(180deg,#0d4f36,#f7f2e8 38%)} }
@media(max-width:560px){.page{padding:.9rem .75rem 1.5rem}.topbar{padding:.65rem .75rem}.brand small{display:none}.stats-grid,.quick-actions{grid-template-columns:1fr}.stat-card{padding:.85rem}.card{padding:.85rem;border-radius:16px}.table-wrap{border-radius:12px}th,td{padding:.65rem;font-size:.9rem}.form-actions,.pagination{flex-direction:column;align-items:stretch}.btn{width:100%}.login-hero,.login-card{padding:1.2rem;border-radius:22px}.login-hero h1{font-size:2rem}.footer{font-size:.8rem}}
@media print{.topbar,.footer,.no-print,.offline-bar,.page-action{display:none!important}body{background:#fff}.page{width:100%;padding:0}.card{box-shadow:none;border:0}.table-wrap{overflow:visible;border:0}th,td{white-space:normal}.stats-grid{grid-template-columns:repeat(4,1fr)}}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}.tabs a{padding:.65rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff8ec;font-weight:850;color:#26382e}.tabs a.active{background:var(--green);border-color:var(--green);color:#fff}.progress{width:110px;max-width:100%;height:10px;border-radius:999px;background:#efe5d4;overflow:hidden}.progress span{display:block;height:100%;background:var(--green);border-radius:999px}.mini-actions{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:.35rem;align-items:center}.mini-actions input{border:1px solid #d9ccb8;border-radius:10px;padding:.55rem;font:inherit}.mini-actions .btn{padding:.55rem .7rem}pre{white-space:pre-wrap;max-width:520px;background:#f8f1e5;border:1px solid var(--line);border-radius:12px;padding:.75rem;overflow:auto}.nav{flex-wrap:nowrap}.nav a{font-size:.86rem;padding:.5rem .56rem}@media(max-width:1180px){.nav{gap:.1rem}.nav a{font-size:.8rem;padding:.45rem .45rem}.brand small{display:none}}@media(max-width:980px){.nav{flex-wrap:nowrap}.mini-actions{grid-template-columns:1fr}.progress{width:100%}}
.map-canvas{position:relative;min-height:420px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 20% 20%,#fff5d6,transparent 20%),linear-gradient(135deg,#edf8ef,#fffdf8);overflow:hidden}.map-canvas:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(13,79,54,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(13,79,54,.08) 1px,transparent 1px);background-size:48px 48px}.map-point{position:absolute;z-index:2;transform:translate(-50%,-50%);font-size:1.4rem;line-height:1;color:var(--green);text-shadow:0 2px 6px rgba(0,0,0,.20)}.map-point.medium{color:var(--warning)}.map-point.high{color:var(--danger)}.map-point:hover{font-size:1.8rem;text-decoration:none}.map-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:800}.chain-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:1rem;text-align:center}.chain-flow div:not(:nth-child(2)):not(:nth-child(4)){border:1px solid var(--line);border-radius:16px;background:#fff8ec;padding:1rem}.chain-flow strong{display:block;color:var(--green);font-size:1.1rem}.chain-flow span{display:block;color:var(--muted);font-size:.9rem;margin-top:.25rem}@media(max-width:760px){.chain-flow{grid-template-columns:1fr}.chain-flow div:nth-child(2),.chain-flow div:nth-child(4){transform:rotate(90deg);font-size:1.3rem}.map-canvas{min-height:320px}}
.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger:hover{background:#942b2b}.text-danger{color:var(--danger)!important}.office-note{background:#f2fbf5;border:1px dashed #b8d8c2;border-radius:14px;padding:.75rem;color:#284333}


/* SEO/PWA/Safe Browsing readiness additions */
.landing-page { max-width: 1160px; }
.landing-topbar { position: sticky; top: 0; z-index: 10; }
.landing-nav.open { display: flex; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 28px; align-items: center; padding: 34px 0; }
.hero-grid h1 { font-size: clamp(2rem, 5vw, 4.2rem); line-height: .98; letter-spacing: -0.05em; margin: 10px 0 14px; }
.hero-grid p { color: var(--muted); max-width: 720px; font-size: 1.05rem; }
.eyebrow { display: inline-flex; padding: 7px 12px; border-radius: 999px; background: #fff4dc; color: #81510d; font-weight: 800; font-size: .82rem; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 22px 0 16px; }
.mock-phone { background: linear-gradient(180deg, #0d4f36, #073624); color: #fff; border-radius: 28px; padding: 18px; box-shadow: 0 24px 60px rgba(0,0,0,.18); border: 8px solid #10291f; }
.mock-header { font-weight: 900; opacity: .9; margin-bottom: 12px; }
.mock-stat { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 18px; padding: 14px; margin-bottom: 10px; display: flex; justify-content: space-between; gap: 10px; }
.mock-stat span { opacity: .82; }
.mock-stat strong { color: #ffd78a; }
.mock-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
.mock-actions span { background: #f2a53b; color: #17311f; border-radius: 14px; text-align: center; padding: 10px 6px; font-weight: 900; font-size: .82rem; }
.workflow { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.workflow span { background: #f8f3e7; border: 1px solid #eadfca; border-radius: 14px; padding: 12px; text-align: center; font-weight: 800; }
.install-btn[hidden] { display: none !important; }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; padding-top: 18px; }
  .landing-nav.open { flex-wrap: wrap; justify-content: flex-end; }
  .workflow { grid-template-columns: repeat(2, 1fr); }
  .mock-phone { border-width: 5px; }
}

/* Offline Sync additions */
.sync-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;margin-left:.2rem;padding:0 .35rem;border-radius:999px;background:var(--gold);color:#17311f;font-size:.72rem;font-weight:900}.sync-message{margin-top:1rem;padding:.7rem .85rem;border-radius:12px;background:#f8f3e7;border:1px solid var(--line)}.sync-message.success{background:#ecfff4;color:#0a5a35;border-color:#b9e5cc}.sync-message.warning{background:#fff7df;color:#6d4900;border-color:#f2d392}.sync-panel .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.sync-panel button.quick-action{border:1px solid #d7ebdd;text-align:left;cursor:pointer;font:inherit}.offline-bar strong{font-weight:900}@media(max-width:760px){.sync-panel .quick-actions{grid-template-columns:1fr}.sync-count{margin-left:.35rem}}


/* Web installer additions */
.installer-wide{width:min(980px,100%)}.installer-hero h1{margin:.2rem 0 .4rem;font-size:clamp(1.7rem,4vw,2.5rem)}.installer-hero p{color:var(--muted);max-width:760px}.installer-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.installer-steps span{border:1px solid var(--line);background:#fff8ec;border-radius:999px;padding:.45rem .7rem;font-weight:900;color:#405146}.installer-steps span.done{background:#e5f8ed;border-color:#b9e5cc;color:#0a5a35}.checkbox-line{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem;background:#fff8ec;border:1px dashed var(--line);border-radius:12px;padding:.75rem}.checkbox-line input{width:auto!important}.installer-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.installer-actions{grid-template-columns:1fr}.installer-steps span{flex:1;text-align:center}}

/* Role-separated interface, bilingual legal, and stronger mobile navigation */
.login-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.login-card-head h2{margin:0}.login-links{display:flex;gap:.75rem;justify-content:space-between;flex-wrap:wrap;margin:.85rem 0}.superadmin-theme{background:radial-gradient(circle at top right,#ffe3a6,transparent 32%),linear-gradient(135deg,#123224 0%,#1d5d42 42%,#f7f2e8 42%)}.superadmin-topbar{border-bottom:2px solid #f2a53b}.superadmin-page .page-title h1{color:#0b3926}.admin-nav a{font-weight:850}.legal-page{max-width:900px}.legal-card h1{font-size:clamp(1.75rem,4vw,2.6rem)}.legal-card h2{margin-top:1.35rem;color:var(--green)}.legal-card p{line-height:1.72;color:#2f3f35}.footer a{color:var(--green-2);font-weight:750}.nav{max-width:calc(100vw - 260px);overflow-x:auto;scrollbar-width:thin}.nav .btn{white-space:nowrap}.topbar .brand{flex-shrink:0}
@media(max-width:980px){
  .nav{position:fixed;right:.75rem;left:.75rem;top:64px;max-width:none;max-height:calc(100vh - 84px);overflow:auto;background:#fffdf8;border:1px solid var(--line);box-shadow:0 24px 70px rgba(13,79,54,.20);border-radius:20px;padding:.7rem;display:none;flex-direction:column;align-items:stretch;min-width:0;z-index:100}.nav.open{display:flex}.nav a,.nav .btn{width:100%;justify-content:flex-start;text-align:left;border-radius:14px;padding:.8rem .9rem}.nav .install-btn{margin-top:.2rem}.landing-nav{display:none}.landing-nav.open{display:flex}.topbar{min-height:64px}.brand{min-width:0}.brand strong{white-space:nowrap}.login-links{flex-direction:column}.legal-page{padding-left:.75rem;padding-right:.75rem}
}
@media(max-width:560px){.brand-mark{width:38px;height:38px;border-radius:12px}.brand strong{font-size:.98rem}.menu-toggle{padding:.5rem .65rem}.login-card-head{align-items:flex-start}.login-card-head .lang-toggle{padding:.45rem .7rem}.legal-card{padding:1rem}.footer{align-items:center}.footer a{padding:.25rem .35rem}.topbar{gap:.55rem}}

/* Activity categorized menus */
.categorized-nav{gap:.35rem;align-items:center}
.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;padding:.55rem .75rem;border-radius:999px;color:#22352a;font-weight:800;font-size:.92rem}.nav-group summary::-webkit-details-marker{display:none}.nav-group[open] summary,.nav-group summary:hover{background:#edf6ef}.nav-links{position:absolute;right:0;top:calc(100% + .45rem);min-width:230px;background:#fffdf8;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:.45rem;display:grid;gap:.15rem;z-index:70}.nav-links a,.nav-links .btn{justify-content:flex-start;border-radius:12px;width:100%;text-align:left}.support-bar{position:sticky;top:0;z-index:100;background:#143d2c;color:#fff;text-align:center;padding:.5rem}.support-bar a{color:#ffca72;font-weight:900}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.checkbox-card{display:flex;align-items:flex-start;gap:.55rem;border:1px solid var(--line);background:#fff;border-radius:14px;padding:.75rem}.checkbox-card input{margin-top:.2rem}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.menu-note{font-size:.82rem;color:var(--muted);padding:.35rem .7rem}
@media(max-width:980px){.nav-group{width:100%}.nav-group summary{border-radius:12px;background:#fff8ec}.nav-links{position:static;box-shadow:none;border:0;background:transparent;padding:.25rem 0 .35rem .5rem;min-width:0}.categorized-nav .nav-links a{padding:.6rem .75rem}.checkbox-grid,.profile-grid{grid-template-columns:1fr}}

/* Self-service registration and moderation */
.register-body{place-items:start center}.register-shell{width:min(1080px,100%);padding:1rem}.register-card{width:100%;margin:0 auto}.register-card h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem);color:#10261b}.register-card h2{font-size:1.1rem;margin:.4rem 0 0;color:var(--green)}.inline-decision{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,1fr) auto auto auto;gap:.4rem;align-items:center}.inline-decision select,.inline-decision input{border:1px solid #d9ccb8;border-radius:10px;padding:.55rem;font:inherit}.notification-dot{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--gold);color:#17311f;font-size:.72rem;font-weight:900;margin-left:.25rem}@media(max-width:760px){.register-shell{padding:.75rem}.inline-decision{grid-template-columns:1fr}.inline-decision .btn{width:100%}}

/* Clean superadmin sidebar and polished business menus */
.clean-admin-topbar{z-index:90}.superadmin-top-actions{display:flex;align-items:center;gap:.55rem;margin-left:auto}.top-logout{font-weight:900;padding:.55rem .75rem;border-radius:999px}.superadmin-shell{display:grid;grid-template-columns:292px minmax(0,1fr);width:100%;max-width:1440px;margin:0 auto}.superadmin-sidebar{position:sticky;top:68px;align-self:start;height:calc(100vh - 68px);overflow:auto;padding:1rem;background:linear-gradient(180deg,#113d2b 0%,#0b2b1f 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:10px 0 30px rgba(13,79,54,.08)}.superadmin-profile-mini{padding:1rem;margin-bottom:.8rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);color:#fff}.superadmin-profile-mini strong{display:block;font-size:1rem}.superadmin-profile-mini span{display:block;color:#dbe9de;font-size:.82rem;margin-top:.25rem}.superadmin-nav-group{margin:.55rem 0;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:18px;overflow:hidden}.superadmin-nav-group summary{list-style:none;display:flex;align-items:center;gap:.6rem;cursor:pointer;padding:.82rem .9rem;color:#fff}.superadmin-nav-group summary::-webkit-details-marker{display:none}.superadmin-nav-group summary strong{font-size:.9rem;letter-spacing:.01em}.superadmin-nav-links{display:grid;gap:.25rem;padding:0 .55rem .65rem}.superadmin-nav-item{display:flex;align-items:center;gap:.65rem;padding:.68rem .72rem;border-radius:14px;color:#eaf5ee!important;font-weight:800;font-size:.9rem}.superadmin-nav-item:hover,.superadmin-nav-item.active{background:#fffdf8;color:#10261b!important;text-decoration:none}.superadmin-nav-item .nav-icon{width:1.5rem;text-align:center}.superadmin-page{width:100%;max-width:none;margin:0;padding:1.3rem clamp(1rem,2.6vw,2rem) 2.5rem}.superadmin-footer{margin-left:292px}.admin-nav{display:none!important}.superadmin-menu-toggle{display:none}.superadmin-body .page-title{margin-top:.3rem}.superadmin-body .card{box-shadow:0 12px 30px rgba(13,79,54,.08)}
@media(max-width:980px){.superadmin-shell{display:block}.superadmin-sidebar{position:fixed;top:66px;left:.75rem;right:.75rem;height:auto;max-height:calc(100vh - 86px);z-index:120;border-radius:20px;display:none;border:1px solid rgba(255,255,255,.14);box-shadow:0 26px 70px rgba(0,0,0,.26)}.superadmin-sidebar.open{display:block}.superadmin-menu-toggle{display:inline-flex}.superadmin-footer{margin-left:0}.superadmin-page{padding-top:1rem}.superadmin-top-actions .top-logout{display:none}.superadmin-nav-group summary{padding:.75rem .8rem}.superadmin-nav-item{padding:.72rem .75rem}.clean-admin-topbar .brand small{display:none}}
@media(max-width:560px){.superadmin-top-actions{gap:.35rem}.superadmin-top-actions .lang-toggle{padding:.45rem .6rem}.superadmin-sidebar{left:.5rem;right:.5rem}.superadmin-profile-mini{padding:.85rem}.superadmin-nav-group{border-radius:16px}.superadmin-page{padding-left:.75rem;padding-right:.75rem}}

/* Cleaner public content: no technical badges in user-facing areas */
.benefit-pills span{background:#eaf7ee;color:#174130;border:1px solid #cbe6d4}.public-note{background:#fff8ec;border:1px solid var(--line);border-radius:16px;padding:1rem;color:#34443a}.private-path-note{font-size:.86rem;color:var(--muted)}

/* Polished sidebar release: calm menus, better spacing, no noisy top navigation */
:root{--sidebar-w:302px;--sidebar-bg:#0d4f36;--sidebar-bg-2:#073727;--sidebar-soft:rgba(255,255,255,.08);--sidebar-line:rgba(255,255,255,.14)}
.topbar{position:sticky;top:0;z-index:95;box-shadow:0 8px 28px rgba(13,79,54,.07)}
.top-actions,.app-top-actions,.superadmin-top-actions{display:flex;align-items:center;gap:.65rem;margin-left:auto}.top-actions .btn,.superadmin-top-actions .btn{white-space:nowrap}.menu-toggle{display:none;align-items:center;justify-content:center;border:1px solid var(--line);background:#fffdf8;border-radius:14px;min-width:42px;height:42px;font-weight:900;color:var(--green);cursor:pointer}.menu-toggle:hover{background:#edf6ef}.top-install{padding:.55rem .8rem}.top-logout{font-weight:900;padding:.55rem .8rem;border-radius:999px}.app-shell,.superadmin-shell{display:grid!important;grid-template-columns:var(--sidebar-w) minmax(0,1fr);width:100%;max-width:1500px;margin:0 auto}.app-page,.superadmin-page{width:100%;max-width:none!important;margin:0!important;padding:1.25rem clamp(1rem,2.6vw,2rem) 2.5rem!important}.app-sidebar,.superadmin-sidebar{position:sticky!important;top:72px!important;align-self:start!important;height:calc(100vh - 72px)!important;overflow:auto!important;padding:1rem!important;background:linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg-2) 100%)!important;border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:12px 0 36px rgba(13,79,54,.12)!important;color:#fff!important}.sidebar-profile-card,.superadmin-profile-mini{display:flex!important;align-items:center!important;gap:.75rem!important;margin:0 0 1rem!important;padding:1rem!important;border-radius:20px!important;background:var(--sidebar-soft)!important;border:1px solid var(--sidebar-line)!important;color:#fff!important}.sidebar-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f7b84b;color:#17311f;font-weight:950;box-shadow:0 10px 22px rgba(0,0,0,.16)}.sidebar-profile-card strong,.superadmin-profile-mini strong{display:block;color:#fff;font-size:1rem;line-height:1.2}.sidebar-profile-card span,.superadmin-profile-mini span{display:block;color:#dbe9de;font-size:.82rem;line-height:1.35;margin-top:.2rem}.app-nav-group,.superadmin-nav-group{margin:.6rem 0!important;border:1px solid var(--sidebar-line)!important;background:rgba(255,255,255,.045)!important;border-radius:20px!important;overflow:hidden!important}.app-nav-group summary,.superadmin-nav-group summary{list-style:none;display:flex!important;align-items:center!important;gap:.65rem!important;cursor:pointer;padding:.88rem .95rem!important;color:#fff!important;font-weight:950!important;letter-spacing:.01em}.app-nav-group summary::-webkit-details-marker,.superadmin-nav-group summary::-webkit-details-marker{display:none}.app-nav-group summary:after,.superadmin-nav-group summary:after{content:'›';margin-left:auto;font-size:1.25rem;line-height:1;transition:transform .18s ease;color:#ffca72}.app-nav-group[open] summary:after,.superadmin-nav-group[open] summary:after{transform:rotate(90deg)}.app-nav-group-icon,.superadmin-group-icon{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:10px;background:rgba(255,255,255,.1)}.app-nav-links,.superadmin-nav-links{display:grid;gap:.28rem;padding:0 .6rem .72rem}.app-nav-item,.superadmin-nav-item{position:relative;display:flex!important;align-items:center!important;gap:.7rem!important;width:100%;min-height:42px;padding:.68rem .75rem!important;border-radius:15px!important;color:#eef9f2!important;background:transparent!important;border:0!important;font:inherit!important;text-decoration:none!important;font-weight:830!important;text-align:left!important;cursor:pointer}.app-nav-item:hover,.app-nav-item.active,.superadmin-nav-item:hover,.superadmin-nav-item.active{background:#fffdf8!important;color:#10261b!important;text-decoration:none!important;box-shadow:0 10px 22px rgba(0,0,0,.12)}.app-nav-item.danger,.superadmin-nav-item.danger{color:#ffd8d8!important}.app-nav-item.danger:hover{background:#fff1f1!important;color:#9c1c1c!important}.app-nav-icon,.nav-icon{width:1.55rem;min-width:1.55rem;text-align:center}.app-nav-text,.nav-text{min-width:0;line-height:1.22}.app-nav-badge,.notification-dot{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .42rem;border-radius:999px;background:#ffca72;color:#17311f;font-size:.72rem;font-weight:950}.app-nav-button{appearance:none}.app-footer{margin-left:var(--sidebar-w)}.superadmin-footer{margin-left:var(--sidebar-w)!important}.superadmin-body .admin-nav,.admin-nav{display:none!important}.superadmin-topbar{border-bottom:2px solid #f2a53b}.superadmin-avatar{background:#ffca72;color:#10261b}.superadmin-page .page-title h1{color:#0b3926}.footer{display:flex;gap:.65rem 1rem;align-items:center;justify-content:center;flex-wrap:wrap}.footer a,.legal-link-row a,.login-link-panel a{transition:background .18s ease, color .18s ease, border-color .18s ease}.footer a{padding:.35rem .55rem;border-radius:999px}.footer a:hover{background:#edf6ef;text-decoration:none}.login-card{box-shadow:0 26px 70px rgba(13,79,54,.12)}.login-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.login-link-panel{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1rem 0}.login-link-card{display:block;border:1px solid #d9e7dc;background:#f8fff9;border-radius:18px;padding:.95rem 1rem;color:#0d5c3c;text-decoration:none}.login-link-card strong{display:block;font-size:1rem;line-height:1.25}.login-link-card span{display:block;margin-top:.25rem;color:#57675d;font-size:.9rem;line-height:1.38}.login-link-card:hover{background:#edf8f0;border-color:#afd8bc;text-decoration:none}.install-login-btn{margin-top:.25rem}.login-help-text{margin-top:.9rem;line-height:1.55}.legal-link-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.legal-link-row a{display:inline-flex;align-items:center;padding:.55rem .75rem;border-radius:999px;background:#fff8ec;border:1px solid var(--line);font-weight:850;text-decoration:none}.legal-link-row a:hover{background:#edf8f0;border-color:#afd8bc}.form-actions{gap:.7rem}.form-actions .btn{margin:.1rem}.register-card .flash .btn{margin:.75rem 0 .45rem}.flash hr{border:0;border-top:1px solid rgba(13,79,54,.18);margin:.85rem 0}.lang-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:.5rem .78rem;border-radius:999px;background:#fff2cc;color:#17311f;font-weight:950;text-decoration:none!important}.lang-toggle:hover{background:#ffe3a6}.app-overlay{display:none}
@media(max-width:1040px){.topbar{min-height:64px}.menu-toggle{display:inline-flex}.top-logout,.top-install{display:none!important}.app-shell,.superadmin-shell{display:block!important}.app-sidebar,.superadmin-sidebar{position:fixed!important;top:70px!important;left:.75rem!important;right:.75rem!important;width:auto!important;height:auto!important;max-height:calc(100vh - 88px)!important;z-index:130!important;display:none!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 28px 80px rgba(0,0,0,.28)!important}.app-sidebar.open,.superadmin-sidebar.open{display:block!important}.app-page,.superadmin-page{padding:1rem .85rem 2rem!important}.app-footer,.superadmin-footer{margin-left:0!important}.clean-admin-topbar .brand small,.app-topbar .brand small{display:none}.app-nav-group summary,.superadmin-nav-group summary{padding:.82rem .88rem!important}.app-nav-item,.superadmin-nav-item{min-height:44px}.login-link-panel{gap:.65rem}}
@media(max-width:640px){.brand strong{font-size:1rem}.brand small{font-size:.75rem}.brand-mark{width:40px;height:40px;border-radius:13px}.top-actions,.app-top-actions,.superadmin-top-actions{gap:.4rem}.lang-toggle{min-height:36px;padding:.45rem .65rem}.login-shell,.register-shell{padding:.75rem}.login-card,.register-card{padding:1.2rem;border-radius:24px}.login-card h2,.register-card h1{font-size:clamp(1.65rem,8vw,2.25rem)}.login-link-card{padding:.85rem .9rem}.legal-link-row{gap:.5rem}.legal-link-row a{flex:1 1 auto;justify-content:center}.app-sidebar,.superadmin-sidebar{top:64px!important;left:.5rem!important;right:.5rem!important;max-height:calc(100vh - 78px)!important;border-radius:20px!important;padding:.8rem!important}.sidebar-profile-card,.superadmin-profile-mini{padding:.85rem!important;border-radius:18px!important}.app-nav-group,.superadmin-nav-group{border-radius:17px!important;margin:.5rem 0!important}.footer{padding-left:.75rem;padding-right:.75rem}.footer span{width:100%;text-align:center}.footer a{background:#fff8ec;border:1px solid var(--line)}}


/* Collapsible module guidance and sample data */
.module-guide{margin:.75rem 0 1rem;background:linear-gradient(180deg,#fffdf8,#fff8ec);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 26px rgba(13,79,54,.07);overflow:hidden}.module-guide summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;cursor:pointer;list-style:none;padding:.9rem 1rem}.module-guide summary::-webkit-details-marker{display:none}.module-guide-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:12px;background:#fff2cc;border:1px solid #f0d9a5}.module-guide-copy{display:grid;gap:.16rem;min-width:0}.module-guide summary strong{display:block;font-size:1rem;color:#153326;line-height:1.25}.module-guide summary small{display:block;color:var(--muted);font-weight:650;line-height:1.35}.module-guide-caret{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:#edf8f0;color:var(--green);font-weight:950;transition:transform .18s ease}.module-guide[open] .module-guide-caret{transform:rotate(180deg)}.module-guide-body{border-top:1px solid var(--line);padding:.9rem 1rem 1rem;background:#fffef9}.module-guide-body p{margin:.1rem 0 .6rem;color:#415046}.module-guide-body ul{margin:.4rem 0 0;padding-left:1.2rem;color:#415046}.module-guide-body li{margin:.35rem 0}.sample-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.sample-card{background:#f2fbf5;border:1px solid #cfe8d7;border-radius:16px;padding:1rem}.sample-card strong{display:block;font-size:1.35rem;color:var(--green)}.sample-card span{color:var(--muted);font-size:.88rem}.sample-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.sample-actions .btn{border-radius:16px;box-shadow:0 8px 20px rgba(13,79,54,.08)}.sample-note{background:#fff8e6;border:1px solid #f0d9a5;border-radius:16px;padding:.85rem;color:#5f420c}.app-nav-button{border:0;width:100%;text-align:left;cursor:pointer;background:transparent;font:inherit}
@media(max-width:760px){.module-guide summary{grid-template-columns:auto 1fr;align-items:start}.module-guide-caret{grid-column:2;justify-self:start;width:auto;height:auto;padding:.25rem .65rem;font-size:.85rem}.sample-summary{grid-template-columns:1fr 1fr}.sample-actions .btn{width:100%}}

/* Reports hub and dashboard charts */
.report-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}.report-hub-card{display:flex;flex-direction:column;gap:.7rem;border:1px solid var(--line);border-radius:20px;background:#fffdf8;padding:1rem;box-shadow:0 10px 28px rgba(13,79,54,.06)}.report-hub-card h3{margin:0;color:#153326;font-size:1.08rem}.report-hub-card p{margin:0;color:var(--muted);line-height:1.45}.report-hub-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}.report-hub-actions .btn{padding:.55rem .75rem;border-radius:999px}.dashboard-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.chart-card{min-height:280px}.mini-chart{height:170px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:.55rem;padding:.75rem .35rem .25rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fffdf8,#f8f1e5)}.mini-chart-day{display:grid;gap:.45rem;align-items:end;text-align:center;height:100%}.mini-chart-day small{color:var(--muted);font-size:.72rem;white-space:nowrap}.bar-pair{height:130px;display:flex;align-items:end;justify-content:center;gap:.2rem}.bar{display:block;width:14px;min-height:4px;border-radius:999px 999px 4px 4px;background:var(--green);box-shadow:0 6px 14px rgba(13,79,54,.14)}.bar.in,.legend-dot.in{background:#0d6b47}.bar.out,.legend-dot.out{background:#f2a53b}.chart-legend{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:.7rem;color:var(--muted);font-size:.9rem;font-weight:800}.legend-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:999px;margin-right:.35rem}.rank-chart{display:grid;gap:.75rem}.rank-row{display:grid;grid-template-columns:minmax(95px,1.1fr) minmax(120px,2fr) auto;gap:.65rem;align-items:center}.rank-row span{font-weight:850;color:#26382e;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-row strong{color:var(--green);white-space:nowrap}.rank-track{height:12px;border-radius:999px;background:#efe5d4;overflow:hidden}.rank-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0d6b47,#f2a53b)}.report-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.report-link-list a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:16px;background:#fff8ec;text-decoration:none;font-weight:900;color:#153326}.report-link-list a:hover{background:#edf8f0;text-decoration:none}
@media(max-width:1040px){.report-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts{grid-template-columns:1fr}.chart-card{min-height:auto}}
@media(max-width:640px){.report-hub-grid,.report-link-list{grid-template-columns:1fr}.mini-chart{height:150px;gap:.35rem;padding:.65rem .25rem}.bar-pair{height:110px}.bar{width:10px}.mini-chart-day small{font-size:.66rem}.rank-row{grid-template-columns:1fr}.rank-row strong{justify-self:start}.chart-legend{justify-content:flex-start;flex-wrap:wrap}.report-hub-actions .btn{width:100%}}

/* Dashboard chart polish + date range controls */
.chart-filter-card{background:linear-gradient(135deg,#fffdf8 0%,#fff7e8 55%,#edf8f0 100%);border-color:#e3d3b9}.chart-filter-head{align-items:flex-start}.chart-filter-head p{margin:.25rem 0 0}.chart-filter-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto auto;gap:.75rem;align-items:end}.chart-filter-form label{display:grid;gap:.35rem;font-weight:850;color:#25382d}.chart-filter-form input,.chart-filter-form select{width:100%;border:1px solid #d5c6ae;background:#fff;border-radius:14px;padding:.78rem .85rem;font:inherit;color:var(--text)}.polished-charts{align-items:stretch}.polished-charts .chart-card{position:relative;overflow:hidden;min-height:0;padding:1.05rem}.polished-charts .chart-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--green),var(--gold));opacity:.85}.chart-card-featured{background:linear-gradient(180deg,#fffef9 0%,#fff8ec 100%)}.chart-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.chart-card-top h2{margin:0;color:#10261b;font-size:1.12rem}.chart-card-top p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.chart-total-pill,.chart-link-pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid #dbeadc;background:#f1fbf4;color:var(--green);padding:.48rem .72rem;font-weight:900;text-decoration:none;white-space:nowrap}.chart-total-pill{flex-direction:column;align-items:flex-end;gap:0;background:#fff6df;border-color:#ead3a5;color:#624100}.chart-total-pill strong{line-height:1.05;color:var(--green)}.chart-total-pill span{font-size:.72rem;color:#7b5a13}.chart-link-pill:hover{background:#e6f5eb;text-decoration:none}.chart-legend-pills{display:flex;justify-content:flex-start;gap:.55rem;flex-wrap:wrap;margin:.35rem 0 .7rem}.legend-pill{display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.38rem .62rem;color:#445349;font-size:.84rem;font-weight:900}.legend-pill i{width:.75rem;height:.75rem;border-radius:999px;display:inline-block}.legend-pill.in i{background:linear-gradient(180deg,#0d6b47,#0a4f36)}.legend-pill.out i{background:linear-gradient(180deg,#ffbd59,#e8911b)}.svg-chart-wrap{position:relative;border:1px solid #ebdfcd;border-radius:20px;background:radial-gradient(circle at top left,rgba(242,165,59,.16),transparent 30%),linear-gradient(180deg,#fffdf8,#fffaf1);padding:.55rem;overflow:hidden}.dash-chart-svg{display:block;width:100%;height:auto;min-height:190px}.chart-grid-line{stroke:#eadfcd;stroke-width:1;stroke-dasharray:4 6}.chart-bar{filter:drop-shadow(0 5px 7px rgba(13,79,54,.10));transition:opacity .16s ease}.chart-bar:hover{opacity:.78}.chart-bar-a{fill:url(#unused);fill:#0d6b47}.chart-bar-b{fill:#f2a53b}.chart-x-label{font-size:13px;fill:#6a756d;font-weight:750}.chart-insight-row{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.75rem;color:#59665e;font-size:.9rem}.chart-insight-row span{display:inline-flex;gap:.35rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .65rem}.chart-insight-row strong{color:var(--green)}.compact-insight{justify-content:flex-start}.metric-list{display:grid;gap:.82rem;margin-top:.75rem}.metric-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(150px,2fr) auto;gap:.75rem;align-items:center}.metric-row span{font-weight:900;color:#25382d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-row strong{color:var(--green);white-space:nowrap}.metric-row progress{width:100%;height:14px;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;overflow:hidden;background:#efe5d4}.metric-row progress::-webkit-progress-bar{background:#efe5d4;border-radius:999px}.metric-row progress::-webkit-progress-value{background:linear-gradient(90deg,#0d6b47,#f2a53b);border-radius:999px}.metric-row progress::-moz-progress-bar{background:linear-gradient(90deg,#0d6b47,#f2a53b);border-radius:999px}.trace-list .metric-row progress::-webkit-progress-value{background:linear-gradient(90deg,#f2a53b,#0d6b47)}.trace-list .metric-row progress::-moz-progress-bar{background:linear-gradient(90deg,#f2a53b,#0d6b47)}
@media(max-width:1040px){.chart-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-filter-form .btn{width:100%}.dash-chart-svg{min-height:180px}.metric-row{grid-template-columns:1fr}.metric-row strong{justify-self:start}.metric-row progress{height:16px}}
@media(max-width:640px){.chart-filter-card{padding:.9rem}.chart-filter-head{display:grid}.chart-filter-head .btn{width:100%}.chart-filter-form{grid-template-columns:1fr}.chart-card-top{display:grid;gap:.6rem}.chart-total-pill{align-items:flex-start;width:max-content}.svg-chart-wrap{padding:.3rem;border-radius:16px}.dash-chart-svg{min-height:160px}.chart-x-label{font-size:11px}.chart-insight-row span{width:100%;justify-content:space-between}.legend-pill{font-size:.8rem}.polished-charts .chart-card{padding:.9rem}}

/* Traceability OpenStreetMap view */
.osm-map-card{position:relative;overflow:hidden}.osm-card-head{align-items:flex-start}.osm-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.osm-control{width:42px;height:42px;padding:0;font-size:1.35rem}.osm-map-shell{border:1px solid #e3d8c6;border-radius:22px;background:linear-gradient(135deg,#f4f0e8,#e6f2ea);padding:.55rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.osm-map{position:relative;height:min(62vh,560px);min-height:420px;border-radius:18px;overflow:hidden;background:#dbe9de;cursor:grab;touch-action:none;isolation:isolate}.osm-map.dragging{cursor:grabbing}.osm-tile-layer,.osm-marker-layer{position:absolute;inset:0}.osm-tile{position:absolute;width:256px;height:256px;user-select:none;pointer-events:none;background:#edf1e9}.osm-attribution{position:absolute;right:.55rem;bottom:.45rem;z-index:5;background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:.18rem .48rem;font-size:.72rem;color:#455149;box-shadow:0 4px 12px rgba(0,0,0,.08)}.osm-attribution a{color:#1c6b4b}.osm-marker{position:absolute;z-index:6;display:flex;align-items:center;gap:.3rem;transform:translate(-13px,-28px);text-decoration:none}.osm-marker:hover{text-decoration:none;z-index:10}.osm-pin{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#0d6b47;color:#fff;border:3px solid #fff;box-shadow:0 8px 18px rgba(13,79,54,.28);font-size:.75rem;line-height:1}.osm-marker.medium .osm-pin{background:#d88818}.osm-marker.high .osm-pin{background:#b93838}.osm-marker.unknown .osm-pin{background:#526157}.osm-label{display:none;min-width:150px;max-width:230px;background:rgba(255,253,248,.96);border:1px solid #e4d8c8;border-radius:14px;padding:.42rem .55rem;box-shadow:0 12px 30px rgba(0,0,0,.12);color:#17231c}.osm-label strong{display:block;font-size:.86rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.osm-label small{display:block;color:#647067;font-size:.74rem;line-height:1.25;margin-top:.12rem}.osm-marker:hover .osm-label,.osm-marker:focus .osm-label{display:block}.osm-map-note{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.75rem;color:#58665e}.osm-map-note span{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff8ec;border-radius:999px;padding:.42rem .62rem;font-weight:750}.map-actions{display:flex;gap:.45rem;flex-wrap:wrap}.map-actions .btn{padding:.45rem .62rem;border-radius:999px;font-size:.86rem}.supplier-point .osm-pin{box-shadow:0 0 0 4px rgba(242,165,59,.18),0 8px 18px rgba(13,79,54,.26)}
@media(max-width:760px){.osm-card-head{display:grid}.osm-toolbar .btn{width:auto}.osm-map{height:430px;min-height:360px}.osm-label{max-width:190px}.osm-map-note span{width:100%;border-radius:14px}.map-actions .btn{width:100%}}
@media(max-width:480px){.osm-map-shell{padding:.35rem;border-radius:18px}.osm-map{height:360px;min-height:320px;border-radius:14px}.osm-attribution{left:.45rem;right:auto;font-size:.66rem}.osm-label{min-width:140px;max-width:170px}.osm-pin{width:24px;height:24px}.osm-toolbar{display:grid;grid-template-columns:1fr 1fr 2fr}.osm-toolbar .btn{width:100%}}

/* Dashboard table fit release: stack recent tables and prevent page-width overflow */
html,body{max-width:100%;overflow-x:hidden}.app-shell,.superadmin-shell,.app-page,.superadmin-page,.page,.card{min-width:0}.dashboard-table-stack{display:grid;grid-template-columns:1fr;gap:1rem;width:100%;max-width:100%;min-width:0}.dashboard-table-card{width:100%;max-width:100%;min-width:0;margin-bottom:0}.dashboard-table-wrap{width:100%;max-width:100%;overflow:hidden}.dashboard-responsive-table{width:100%;table-layout:fixed}.dashboard-responsive-table th,.dashboard-responsive-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.35}.dashboard-responsive-table th:nth-child(1){width:15%}.dashboard-responsive-table th:nth-child(2){width:29%}.dashboard-responsive-table th:nth-child(3){width:17%}.dashboard-responsive-table th:nth-child(4){width:20%}.dashboard-responsive-table th:nth-child(5){width:19%}.dashboard-responsive-table small{display:block;white-space:normal;overflow-wrap:anywhere}.dashboard-table-stack .card-head{align-items:flex-start}.dashboard-table-stack .card-head a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #d9e7dc;background:#f2fbf5;border-radius:999px;padding:.42rem .72rem;font-weight:900;white-space:nowrap}.dashboard-table-stack .card-head a:hover{background:#e7f5eb;text-decoration:none}
@media(max-width:760px){.dashboard-table-stack{gap:.85rem}.dashboard-table-card{padding:.85rem}.dashboard-table-stack .card-head{display:grid;gap:.55rem}.dashboard-table-stack .card-head a{width:max-content}.dashboard-responsive-table,.dashboard-responsive-table thead,.dashboard-responsive-table tbody,.dashboard-responsive-table tr,.dashboard-responsive-table td{display:block;width:100%}.dashboard-responsive-table thead{display:none}.dashboard-responsive-table{background:transparent}.dashboard-responsive-table tbody{display:grid;gap:.7rem}.dashboard-responsive-table tr{background:#fff;border:1px solid #eee0cc;border-radius:16px;padding:.45rem .65rem;box-shadow:0 8px 18px rgba(13,79,54,.05)}.dashboard-responsive-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px dashed #eadfcd;padding:.58rem 0;font-size:.94rem;text-align:right}.dashboard-responsive-table td:last-child{border-bottom:0}.dashboard-responsive-table td::before{content:attr(data-label);flex:0 0 42%;max-width:42%;color:#405044;font-weight:950;text-align:left;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}.dashboard-responsive-table td.empty{display:block;text-align:center;border-bottom:0;padding:1rem}.dashboard-responsive-table td.empty::before{display:none}.dashboard-responsive-table .badge{align-self:flex-start}.dashboard-responsive-table td[colspan]{display:block}.dashboard-responsive-table td[colspan]::before{display:none}}
@media(max-width:420px){.dashboard-responsive-table td{display:grid;grid-template-columns:1fr;gap:.25rem;text-align:left}.dashboard-responsive-table td::before{max-width:none;flex:auto;color:#6a756d;font-size:.78rem}.dashboard-table-stack .card-head a{width:100%}}

/* RapiRamp Mobile Command layout — field-first + office-ready */
:root{--mobile-safe-bottom:env(safe-area-inset-bottom,0px)}
.mobile-bottom-nav{display:none}.mobile-command-hero{position:relative;overflow:hidden;border:1px solid #d9e7dc;border-radius:30px;padding:1.15rem;margin-bottom:1rem;background:radial-gradient(circle at 92% 8%,rgba(255,202,114,.42),transparent 26%),linear-gradient(135deg,#0d5c3c 0%,#0b3d2a 62%,#f6b44b 62%,#f6b44b 100%);color:#fff;box-shadow:0 24px 70px rgba(13,79,54,.22)}.mobile-command-hero:after{content:'';position:absolute;right:-60px;bottom:-85px;width:230px;height:230px;border-radius:50%;border:36px solid rgba(255,255,255,.08)}.command-status{position:relative;z-index:1;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:#dff2e6;font-weight:850;font-size:.9rem}.command-status strong{display:inline-flex;align-items:center;max-width:100%;padding:.25rem .55rem;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:.65rem;height:.65rem;border-radius:999px;background:#f7b84b;box-shadow:0 0 0 4px rgba(247,184,75,.18)}.status-dot.online{background:#57d88a}.command-hero-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;margin-top:1.05rem}.command-hero-main .eyebrow{display:inline-flex;margin:0 0 .25rem;padding:.25rem .6rem;border-radius:999px;background:rgba(255,255,255,.16);color:#ffedc9;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;font-weight:950}.command-hero-main h1{margin:.1rem 0 .35rem;font-size:clamp(2.1rem,5vw,4rem);line-height:.96;letter-spacing:-.04em;color:#fff}.command-hero-main p{margin:0;color:#dbeee4;max-width:56ch;font-size:1rem}.command-main-value{min-width:190px;background:rgba(255,253,248,.95);border:1px solid rgba(255,255,255,.35);border-radius:24px;padding:1rem;color:#17311f;box-shadow:0 20px 45px rgba(0,0,0,.18)}.command-main-value span,.command-main-value small{display:block;color:#597064}.command-main-value strong{display:block;color:#07583a;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1;margin:.35rem 0}.command-kpi-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1rem}.command-kpi-strip div{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);border-radius:18px;padding:.78rem}.command-kpi-strip span{display:block;color:#dceee4;font-size:.82rem}.command-kpi-strip strong{display:block;color:#fff;font-size:1.06rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-action-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.field-action{position:relative;overflow:hidden;display:grid;gap:.35rem;min-height:112px;padding:1rem;border-radius:24px;background:#fffdf8;border:1px solid var(--line);box-shadow:0 15px 34px rgba(13,79,54,.08);color:#17311f;text-decoration:none!important}.field-action:before{content:'';position:absolute;right:-26px;top:-28px;width:88px;height:88px;border-radius:50%;background:rgba(13,107,71,.08)}.field-action.primary{background:linear-gradient(160deg,#0d6b47,#0b3d2a);color:#fff;border-color:#0d6b47}.field-action.primary:before{background:rgba(255,202,114,.22)}.field-action span{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#edf8f0;font-size:1.25rem}.field-action.primary span{background:rgba(255,255,255,.14)}.field-action strong{position:relative;z-index:1;font-size:1.02rem;line-height:1.1}.field-action small{position:relative;z-index:1;color:#617168}.field-action.primary small{color:#dceee4}.field-action:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(13,79,54,.12)}.office-command-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;margin-bottom:1rem}.office-control-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.office-control-list a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem .65rem;align-items:center;padding:.85rem;border:1px solid #dce9df;background:#f8fff9;border-radius:18px;text-decoration:none;color:#17311f}.office-control-list a span{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#fff;border:1px solid var(--line)}.office-control-list a strong{line-height:1.15}.office-control-list a small{color:#617168}.activity-timeline{position:relative;display:grid;gap:.6rem}.timeline-item{position:relative;display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;border:1px solid #efe2ce;background:#fffaf1;border-radius:18px;text-decoration:none!important;color:#17311f}.timeline-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:15px;background:#eff8f2;flex:0 0 auto}.timeline-copy{min-width:0}.timeline-copy strong{display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-copy small{display:block;margin-top:.18rem;color:#627066;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-item.purchase .timeline-icon{background:#edf8f0}.timeline-item.delivery .timeline-icon{background:#fff1d3}.timeline-item.cash-in .timeline-icon{background:#e7f8ee}.timeline-item.cash-out .timeline-icon{background:#fff0e6}.timeline-item.truck .timeline-icon{background:#eef3ff}.command-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.command-stats .stat-card{border-radius:22px;background:linear-gradient(180deg,#fffdf8,#fffaf2)}.app-body.has-sidebar .topbar.app-topbar{border-bottom:0;box-shadow:0 6px 26px rgba(13,79,54,.06)}.app-body.has-sidebar .app-topbar .brand small{max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-page{max-width:1180px}.landing-topbar{border-bottom:0}.hero-grid{align-items:center}.landing-page .hero-grid{border:1px solid #e2d7c8;border-radius:34px;padding:clamp(1rem,4vw,2rem);background:radial-gradient(circle at top right,rgba(242,165,59,.18),transparent 35%),linear-gradient(135deg,#fffdf8,#f5f0e7);box-shadow:0 24px 70px rgba(13,79,54,.09)}.landing-page .hero-grid h1{font-size:clamp(2.35rem,6vw,5rem);line-height:.96;letter-spacing:-.05em}.landing-page .mock-phone{border-radius:36px;background:linear-gradient(180deg,#0d6b47,#0b3d2a);box-shadow:0 34px 80px rgba(13,79,54,.26);border:10px solid #142f22;min-height:560px}.landing-page .mock-phone:before{content:'';display:block;width:92px;height:6px;border-radius:999px;background:rgba(255,255,255,.24);margin:0 auto 1rem}.mock-actions{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:1rem}.mock-actions span{display:block;border-radius:18px;background:#fffdf8;color:#0d5c3c;font-weight:950;padding:.9rem}.workflow span{box-shadow:0 10px 22px rgba(13,79,54,.08)}
@media(max-width:1180px){.command-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.office-command-grid{grid-template-columns:1fr}.field-action-dock{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1040px){.mobile-bottom-nav{position:fixed;left:.8rem;right:.8rem;bottom:calc(.65rem + var(--mobile-safe-bottom));z-index:160;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;padding:.35rem;border:1px solid rgba(13,79,54,.14);border-radius:24px;background:rgba(255,253,248,.96);box-shadow:0 18px 55px rgba(13,79,54,.23);backdrop-filter:blur(16px)}.mobile-bottom-item{appearance:none;border:0;background:transparent;display:grid;place-items:center;gap:.1rem;min-height:54px;border-radius:18px;color:#496054;text-decoration:none!important;font:inherit;font-weight:950;cursor:pointer}.mobile-bottom-item span{font-size:1.12rem;line-height:1}.mobile-bottom-item strong{font-size:.72rem;line-height:1}.mobile-bottom-item.active,.mobile-bottom-item:hover{background:#0d6b47;color:#fff}.app-page{padding-bottom:6.4rem!important}.app-footer{padding-bottom:6.6rem}.app-topbar .menu-toggle{display:none!important}.app-sidebar{top:12px!important;bottom:calc(84px + var(--mobile-safe-bottom))!important;max-height:none!important}.command-hero-main{grid-template-columns:1fr}.command-main-value{min-width:0;width:100%}.command-kpi-strip{grid-template-columns:1fr 1fr 1fr}.command-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions .lang-toggle{display:inline-flex!important}.app-topbar .brand small{display:block!important}.landing-page .mock-phone{min-height:480px}}
@media(max-width:760px){.mobile-command-hero{border-radius:26px;padding:1rem}.command-hero-main h1{font-size:clamp(2rem,11vw,3rem)}.command-kpi-strip{grid-template-columns:1fr}.field-action-dock{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.field-action{min-height:104px;padding:.85rem;border-radius:20px}.office-control-list{grid-template-columns:1fr}.office-command-grid{gap:.85rem}.activity-timeline-card,.office-command-card{padding:.9rem}.timeline-copy strong,.timeline-copy small{white-space:normal}.command-stats{grid-template-columns:1fr}.landing-page .hero-grid{border-radius:28px}.landing-page .mock-phone{min-height:auto}.landing-page .hero-actions{display:grid}.landing-page .hero-actions .btn{width:100%;justify-content:center}.brand span:last-child{min-width:0}.mobile-bottom-nav{left:.5rem;right:.5rem;border-radius:22px}.mobile-bottom-item{min-height:50px}.mobile-bottom-item strong{font-size:.68rem}}
@media(max-width:420px){.field-action-dock{grid-template-columns:1fr 1fr}.field-action small{display:none}.field-action span{width:38px;height:38px}.office-control-list a{grid-template-columns:1fr}.office-control-list a span{grid-row:auto}.command-status strong{width:100%}.mobile-bottom-nav{gap:.15rem;padding:.25rem}.mobile-bottom-item{border-radius:16px}.mobile-bottom-item span{font-size:1rem}.mobile-bottom-item strong{font-size:.62rem}.command-main-value strong{font-size:1.75rem}}

/* Interaction polish patch: reliable mobile menus + compact guidance tooltips */
.guide-tip{position:relative;display:inline-flex;align-items:center;margin:.25rem 0 1rem;z-index:30}.guide-tip-trigger{appearance:none;border:1px solid #d9e7dc;background:#fffdf8;color:#163326;border-radius:999px;padding:.45rem .72rem;display:inline-flex;align-items:center;gap:.5rem;min-height:42px;font:inherit;font-weight:900;box-shadow:0 8px 24px rgba(13,79,54,.08);cursor:pointer}.guide-tip-trigger:hover,.guide-tip-trigger[aria-expanded="true"]{background:#edf8f0;border-color:#b9dbc4}.guide-tip-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:999px;background:#fff2cc;border:1px solid #f0d9a5}.guide-tip-title{font-size:.92rem;line-height:1.15}.guide-tip-panel{position:absolute;left:0;top:calc(100% + .55rem);width:min(420px,calc(100vw - 2rem));background:#fffdf8;border:1px solid #d7e5dc;border-radius:20px;padding:1rem;box-shadow:0 28px 80px rgba(13,79,54,.18);z-index:220;color:#21352a}.guide-tip-panel[hidden]{display:none!important}.guide-tip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.45rem}.guide-tip-head strong{font-size:1rem;color:#0d4f36;line-height:1.25}.guide-tip-close{appearance:none;border:0;background:#edf8f0;color:#0d4f36;border-radius:999px;width:2rem;height:2rem;font-size:1.2rem;font-weight:900;line-height:1;cursor:pointer}.guide-tip-close:hover{background:#dff1e5}.guide-tip-panel p{margin:.15rem 0 .65rem;color:#415046;line-height:1.45}.guide-tip-panel ul{margin:.35rem 0 0;padding-left:1.1rem;color:#415046}.guide-tip-panel li{margin:.36rem 0;line-height:1.38}.superadmin-guide .guide-tip-panel{width:min(460px,calc(100vw - 2rem))}.module-guide{display:none!important}.landing-nav:not(.open){ }@media(max-width:1040px){.app-sidebar,.superadmin-sidebar{overscroll-behavior:contain}.app-sidebar.open,.superadmin-sidebar.open{display:block!important}.mobile-more-toggle{touch-action:manipulation}.guide-tip{margin:.15rem 0 .75rem}.guide-tip-title{display:none}.guide-tip-trigger{padding:.42rem;border-radius:999px}.guide-tip-panel{position:fixed;left:.75rem;right:.75rem;top:5rem;width:auto;max-height:calc(100vh - 7rem);overflow:auto}.landing-nav{display:none!important}.landing-nav.open{display:flex!important}}@media(min-width:1041px){.mobile-bottom-nav{display:none!important}}@media(max-width:560px){.guide-tip-panel{left:.6rem;right:.6rem;top:4.75rem}.guide-tip-panel ul{padding-left:1rem}}

/* Hard fix: reliable mobile sidebars, landing menu, and tooltip help */
@media (max-width:1040px){
  #mainSidebar.app-sidebar,
  #superadminSidebar.superadmin-sidebar{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(10px)!important;
  }
  #mainSidebar.app-sidebar.open,
  #superadminSidebar.superadmin-sidebar.open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  #mainNav.landing-nav{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
  #mainNav.landing-nav.open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
}
#mainSidebar.app-sidebar.open,
#superadminSidebar.superadmin-sidebar.open,
#mainNav.landing-nav.open{will-change:opacity,transform;}
.guide-tip-panel[hidden]{display:none!important;}
.guide-tip-panel.guide-open{display:block!important;}
.guide-tip-trigger{position:relative;z-index:2;}
.mobile-bottom-item.mobile-more-toggle{position:relative;z-index:170;}
body.menu-lock{overflow:hidden;}
@media (min-width:1041px){body.menu-lock{overflow:auto;}}


/* Menu scroll + install prompt quiet fix */
@media (max-width:1040px){
  #mainSidebar.app-sidebar,
  #superadminSidebar.superadmin-sidebar{
    position:fixed!important;
    top:.75rem!important;
    left:.75rem!important;
    right:auto!important;
    bottom:calc(5.9rem + var(--mobile-safe-bottom))!important;
    width:min(360px, calc(100vw - 1.5rem))!important;
    max-width:calc(100vw - 1.5rem)!important;
    height:auto!important;
    max-height:calc(100dvh - 6.9rem - var(--mobile-safe-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    border-radius:24px!important;
    z-index:210!important;
    padding:1rem .85rem calc(1.2rem + env(safe-area-inset-bottom,0px))!important;
  }
  #mainSidebar.app-sidebar.open,
  #superadminSidebar.superadmin-sidebar.open{
    display:block!important;
  }
  body.menu-lock{overflow:hidden!important;touch-action:none;}
  body.menu-lock #mainSidebar.app-sidebar.open,
  body.menu-lock #superadminSidebar.superadmin-sidebar.open{touch-action:pan-y;}
  .app-nav-group,.superadmin-nav-group{scroll-margin-bottom:5.8rem;}
  .app-sidebar .app-nav-group:last-child,
  .superadmin-sidebar .superadmin-nav-group:last-child{margin-bottom:1rem!important;}
  .sidebar-profile-card,.superadmin-profile-mini{position:sticky;top:0;z-index:2;backdrop-filter:blur(10px);}
}
@media (max-width:420px){
  #mainSidebar.app-sidebar,
  #superadminSidebar.superadmin-sidebar{
    left:.5rem!important;
    width:calc(100vw - 1rem)!important;
    max-width:calc(100vw - 1rem)!important;
    bottom:calc(5.75rem + var(--mobile-safe-bottom))!important;
    max-height:calc(100dvh - 6.55rem - var(--mobile-safe-bottom))!important;
  }
}
.install-help-note{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + var(--mobile-safe-bottom));z-index:260;background:#fffdf8;border:1px solid #d9e7dc;border-radius:18px;padding:.9rem 1rem;box-shadow:0 22px 60px rgba(13,79,54,.20);color:#17311f;font-weight:800}
.install-help-note small{display:block;margin-top:.25rem;color:#5f6d64;font-weight:650;line-height:1.35}

/* RapiRamp v4.2: official region picker, practice mode, and self-learning guides */
.location-picker{margin:.15rem 0 .4rem;padding:1rem;border:1px solid #d9e6dd;border-radius:18px;background:#fbfdfb}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.location-source-note{margin:.65rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.location-source-note [data-location-status]{font-weight:800;color:var(--green)}
.practice-mode-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid #e8dfc5;border-radius:18px;background:#fffaf0}.practice-mode-card.active{border-color:#b8ddc3;background:#eef9f1}.practice-mode-card p{margin:.25rem 0 0;color:var(--muted)}
.guide-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:1rem 0}.guide-role-card{padding:1rem;border:1px solid var(--line);border-radius:18px;background:#fff}.guide-role-card h3{margin:.1rem 0 .4rem;color:var(--green)}.guide-role-card p{margin:0;color:var(--muted);line-height:1.5}.guide-quickstart{counter-reset:guide-step;display:grid;gap:.65rem;margin:.75rem 0}.guide-quickstart>div{display:grid;grid-template-columns:2.1rem 1fr;gap:.7rem;align-items:start;padding:.75rem;border-radius:15px;background:#f5faf6}.guide-quickstart>div:before{counter-increment:guide-step;content:counter(guide-step);display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:999px;background:var(--green);color:#fff;font-weight:900}.guide-chapter summary{cursor:pointer}.guide-chapter summary span{display:block;color:var(--muted);margin-top:.15rem;font-weight:500}.guide-chapter-body{padding-top:.7rem}.guide-chapter-body li{margin:.5rem 0;line-height:1.5}
.update-safety-note{padding:.9rem 1rem;border:1px solid #cfe7d6;background:#f0faf3;border-radius:16px;color:#214c34}.backup-restore-warning{padding:.85rem;border-radius:14px;background:#fff7e5;border:1px solid #ecd8a8}
@media(max-width:760px){.location-grid{grid-template-columns:1fr}.guide-role-grid{grid-template-columns:1fr}.practice-mode-card{align-items:flex-start;flex-direction:column}}

/* RapiRamp v4.3 Mobile Workflow: guided wizard forms, smart input, compact practice context */
.practice-context-chip{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;width:max-content;max-width:100%;margin:.15rem 0 .7rem;padding:.38rem .62rem;border:1px solid #eadcb0;border-radius:999px;background:#fffaf0;color:#6d5721;font-size:.78rem;line-height:1.2}.practice-context-chip strong{color:#805d08}.practice-context-chip a{color:var(--green);font-weight:900;text-decoration:none;margin-left:.1rem}.practice-context-chip span:nth-of-type(2){color:#756b53}
.wizard-form{display:block!important;position:relative}.wizard-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.45rem;margin:0 0 1rem}.wizard-progress-item{appearance:none;border:0;background:transparent;color:#728078;display:flex;align-items:center;gap:.42rem;text-align:left;padding:.35rem;min-width:0;cursor:pointer;border-radius:14px}.wizard-progress-item span{display:grid;place-items:center;flex:0 0 1.85rem;width:1.85rem;height:1.85rem;border-radius:999px;background:#e9efeb;color:#597064;font-weight:900}.wizard-progress-item small{font-size:.72rem;font-weight:800;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.wizard-progress-item.active{background:#f0f8f2;color:#0d4f36}.wizard-progress-item.active span{background:var(--green);color:#fff}.wizard-progress-item.done span{background:#d9f0df;color:#11613f}.wizard-progress-item:disabled{cursor:default;opacity:.72}
.wizard-shell{min-width:0}.wizard-step{animation:wizardFade .18s ease}.wizard-step[hidden]{display:none!important}@keyframes wizardFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.wizard-step-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.wizard-step-number{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:14px;background:#e8f4eb;color:var(--green);font-weight:950}.wizard-step-head strong{display:block;color:#143828;font-size:1.04rem}.wizard-step-head small{display:block;color:var(--muted);margin-top:.1rem}.wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:start}.wizard-fields>label,.wizard-fields>.location-picker,.wizard-fields>.checkbox-line,.wizard-fields>.card-subsection{min-width:0}.wizard-fields>.span-2,.wizard-fields>.location-picker{grid-column:1/-1}.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-top:1.15rem;padding-top:.9rem;border-top:1px solid var(--line)}.wizard-nav>.btn:last-child{margin-left:auto}.wizard-final-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:.6rem;width:100%;margin:0!important;padding:0!important;border:0!important}.wizard-note{margin:.75rem 0 0;padding:.55rem .7rem;border-radius:12px;background:#f7faf8}.wizard-inline-error{margin:0 0 .7rem;padding:.65rem .8rem;border-radius:12px;background:#fff1ee;color:#9b3425;font-weight:800}.wizard-form input,.wizard-form select,.wizard-form textarea{width:100%}.wizard-form label{line-height:1.35}.gps-auto-btn{align-self:end;margin-top:1.45rem;min-height:44px}.smart-input-toast{position:fixed;left:50%;bottom:calc(6.1rem + var(--mobile-safe-bottom));transform:translate(-50%,12px);z-index:290;background:#143828;color:#fff;padding:.7rem .9rem;border-radius:14px;box-shadow:0 16px 45px rgba(0,0,0,.22);font-size:.82rem;font-weight:800;opacity:0;pointer-events:none;transition:.18s ease;max-width:min(420px,calc(100vw - 2rem));text-align:center}.smart-input-toast.show{opacity:1;transform:translate(-50%,0)}
/* Operational pages: reduce visual noise and keep the primary action obvious. */
.page-title{margin-bottom:.75rem}.page-title h1{font-size:clamp(1.45rem,3vw,2rem)}.page-title p{max-width:720px}.app-page>.guide-tip{margin-top:0}.card>.filter-bar{padding:.1rem 0}.form-grid.wide.wizard-form{grid-template-columns:1fr!important}
@media(max-width:760px){.wizard-progress{display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}.wizard-progress::-webkit-scrollbar{display:none}.wizard-progress-item{flex:0 0 auto;max-width:140px}.wizard-progress-item small{max-width:92px}.wizard-fields{grid-template-columns:1fr}.wizard-fields>.span-2,.wizard-fields>.location-picker{grid-column:auto}.wizard-nav{position:sticky;bottom:calc(4.9rem + var(--mobile-safe-bottom));z-index:40;margin-left:-.35rem;margin-right:-.35rem;padding:.65rem;background:rgba(255,255,255,.96);border:1px solid #dde7e0;border-radius:18px;box-shadow:0 12px 35px rgba(13,79,54,.12);backdrop-filter:blur(10px)}.wizard-nav .btn{min-height:46px;flex:1}.wizard-final-actions{display:grid!important;grid-template-columns:1fr 1.4fr}.practice-context-chip{width:100%;border-radius:14px;font-size:.74rem}.practice-context-chip span:nth-of-type(2){flex:1}.gps-auto-btn{margin-top:0}.smart-input-toast{bottom:calc(5.8rem + var(--mobile-safe-bottom))}}
@media(max-width:420px){.wizard-step-head{margin-bottom:.7rem}.wizard-fields{gap:.7rem}.wizard-progress-item small{display:none}.wizard-progress-item{padding:.2rem}.wizard-progress-item span{width:1.7rem;height:1.7rem;flex-basis:1.7rem}.wizard-final-actions{grid-template-columns:1fr}.wizard-final-actions .btn,.wizard-final-actions a{width:100%;justify-content:center}}

/* v4.3 daily workflow dashboard */
.daily-workflow-card{padding:1rem 1.05rem;margin:.8rem 0;border-color:#cfe0d4;background:linear-gradient(180deg,#fff,#fbfdfb)}.daily-workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.daily-workflow-head h2{margin:.15rem 0 0;font-size:1.18rem}.workflow-score{display:grid;place-items:center;min-width:64px;padding:.55rem .65rem;border-radius:18px;background:#edf7ef;color:var(--green)}.workflow-score strong{font-size:1.15rem}.workflow-score span{font-size:.68rem;font-weight:800}.daily-flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.daily-flow-step{display:flex;align-items:center;gap:.55rem;padding:.7rem;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;color:inherit;min-width:0}.daily-flow-step>span{display:grid;place-items:center;flex:0 0 1.9rem;width:1.9rem;height:1.9rem;border-radius:999px;background:#edf0ee;color:#66736b;font-weight:950}.daily-flow-step strong,.daily-flow-step small{display:block}.daily-flow-step strong{font-size:.84rem;color:#173829}.daily-flow-step small{font-size:.69rem;color:var(--muted);margin-top:.1rem;line-height:1.25}.daily-flow-step.done{border-color:#cbe5d2;background:#f4fbf6}.daily-flow-step.done>span{background:#cfead7;color:#12613f}.daily-flow-step.done>span:after{content:'✓';font-size:.74rem}.daily-flow-step.done>span{font-size:0}.daily-flow-step.next{border-color:#e2c77e;background:#fffaf0;box-shadow:0 6px 18px rgba(144,103,7,.08)}.daily-flow-step.next>span{background:#ffe9ad;color:#775400}.workflow-next-action{display:flex;align-items:center;gap:.65rem;margin-top:.75rem;padding:.75rem .85rem;border-radius:17px;background:var(--green);color:#fff;text-decoration:none}.workflow-next-action>span{font-size:1.25rem}.workflow-next-action div{flex:1}.workflow-next-action small,.workflow-next-action strong{display:block}.workflow-next-action small{font-size:.67rem;opacity:.8}.workflow-next-action strong{font-size:.9rem;margin-top:.08rem}.workflow-next-action b{font-size:1.2rem}.dashboard-more{padding:.1rem .8rem;margin:.85rem 0}.dashboard-more>summary{display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:center;cursor:pointer;padding:.8rem .25rem;list-style:none}.dashboard-more>summary::-webkit-details-marker{display:none}.dashboard-more>summary>span{grid-row:1/3;font-size:1.15rem}.dashboard-more>summary strong{font-size:.9rem}.dashboard-more>summary small{color:var(--muted);font-size:.72rem}.dashboard-more[open]>summary{border-bottom:1px solid var(--line);margin-bottom:.7rem}
@media(max-width:760px){.daily-workflow-head h2{font-size:1rem}.daily-flow-steps{grid-template-columns:1fr 1fr}.daily-flow-step{padding:.65rem}.daily-flow-step small{font-size:.67rem}.workflow-next-action{padding:.8rem}.office-command-grid{grid-template-columns:1fr}.dashboard-more{padding:.1rem .65rem}}
@media(max-width:420px){.daily-flow-steps{grid-template-columns:1fr}.daily-flow-step{min-height:58px}.workflow-score{min-width:58px}.daily-workflow-card{padding:.85rem}}

/* v4.3 smart relation lookup */
.smart-select-search{display:grid;gap:.45rem;width:100%}
.smart-select-filter{min-height:40px;background:var(--surface-soft,#f8faf8);border-style:dashed}
.wizard-step .smart-select-search select{width:100%}
@media(max-width:720px){.smart-select-filter{font-size:16px;min-height:44px}}
.sidebar-practice-status{display:flex;align-items:center;gap:.65rem;margin:.25rem .65rem .7rem;padding:.65rem .75rem;border-radius:14px;background:rgba(245,158,11,.11);border:1px solid rgba(245,158,11,.26);color:inherit;text-decoration:none}
.sidebar-practice-status>span:first-child{font-size:1.05rem}
.sidebar-practice-status>span:last-child{display:grid;gap:.05rem;min-width:0}
.sidebar-practice-status strong{font-size:.82rem}.sidebar-practice-status small{font-size:.7rem;color:var(--muted)}
.sidebar-practice-status:hover{background:rgba(245,158,11,.17)}
.smart-suggestion-chips{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem}
.smart-suggestion-chip{border:1px solid var(--border,#dde4df);background:var(--surface-soft,#f8faf8);border-radius:999px;padding:.28rem .55rem;font:inherit;font-size:.72rem;color:var(--muted);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.smart-suggestion-chip:hover{border-color:var(--primary,#176b43);color:var(--primary,#176b43)}

/* Guided Operations v4.3 */
.wizard-form > .legacy-form-heading{display:none}

/* ========================================================================== */
/* RapiRamp v4.4.0 — Focused Home + Superadmin Control Center                  */
/* ========================================================================== */
.focus-home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;padding:1.15rem 1.25rem;margin:.4rem 0 .85rem;border:1px solid #d8e5dc;border-radius:28px;background:linear-gradient(135deg,#fffdf9,#f4f9f5);box-shadow:0 14px 38px rgba(13,79,54,.07)}
.focus-home-copy{min-width:0}.focus-home-copy h1{margin:.18rem 0 .35rem;font-size:clamp(1.65rem,4vw,2.65rem);line-height:1.03;letter-spacing:-.035em;color:#143a29}.focus-home-copy p{margin:0;color:var(--muted)}
.focus-home-volume{min-width:150px;padding:.85rem 1rem;border-radius:22px;background:#0d5d3e;color:#fff;text-align:right}.focus-home-volume span,.focus-home-volume small{display:block;opacity:.78;font-size:.72rem;font-weight:800}.focus-home-volume strong{display:block;font-size:1.65rem;line-height:1.05;margin:.15rem 0}
.home-primary-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin:.8rem 0}.home-primary-action,.home-more-action>summary{min-height:88px;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid #d8e4dc;border-radius:22px;background:#fff;color:#193829;text-decoration:none;cursor:pointer;list-style:none}.home-primary-action:hover,.home-more-action>summary:hover{border-color:#b6d2c0;box-shadow:0 10px 28px rgba(13,79,54,.08)}.home-primary-action.primary{background:#0d5d3e;color:#fff;border-color:#0d5d3e}.home-primary-action>span,.home-more-action>summary>span{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:16px;background:#eff7f1;font-size:1.35rem}.home-primary-action.primary>span{background:rgba(255,255,255,.15)}.home-primary-action strong,.home-primary-action small,.home-more-action strong,.home-more-action small{display:block}.home-primary-action small,.home-more-action small{margin-top:.15rem;color:inherit;opacity:.7;font-size:.72rem}.home-more-action{position:relative}.home-more-action>summary::-webkit-details-marker{display:none}.home-more-menu{position:absolute;z-index:35;right:0;top:calc(100% + .45rem);width:min(330px,calc(100vw - 2rem));padding:.45rem;border:1px solid #d9e5dc;background:#fffdf9;border-radius:20px;box-shadow:0 24px 65px rgba(13,79,54,.18)}.home-more-menu a{display:block;padding:.78rem .85rem;border-radius:15px;color:#173729;text-decoration:none;font-weight:850}.home-more-menu a:hover{background:#eff7f1}
.next-work-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem 1.05rem;border-color:#c8ded0;background:linear-gradient(180deg,#fff,#fbfdfb)}.next-work-card.complete{border-color:#cce5d2;background:#f5fbf6}.next-work-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#edf7ef;font-size:1.5rem}.next-work-copy h2{margin:.1rem 0 .2rem;font-size:1.08rem}.next-work-copy p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}
.attention-card{padding:1rem 1.05rem}.attention-card.all-clear{border-color:#d8eadc;background:#fbfefb}.attention-card .card-head h2,.admin-attention-card .card-head h2{margin:.15rem 0 0}.attention-count,.all-clear-mark{display:grid;place-items:center;min-width:38px;height:38px;padding:0 .65rem;border-radius:999px;font-weight:950}.attention-count{background:#fff0cf;color:#7c5700}.all-clear-mark{background:#dff3e5;color:#17643f;font-size:1.15rem}.attention-list{display:grid;gap:.48rem;margin-top:.75rem}.attention-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.7rem .75rem;border:1px solid #e2e8e3;border-radius:16px;background:#fff;text-decoration:none;color:inherit}.attention-item>span{font-size:1.15rem}.attention-item strong,.attention-item small{display:block}.attention-item strong{font-size:.85rem}.attention-item small{margin-top:.1rem;color:var(--muted);font-size:.72rem}.attention-item b{font-size:1.25rem;color:#839188}.attention-item.warning{border-color:#efdcae;background:#fffaf0}.attention-item.danger{border-color:#edc7c2;background:#fff7f5}
.daily-progress-minimal{padding:.9rem 1rem}.progress-number{font-size:1.25rem;color:#0d5d3e}.minimal-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.minimal-steps a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;border:1px solid #dde5df;border-radius:15px;text-decoration:none;color:#66736b;font-weight:850;background:#fff}.minimal-steps i{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#edf0ee;font-style:normal;font-size:.72rem}.minimal-steps a.done{background:#f1faf4;border-color:#cce5d3;color:#17643f}.minimal-steps a.done i{font-size:0;background:#d8eedf}.minimal-steps a.done i:after{content:'✓';font-size:.72rem}.minimal-steps a.next{background:#fff9ed;border-color:#e7ce8e;color:#755300}.home-summary-stats{margin-top:.1rem}.home-control-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.7rem 0}.home-control-links a{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;padding:.75rem;border:1px solid #e0e7e2;border-radius:15px;text-decoration:none;color:#193829;background:#fff}.home-details>summary{padding:.85rem .25rem}

.admin-control-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.2rem;margin:.35rem 0 .8rem}.admin-control-hero h1{display:flex;align-items:center;gap:.5rem;margin:.12rem 0 .25rem;font-size:1.55rem}.admin-control-hero p{margin:0;color:var(--muted)}.admin-control-hero.healthy{border-color:#cee4d4;background:#f7fcf8}.admin-control-hero.needs-attention{border-color:#ebd3a7;background:#fffaf0}.admin-focus-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.75rem 0}.admin-focus-stat{display:block;padding:.9rem 1rem;border:1px solid #dce6df;border-radius:19px;background:#fff;text-decoration:none;color:#193829}.admin-focus-stat span,.admin-focus-stat small{display:block;color:var(--muted);font-size:.72rem;font-weight:750}.admin-focus-stat strong{display:block;margin:.14rem 0;font-size:1.45rem;color:#0d5d3e}.admin-attention-card{padding:1rem 1.05rem}.admin-control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.8rem 0}.admin-control-actions>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.9rem 1rem;border:1px solid #dbe5de;border-radius:19px;background:#fff;text-decoration:none;color:#193829}.admin-control-actions>a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#eef7f1;font-size:1.25rem}.admin-control-actions strong,.admin-control-actions small{display:block}.admin-control-actions small{margin-top:.13rem;color:var(--muted);font-size:.72rem;line-height:1.35}.admin-control-actions b{font-size:1.25rem;color:#809087}.admin-details{margin:.65rem 0}.admin-audit-timeline{margin-top:.5rem}

.admin-data-nav{padding:.85rem 1rem}.admin-data-group+.admin-data-group{margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--line)}.admin-data-group>strong{display:block;margin-bottom:.5rem;font-size:.78rem;color:#53665a}.admin-data-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.admin-data-tabs a{padding:.5rem .68rem;border:1px solid #dce5df;border-radius:999px;background:#fff;text-decoration:none;color:#2b4638;font-size:.76rem;font-weight:850}.admin-data-tabs a.active{background:#0d5d3e;border-color:#0d5d3e;color:#fff}.admin-data-form-card,.admin-data-list-card{margin-top:.75rem}.admin-location-block{padding:.8rem;border:1px dashed #cad9cf;border-radius:18px;background:#fbfdfb}.admin-location-block h3{margin:0 0 .65rem;font-size:.9rem}.admin-data-safety{margin-top:.75rem;background:#f7faf8}.admin-data-safety p{margin:.3rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}.danger-text{color:#a3362b!important}

@media(max-width:900px){.home-primary-actions{grid-template-columns:1fr 1fr}.home-more-action{grid-column:1/-1}.home-more-action>summary{min-height:70px}.admin-focus-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-control-actions{grid-template-columns:1fr}}
@media(max-width:680px){.focus-home-hero{align-items:stretch;flex-direction:column;padding:1rem;border-radius:24px}.focus-home-volume{text-align:left;min-width:0}.focus-home-copy h1{font-size:2rem}.home-primary-actions{grid-template-columns:1fr 1fr;gap:.55rem}.home-primary-action,.home-more-action>summary{min-height:78px;padding:.72rem}.home-primary-action>span,.home-more-action>summary>span{width:40px;height:40px;flex-basis:40px}.next-work-card{grid-template-columns:auto 1fr}.next-work-card .btn{grid-column:1/-1;width:100%;justify-content:center}.minimal-steps{grid-template-columns:1fr 1fr}.home-control-links{grid-template-columns:1fr}.admin-control-hero{align-items:flex-start;flex-direction:column}.admin-control-hero .btn{width:100%;justify-content:center}.admin-focus-stats{grid-template-columns:1fr 1fr}.admin-data-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.15rem}.admin-data-tabs a{white-space:nowrap}.admin-data-form-card .form-grid.wide{grid-template-columns:1fr}.admin-data-form-card .span-2{grid-column:auto}}
@media(max-width:420px){.home-primary-actions{grid-template-columns:1fr}.home-more-action{grid-column:auto}.admin-focus-stats{grid-template-columns:1fr 1fr}.admin-focus-stat{padding:.75rem}.admin-focus-stat strong{font-size:1.25rem}}
/* v4.5.0 field-flow helpers */
.expense-row{display:grid;grid-template-columns:1.1fr 1.5fr 1fr auto;gap:.6rem;margin-bottom:.6rem;align-items:center}.expense-row input{min-width:0}@media(max-width:720px){.expense-row{grid-template-columns:1fr 1fr}.expense-row .expense-remove{justify-self:end}.expense-row input:nth-child(2){grid-column:1/-1}}


/* RapiRamp v4.6.0 — Ramp HR & Payroll */
.hr-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.8rem 0}.hr-module-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.95rem 1rem;border:1px solid #dce6df;border-radius:19px;background:#fff;text-decoration:none;color:#193829;min-width:0}.hr-module-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#eef7f1;font-size:1.25rem}.hr-module-card.primary{border-color:#bedbc7;background:#f5fbf6}.hr-module-card strong,.hr-module-card small{display:block}.hr-module-card small{margin-top:.14rem;color:var(--muted);font-size:.73rem;line-height:1.35}.hr-module-card b{color:#84918a;font-size:1.25rem}.hr-rate-source-banner{padding:.8rem .9rem;border:1px solid #cfe3d5;border-radius:16px;background:#f4fbf6;margin:.65rem 0;color:#315541}.hr-rate-source-banner strong{color:#0d5d3e}.hr-source-mark{display:inline-flex;align-items:center;gap:.3rem;padding:.24rem .48rem;border-radius:999px;background:#edf6ef;color:#285c3f;font-size:.68rem;font-weight:850}.hr-impact-preview{padding:.85rem;border:1px solid #e8d8aa;border-radius:16px;background:#fffaf0;margin:.7rem 0}.hr-impact-preview strong{color:#765400}.hr-auto-source-note{padding:.6rem .72rem;border-radius:13px;background:#f6faf7;color:#52665a;font-size:.77rem;line-height:1.45}.payroll-status-flow{display:flex;align-items:center;gap:.35rem;overflow-x:auto;padding:.4rem 0;scrollbar-width:none}.payroll-status-flow span{white-space:nowrap;padding:.38rem .58rem;border-radius:999px;background:#edf1ee;color:#68756e;font-size:.7rem;font-weight:850}.payroll-status-flow span.active{background:#0d5d3e;color:#fff}.payroll-status-flow i{color:#91a098;font-style:normal}.payroll-employee-card{margin:.7rem 0;border:1px solid #dde6df;border-radius:18px;background:#fff;padding:.9rem}.payroll-employee-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.payroll-employee-card h3{margin:.05rem 0}.payroll-line-net{font-size:1.15rem;font-weight:950;color:#0d5d3e}.payroll-adjustment{padding:.75rem;border-radius:15px;background:#f8faf8;border:1px dashed #cedbd2}.payslip-sheet{max-width:780px;margin:1rem auto;padding:1.35rem;border:1px solid #dce5df;border-radius:22px;background:#fff}.payslip-head{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid #e3e9e5}.payslip-head h1{margin:.1rem 0}.payslip-person{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1rem 0}.payslip-person>div{padding:.65rem .75rem;border-radius:14px;background:#f7faf8}.payslip-person small,.payslip-person strong{display:block}.payslip-person small{color:var(--muted);font-size:.7rem}.payslip-total{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}.payslip-total>div{padding:.8rem;border-radius:16px;background:#f5f8f6}.payslip-total span,.payslip-total strong{display:block}.payslip-total span{font-size:.7rem;color:var(--muted)}.payslip-total strong{font-size:1.05rem;margin-top:.15rem}.payslip-total .net{background:#edf8f0;color:#0d5d3e}
@media(max-width:760px){.hr-module-grid{grid-template-columns:1fr}.payslip-person{grid-template-columns:1fr}.payslip-total{grid-template-columns:1fr}.payroll-employee-card header{flex-direction:column}.payslip-sheet{padding:1rem;border-radius:18px}}
@media print{.payslip-sheet{max-width:none;border:0;box-shadow:none;margin:0;padding:0}.payslip-sheet .btn,.payslip-sheet .no-print{display:none!important}}

/* RapiRamp v4.6.2 UI hotfix: focused desktop navigation + HR overview polish */
@media (min-width:1041px){
  .app-shell,.superadmin-shell{
    min-height:calc(100dvh - 72px)!important;
    align-items:stretch!important;
  }
  .app-shell{
    background:linear-gradient(90deg,var(--sidebar-bg-2) 0 var(--sidebar-w),transparent var(--sidebar-w));
  }
  .superadmin-shell{background:transparent!important;}
  #mainSidebar.app-sidebar,#superadminSidebar.superadmin-sidebar{
    top:72px!important;
    height:calc(100dvh - 72px)!important;
    min-height:calc(100dvh - 72px)!important;
    max-height:calc(100dvh - 72px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
    align-self:start!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .app-page,.superadmin-page{min-height:calc(100dvh - 72px)!important;}
}

/* Sidebar categories behave as a focused accordion. The active category is the visual anchor. */
.app-nav-group,.superadmin-nav-group{transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.app-nav-group:not([open]),.superadmin-nav-group:not([open]){background:rgba(255,255,255,.025)!important}
.app-nav-group.active-group,.superadmin-nav-group.active-group{border-color:rgba(255,202,114,.42)!important;background:rgba(255,255,255,.07)!important}
.app-nav-group.active-group>summary,.superadmin-nav-group.active-group>summary{color:#fff7df!important}
.app-nav-group:not([open])>summary,.superadmin-nav-group:not([open])>summary{padding-top:.76rem!important;padding-bottom:.76rem!important}
.app-nav-group>summary:hover,.superadmin-nav-group>summary:hover{background:rgba(255,255,255,.07)!important}

/* HR overview: use the desktop canvas properly and keep cards readable at all widths. */
.hr-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1rem}
.hr-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.15rem 0 .75rem;padding:.1rem .1rem 0}
.hr-section-head h2{margin:.2rem 0 .25rem;color:#123b28;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.2}
.hr-section-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.48}
.hr-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;margin:.75rem 0 1.2rem!important;align-items:stretch}
.hr-module-card{grid-template-columns:52px minmax(0,1fr) 28px!important;gap:.9rem!important;min-height:116px;padding:1.05rem 1.1rem!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fffdf8)!important;box-shadow:0 10px 26px rgba(13,79,54,.06);overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.hr-module-card:hover{transform:translateY(-2px);border-color:#b9d8c2!important;box-shadow:0 16px 34px rgba(13,79,54,.10);text-decoration:none!important}
.hr-module-card.primary{background:linear-gradient(180deg,#f3fbf5,#edf8f0)!important;border-color:#b9d9c3!important}
.hr-module-card>span{width:52px!important;height:52px!important;border-radius:17px!important;font-size:1.35rem!important;align-self:start}
.hr-module-card>div{min-width:0;align-self:center}
.hr-module-card strong{font-size:1rem;line-height:1.28;color:#0d5d3e;overflow-wrap:anywhere}
.hr-module-card small{margin-top:.28rem!important;font-size:.82rem!important;line-height:1.45!important;color:#5d6d63!important;white-space:normal;overflow-wrap:anywhere}
.hr-module-card b{align-self:center;justify-self:end;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#f1f6f2;color:#54705f!important}

@media (max-width:1320px) and (min-width:761px){
  .hr-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hr-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .hr-stats-grid{grid-template-columns:1fr!important}
  .hr-module-grid{grid-template-columns:1fr!important}
  .hr-section-head{align-items:flex-start;flex-direction:column}
  .hr-module-card{min-height:0;grid-template-columns:46px minmax(0,1fr) 26px!important;padding:.9rem!important}
  .hr-module-card>span{width:46px!important;height:46px!important}
}

/* RapiRamp v4.7.0 — natural sidebar flow, structured positions, owner portfolio */
@media (min-width:1041px){
  #mainSidebar.app-sidebar,#superadminSidebar.superadmin-sidebar{
    height:calc(100dvh - 72px)!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-gutter:auto!important;
    border-bottom:0!important;
  }
  .app-shell,.superadmin-shell{
    align-items:start!important;
    min-height:calc(100dvh - 72px)!important;
  }
  .app-sidebar .app-nav-links,.superadmin-sidebar .superadmin-nav-links{max-height:none!important;overflow:visible!important}
}

.role-position-explainer,.position-principle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.65rem 0 1rem}
.role-position-explainer>div,.position-principle>div{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem .9rem;border:1px solid #d7e5dc;border-radius:17px;background:#f8fbf9;min-width:0}
.role-position-explainer>div>span,.position-principle>div>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#eaf5ed;font-size:1.05rem}
.role-position-explainer p{margin:0}.role-position-explainer strong,.role-position-explainer small,.position-principle strong,.position-principle small{display:block}.role-position-explainer small,.position-principle small{margin-top:.15rem;color:var(--muted);line-height:1.4}

.portfolio-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;margin:0 0 .8rem;border:1px solid #cfe2d5;border-radius:26px;background:linear-gradient(135deg,#f3faf5,#fffaf0)}
.portfolio-hero h1{margin:.22rem 0 .3rem;color:#073f2b;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.08}.portfolio-hero p{margin:0;color:#607168}.portfolio-hero-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.portfolio-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.85rem 1rem}.portfolio-filter{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(2,minmax(145px,.8fr)) auto;gap:.65rem;align-items:end;flex:1}.portfolio-filter label{margin:0}.portfolio-presets{display:flex;gap:.35rem;flex-wrap:wrap}.portfolio-presets a{padding:.5rem .68rem;border:1px solid #d8e4dc;border-radius:999px;background:#fff;color:#496156;font-size:.78rem;font-weight:850;text-decoration:none;white-space:nowrap}.portfolio-presets a.active,.portfolio-presets a:hover{background:#0d5d3e;color:#fff;border-color:#0d5d3e}
.portfolio-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:.8rem 0}.portfolio-kpis article{min-width:0;padding:.92rem;border:1px solid #dce7df;border-radius:20px;background:#fff;box-shadow:0 8px 20px rgba(13,79,54,.05)}.portfolio-kpis article.warning{background:#fff9ef;border-color:#ead7ad}.portfolio-kpis span,.portfolio-kpis small,.portfolio-kpis strong{display:block}.portfolio-kpis span{color:#66776e;font-size:.73rem;font-weight:800}.portfolio-kpis strong{margin:.26rem 0 .18rem;color:#075136;font-size:clamp(1.05rem,1.75vw,1.55rem);line-height:1.15;overflow-wrap:anywhere}.portfolio-kpis small{color:#849088;font-size:.7rem;line-height:1.35}
.portfolio-attention{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:.8rem 0}.portfolio-health-grid .card{margin:0}.portfolio-health-grid h3{margin:.3rem 0 .65rem;color:#143e2b}.portfolio-health-grid dl{margin:0}.portfolio-health-grid dl>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #e7ece9}.portfolio-health-grid dl>div:last-child{border-bottom:0}.portfolio-health-grid dt{color:#66776e;font-size:.78rem}.portfolio-health-grid dd{margin:0;font-weight:900;color:#193b2b;text-align:right}
.portfolio-ranking{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.8rem 0}.portfolio-ranking .card{margin:0;padding:.9rem}.portfolio-ranking small,.portfolio-ranking strong,.portfolio-ranking span{display:block}.portfolio-ranking small{color:#78867e;font-size:.72rem}.portfolio-ranking strong{margin:.28rem 0 .18rem;color:#153e2b;line-height:1.25}.portfolio-ranking span{color:#0d5d3e;font-weight:900}.portfolio-table th,.portfolio-table td{white-space:nowrap}.portfolio-table td:first-child{position:sticky;left:0;background:#fff;z-index:1}.portfolio-table thead th:first-child{position:sticky;left:0;z-index:2}

@media(max-width:1320px) and (min-width:761px){.portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-health-grid{grid-template-columns:1fr 1fr}.portfolio-ranking{grid-template-columns:1fr 1fr}.portfolio-toolbar{align-items:stretch;flex-direction:column}.portfolio-filter{grid-template-columns:1fr 1fr 1fr auto}}
@media(max-width:760px){.role-position-explainer,.position-principle{grid-template-columns:1fr}.portfolio-hero{align-items:flex-start;flex-direction:column;padding:1rem}.portfolio-hero-actions{width:100%}.portfolio-hero-actions .btn{flex:1;justify-content:center}.portfolio-toolbar{align-items:stretch;flex-direction:column}.portfolio-filter{grid-template-columns:1fr 1fr}.portfolio-filter label:first-child{grid-column:1/-1}.portfolio-filter .btn{grid-column:1/-1}.portfolio-presets{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem}.portfolio-kpis{grid-template-columns:1fr 1fr}.portfolio-attention{grid-template-columns:1fr}.portfolio-health-grid,.portfolio-ranking{grid-template-columns:1fr}}
@media(max-width:420px){.portfolio-kpis{grid-template-columns:1fr}}

/* ========================================================================== */
/* RapiRamp v4.8.0 — Per-user visual themes                                    */
/* Themes alter presentation only. Layout, interaction, status semantics,     */
/* and operational workflows remain identical across themes.                  */
/* ========================================================================== */
.theme-settings-card{scroll-margin-top:92px}.theme-settings-card .card-head{align-items:flex-start}.theme-settings-card .card-head p{margin:.28rem 0 0;max-width:780px;line-height:1.5}.theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:.8rem 0}.theme-choice{position:relative;display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:.75rem;border:1px solid var(--line);border-radius:22px;background:var(--card);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.theme-choice:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,79,54,.10)}.theme-choice.selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 18%,transparent),0 14px 30px rgba(13,79,54,.08)}.theme-choice input{position:absolute;opacity:0;pointer-events:none}.theme-choice-preview{grid-column:1/-1;height:132px;display:grid;grid-template-columns:32% 1fr;border-radius:16px;overflow:hidden;border:1px solid rgba(30,45,35,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.theme-mini-sidebar{display:flex;flex-direction:column;gap:.42rem;padding:.65rem .5rem}.theme-mini-sidebar:before{content:'';display:block;width:24px;height:24px;border-radius:8px;margin-bottom:.2rem}.theme-mini-sidebar i{display:block;height:9px;border-radius:999px;opacity:.82}.theme-mini-canvas{display:grid;grid-template-rows:22px 1fr 24px;gap:.55rem;padding:.65rem}.theme-mini-canvas>b,.theme-mini-canvas>em{display:block;border-radius:7px}.theme-mini-canvas>span{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.theme-mini-canvas>span i{display:block;border-radius:8px}.theme-choice-copy{min-width:0}.theme-choice-copy strong,.theme-choice-copy small{display:block}.theme-choice-copy strong{font-size:1rem;color:var(--text)}.theme-choice-copy small{margin-top:.22rem;color:var(--muted);font-size:.78rem;line-height:1.4}.theme-choice-check{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:color-mix(in srgb,var(--green) 10%,var(--card));color:var(--muted);font-weight:950}.theme-choice.selected .theme-choice-check{background:var(--green);color:#fff}.theme-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.25rem}.theme-picker-actions>div{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.theme-preview-hijau-ramp{background:#f7f2e8}.theme-preview-hijau-ramp .theme-mini-sidebar{background:linear-gradient(180deg,#0d4f36,#073727)}.theme-preview-hijau-ramp .theme-mini-sidebar:before{background:#f2a53b}.theme-preview-hijau-ramp .theme-mini-sidebar i{background:#dbe9de}.theme-preview-hijau-ramp .theme-mini-canvas{background:#fffaf0}.theme-preview-hijau-ramp .theme-mini-canvas>b{background:#e7ddcc}.theme-preview-hijau-ramp .theme-mini-canvas>span i{background:#fffdf8;border:1px solid #e7ddcc}.theme-preview-hijau-ramp .theme-mini-canvas>em{background:#0d4f36}.theme-preview-pasir-cerah{background:#f2eadb}.theme-preview-pasir-cerah .theme-mini-sidebar{background:linear-gradient(180deg,#66735a,#4d5d48)}.theme-preview-pasir-cerah .theme-mini-sidebar:before{background:#d5a456}.theme-preview-pasir-cerah .theme-mini-sidebar i{background:#f3eadb}.theme-preview-pasir-cerah .theme-mini-canvas{background:#fbf6eb}.theme-preview-pasir-cerah .theme-mini-canvas>b{background:#ded1bb}.theme-preview-pasir-cerah .theme-mini-canvas>span i{background:#fffaf0;border:1px solid #ded1bb}.theme-preview-pasir-cerah .theme-mini-canvas>em{background:#66735a}.theme-preview-malam-hutan{background:#0c1511;border-color:#314138}.theme-preview-malam-hutan .theme-mini-sidebar{background:linear-gradient(180deg,#07110d,#0a1a12)}.theme-preview-malam-hutan .theme-mini-sidebar:before{background:#d9ab55}.theme-preview-malam-hutan .theme-mini-sidebar i{background:#587466}.theme-preview-malam-hutan .theme-mini-canvas{background:#111d17}.theme-preview-malam-hutan .theme-mini-canvas>b{background:#2c3d34}.theme-preview-malam-hutan .theme-mini-canvas>span i{background:#19271f;border:1px solid #34483d}.theme-preview-malam-hutan .theme-mini-canvas>em{background:#55bd7e}

/* Bright Sand — warmer surfaces, sage navigation, softer contrast. */
body[data-theme="pasir_cerah"]{--green:#5c704f;--green-2:#71845e;--gold:#c88f3f;--gold-2:#e4ba70;--bg:#f1eadc;--card:#fffaf0;--text:#302f29;--muted:#706d64;--line:#ddd1bd;--danger:#ad4d45;--warning:#9a6a22;--success:#4f7d55;--shadow:0 16px 38px rgba(83,76,58,.10);--sidebar-bg:#637057;--sidebar-bg-2:#4c5b47;--sidebar-soft:rgba(255,250,235,.10);--sidebar-line:rgba(255,250,235,.18);background:linear-gradient(180deg,#fbf7ee 0%,#f1eadc 100%)}
body[data-theme="pasir_cerah"] .topbar{background:rgba(255,250,240,.95);box-shadow:0 8px 28px rgba(92,80,56,.06)}
body[data-theme="pasir_cerah"] .brand-mark{background:#5c704f;color:#f6d99c;box-shadow:0 8px 18px rgba(76,91,71,.17)}
body[data-theme="pasir_cerah"] .lang-toggle{background:#f0dfbd;color:#51442f!important}body[data-theme="pasir_cerah"] .lang-toggle:hover{background:#e8d1a6}
body[data-theme="pasir_cerah"] .card,body[data-theme="pasir_cerah"] .stat-card,body[data-theme="pasir_cerah"] table,body[data-theme="pasir_cerah"] .home-primary-action,body[data-theme="pasir_cerah"] .home-more-action>summary,body[data-theme="pasir_cerah"] .attention-item,body[data-theme="pasir_cerah"] .minimal-steps a,body[data-theme="pasir_cerah"] .home-control-links a,body[data-theme="pasir_cerah"] .admin-focus-stat,body[data-theme="pasir_cerah"] .admin-control-actions>a,body[data-theme="pasir_cerah"] .hr-module-card,body[data-theme="pasir_cerah"] .payroll-employee-card,body[data-theme="pasir_cerah"] .payslip-sheet,body[data-theme="pasir_cerah"] .portfolio-kpis article,body[data-theme="pasir_cerah"] .portfolio-table td:first-child{background:#fffaf0!important}
body[data-theme="pasir_cerah"] th{background:#eee3cf;color:#4b4c42}body[data-theme="pasir_cerah"] th,body[data-theme="pasir_cerah"] td{border-bottom-color:#e4d8c5}
body[data-theme="pasir_cerah"] .form-grid input,body[data-theme="pasir_cerah"] .form-grid select,body[data-theme="pasir_cerah"] .form-grid textarea,body[data-theme="pasir_cerah"] .filter-bar input,body[data-theme="pasir_cerah"] .filter-bar select,body[data-theme="pasir_cerah"] .mini-actions input{background:#fffdf8;border-color:#d7c9b2;color:var(--text)}
body[data-theme="pasir_cerah"] .btn{background:#fffdf8;color:#384438}body[data-theme="pasir_cerah"] .btn.ghost{background:#f7efdf}body[data-theme="pasir_cerah"] .btn.primary{background:#5c704f;color:#fff;border-color:#5c704f}body[data-theme="pasir_cerah"] .btn.primary:hover{background:#71845e}
body[data-theme="pasir_cerah"] .focus-home-hero,body[data-theme="pasir_cerah"] .portfolio-hero{background:linear-gradient(135deg,#fffaf0,#eee6d7);border-color:#ded1bb}body[data-theme="pasir_cerah"] .focus-home-volume{background:#637057}body[data-theme="pasir_cerah"] .hr-module-card.primary{background:linear-gradient(180deg,#fbf6e9,#f0eadb)!important;border-color:#d9cdb7!important}
body[data-theme="pasir_cerah"] .role-position-explainer>div,body[data-theme="pasir_cerah"] .position-principle>div{background:#faf5ea;border-color:#ded1bd}body[data-theme="pasir_cerah"] .role-position-explainer>div>span,body[data-theme="pasir_cerah"] .position-principle>div>span{background:#ede5d3}
body[data-theme="pasir_cerah"] .app-nav-item:hover,body[data-theme="pasir_cerah"] .app-nav-item.active,body[data-theme="pasir_cerah"] .superadmin-nav-item:hover,body[data-theme="pasir_cerah"] .superadmin-nav-item.active{background:#fff6e5!important;color:#31402f!important}
body[data-theme="pasir_cerah"] .sidebar-avatar{background:#d7aa5a;color:#31362d}body[data-theme="pasir_cerah"] .app-nav-group summary:after,body[data-theme="pasir_cerah"] .superadmin-nav-group summary:after{color:#f0cd85}

/* Forest Night — dark, quiet surfaces with restrained green highlights. */
body[data-theme="malam_hutan"]{color-scheme:dark;--green:#58bd80;--green-2:#75d198;--gold:#d7aa55;--gold-2:#edc776;--bg:#0c1511;--card:#15211b;--text:#e8f1eb;--muted:#9eadA4;--line:#2d4035;--danger:#ff8580;--warning:#e8bc63;--success:#6dd69b;--shadow:0 16px 42px rgba(0,0,0,.24);--sidebar-bg:#07110d;--sidebar-bg-2:#0b1b13;--sidebar-soft:rgba(222,244,231,.07);--sidebar-line:rgba(222,244,231,.12);background:linear-gradient(180deg,#0f1914 0%,#0a120e 100%);color:var(--text)}
body[data-theme="malam_hutan"] a{color:#81d8a4}body[data-theme="malam_hutan"] .topbar{background:rgba(13,24,18,.95);border-color:#293c32;box-shadow:0 8px 28px rgba(0,0,0,.22)}body[data-theme="malam_hutan"] .brand,body[data-theme="malam_hutan"] .brand strong{color:#eef6f0}body[data-theme="malam_hutan"] .brand small{color:#9fafA5}body[data-theme="malam_hutan"] .brand-mark{background:#234f36;color:#edc776;box-shadow:0 8px 18px rgba(0,0,0,.26)}
body[data-theme="malam_hutan"] .page-title h1,body[data-theme="malam_hutan"] .focus-home-copy h1,body[data-theme="malam_hutan"] .portfolio-hero h1,body[data-theme="malam_hutan"] .portfolio-health-grid h3,body[data-theme="malam_hutan"] .portfolio-ranking strong,body[data-theme="malam_hutan"] .hr-module-card strong,body[data-theme="malam_hutan"] .superadmin-page .page-title h1{color:#edf6f0!important}
body[data-theme="malam_hutan"] .card,body[data-theme="malam_hutan"] .stat-card,body[data-theme="malam_hutan"] table,body[data-theme="malam_hutan"] .home-primary-action,body[data-theme="malam_hutan"] .home-more-action>summary,body[data-theme="malam_hutan"] .home-more-menu,body[data-theme="malam_hutan"] .attention-item,body[data-theme="malam_hutan"] .minimal-steps a,body[data-theme="malam_hutan"] .home-control-links a,body[data-theme="malam_hutan"] .admin-focus-stat,body[data-theme="malam_hutan"] .admin-control-actions>a,body[data-theme="malam_hutan"] .admin-data-tabs a,body[data-theme="malam_hutan"] .hr-module-card,body[data-theme="malam_hutan"] .payroll-employee-card,body[data-theme="malam_hutan"] .payslip-sheet,body[data-theme="malam_hutan"] .portfolio-kpis article,body[data-theme="malam_hutan"] .portfolio-table td:first-child,body[data-theme="malam_hutan"] .checkbox-card,body[data-theme="malam_hutan"] .theme-choice{background:#15211b!important;border-color:#2d4035!important;color:#e8f1eb!important;box-shadow:0 10px 28px rgba(0,0,0,.16)}
body[data-theme="malam_hutan"] .focus-home-hero,body[data-theme="malam_hutan"] .portfolio-hero,body[data-theme="malam_hutan"] .next-work-card,body[data-theme="malam_hutan"] .attention-card.all-clear,body[data-theme="malam_hutan"] .admin-control-hero.healthy{background:linear-gradient(135deg,#15231b,#101a15)!important;border-color:#30463a!important}
body[data-theme="malam_hutan"] .focus-home-volume{background:#234f36;color:#edf6f0}body[data-theme="malam_hutan"] .hr-module-card.primary{background:linear-gradient(180deg,#183025,#14251d)!important;border-color:#315a43!important}body[data-theme="malam_hutan"] .hr-module-card:hover{border-color:#47785b!important;box-shadow:0 16px 36px rgba(0,0,0,.26)}
body[data-theme="malam_hutan"] th{background:#1b2b23;color:#c7d7cd;border-color:#31443a}body[data-theme="malam_hutan"] td{border-bottom-color:#293b31;color:#e2ece5}body[data-theme="malam_hutan"] tr:hover td{background:#17271f}
body[data-theme="malam_hutan"] .form-grid label{color:#cfddd4}body[data-theme="malam_hutan"] .form-grid input,body[data-theme="malam_hutan"] .form-grid select,body[data-theme="malam_hutan"] .form-grid textarea,body[data-theme="malam_hutan"] .filter-bar input,body[data-theme="malam_hutan"] .filter-bar select,body[data-theme="malam_hutan"] .mini-actions input,body[data-theme="malam_hutan"] .login-card input{background:#0f1a15!important;border-color:#34483d!important;color:#edf6f0!important}body[data-theme="malam_hutan"] input::placeholder,body[data-theme="malam_hutan"] textarea::placeholder{color:#788b7f}
body[data-theme="malam_hutan"] .btn{background:#18261f;color:#dfeae3;border-color:#34483d}body[data-theme="malam_hutan"] .btn:hover{background:#203229}body[data-theme="malam_hutan"] .btn.ghost{background:#111c17}body[data-theme="malam_hutan"] .btn.primary{background:#58bd80!important;color:#07140d!important;border-color:#58bd80!important}body[data-theme="malam_hutan"] .btn.primary:hover{background:#75d198!important}
body[data-theme="malam_hutan"] .lang-toggle{background:#2b3b2f;color:#edc776!important}body[data-theme="malam_hutan"] .lang-toggle:hover{background:#364b3b}body[data-theme="malam_hutan"] .menu-toggle{background:#17261e;color:#9be1b5;border-color:#34483d}
body[data-theme="malam_hutan"] .stat-card strong,body[data-theme="malam_hutan"] .portfolio-kpis strong,body[data-theme="malam_hutan"] .portfolio-ranking span,body[data-theme="malam_hutan"] .payroll-line-net,body[data-theme="malam_hutan"] .progress-number{color:#79d99e!important}
body[data-theme="malam_hutan"] .stat-card.warning strong,body[data-theme="malam_hutan"] .portfolio-kpis article.warning strong{color:#e8bc63!important}body[data-theme="malam_hutan"] .portfolio-kpis article.warning,body[data-theme="malam_hutan"] .attention-item.warning,body[data-theme="malam_hutan"] .hr-impact-preview{background:#2a2418!important;border-color:#5a4a28!important}body[data-theme="malam_hutan"] .attention-item.danger{background:#2b1918!important;border-color:#613331!important}
body[data-theme="malam_hutan"] .badge{background:#25352c;color:#cbd8d0}body[data-theme="malam_hutan"] .badge.paid{background:#173b29;color:#8ce2ad}body[data-theme="malam_hutan"] .badge.unpaid,body[data-theme="malam_hutan"] .badge.warning{background:#3a301b;color:#edc776}body[data-theme="malam_hutan"] .badge.partial{background:#1d3041;color:#9bc6f4}body[data-theme="malam_hutan"] .badge.neutral{background:#23342b;color:#cbd8d0}
body[data-theme="malam_hutan"] .role-position-explainer>div,body[data-theme="malam_hutan"] .position-principle>div,body[data-theme="malam_hutan"] .hr-auto-source-note,body[data-theme="malam_hutan"] .payroll-adjustment,body[data-theme="malam_hutan"] .payslip-person>div,body[data-theme="malam_hutan"] .payslip-total>div{background:#111d17!important;border-color:#2d4035!important;color:#cbd8d0}body[data-theme="malam_hutan"] .role-position-explainer>div>span,body[data-theme="malam_hutan"] .position-principle>div>span,body[data-theme="malam_hutan"] .hr-module-card>span,body[data-theme="malam_hutan"] .admin-control-actions>a>span,body[data-theme="malam_hutan"] .home-primary-action>span,body[data-theme="malam_hutan"] .home-more-action>summary>span{background:#20352a!important}
body[data-theme="malam_hutan"] .portfolio-health-grid dl>div{border-bottom-color:#2b3d33}body[data-theme="malam_hutan"] .portfolio-health-grid dd{color:#e7f0ea}body[data-theme="malam_hutan"] .portfolio-presets a{background:#15211b;color:#afbeb5;border-color:#304238}body[data-theme="malam_hutan"] .portfolio-presets a.active,body[data-theme="malam_hutan"] .portfolio-presets a:hover{background:#58bd80;color:#07140d;border-color:#58bd80}
body[data-theme="malam_hutan"] .app-nav-item:hover,body[data-theme="malam_hutan"] .app-nav-item.active,body[data-theme="malam_hutan"] .superadmin-nav-item:hover,body[data-theme="malam_hutan"] .superadmin-nav-item.active{background:#1d3227!important;color:#eaf6ee!important;box-shadow:none}body[data-theme="malam_hutan"] .app-nav-item.danger:hover{background:#3a2020!important;color:#ffaaa5!important}body[data-theme="malam_hutan"] .sidebar-avatar{background:#d7aa55;color:#152016}
body[data-theme="malam_hutan"] .theme-choice.selected{border-color:#58bd80!important;box-shadow:0 0 0 2px rgba(88,189,128,.16),0 14px 30px rgba(0,0,0,.2)}body[data-theme="malam_hutan"] .theme-choice-check{background:#24362c;color:#9eadA4}body[data-theme="malam_hutan"] .theme-choice.selected .theme-choice-check{background:#58bd80;color:#07140d}body[data-theme="malam_hutan"] .theme-choice-copy strong{color:#edf6f0}body[data-theme="malam_hutan"] .footer{border-color:#2b3d33}body[data-theme="malam_hutan"] .footer span:first-child{color:#79d99e}body[data-theme="malam_hutan"] code{background:#1f3027;color:#edc776}
body[data-theme="malam_hutan"] .flash{background:#17241d;border-color:#304238;color:#dce8e0}body[data-theme="malam_hutan"] .flash.success{background:#153524;color:#99e4b6;border-color:#2f6447}body[data-theme="malam_hutan"] .flash.warning{background:#332a19;color:#edc776;border-color:#66532d}body[data-theme="malam_hutan"] .flash.danger{background:#351d1c;color:#ffaaa5;border-color:#6a3735}

@media(max-width:900px){.theme-picker{grid-template-columns:1fr 1fr}.theme-choice:last-child{grid-column:1/-1}.theme-choice-preview{height:116px}}
@media(max-width:620px){.theme-picker{grid-template-columns:1fr}.theme-choice:last-child{grid-column:auto}.theme-choice-preview{height:108px}.theme-picker-actions{align-items:stretch;flex-direction:column}.theme-picker-actions>div{display:grid;grid-template-columns:1fr 1fr}.theme-picker-actions .btn{width:100%}}
/* Dark-theme coverage for secondary operational components. */
body[data-theme="malam_hutan"] .chart-filter-form input,body[data-theme="malam_hutan"] .chart-filter-form select,body[data-theme="malam_hutan"] .chart-insight-row span,body[data-theme="malam_hutan"] .daily-flow-step,body[data-theme="malam_hutan"] .guide-role-card,body[data-theme="malam_hutan"] .legend-pill,body[data-theme="malam_hutan"] .office-control-list a span,body[data-theme="malam_hutan"] .report-hub-card,body[data-theme="malam_hutan"] .field-action,body[data-theme="malam_hutan"] .sample-card,body[data-theme="malam_hutan"] .timeline-item,body[data-theme="malam_hutan"] .location-picker,body[data-theme="malam_hutan"] .module-guide-body,body[data-theme="malam_hutan"] .office-note,body[data-theme="malam_hutan"] .practice-mode-card,body[data-theme="malam_hutan"] .report-link-list a,body[data-theme="malam_hutan"] .wizard-note,body[data-theme="malam_hutan"] .update-safety-note{background:#15211b!important;border-color:#2d4035!important;color:#dce7e0!important}
body[data-theme="malam_hutan"] .guide-tip-trigger,body[data-theme="malam_hutan"] .guide-tip-panel,body[data-theme="malam_hutan"] .report-hub-card,body[data-theme="malam_hutan"] .nav,body[data-theme="malam_hutan"] .nav-links{background:#15211b!important;border-color:#2d4035!important;color:#e8f1eb!important}
body[data-theme="malam_hutan"] .guide-tip-trigger:hover,body[data-theme="malam_hutan"] .guide-tip-trigger[aria-expanded="true"],body[data-theme="malam_hutan"] .guide-tip-close{background:#20352a!important;color:#9ee2b7!important;border-color:#345443!important}
body[data-theme="malam_hutan"] .guide-tip-panel p,body[data-theme="malam_hutan"] .guide-tip-panel ul,body[data-theme="malam_hutan"] .guide-tip-panel li,body[data-theme="malam_hutan"] .report-hub-card p,body[data-theme="malam_hutan"] .field-action small{color:#a6b7ad!important}
body[data-theme="malam_hutan"] .tabs a,body[data-theme="malam_hutan"] .chart-link-pill,body[data-theme="malam_hutan"] .chart-total-pill,body[data-theme="malam_hutan"] .dashboard-table-stack .card-head a{background:#17251e!important;border-color:#304238!important;color:#b7c7bd!important}body[data-theme="malam_hutan"] .tabs a.active{background:#58bd80!important;color:#07140d!important;border-color:#58bd80!important}
body[data-theme="malam_hutan"] .quick-action,body[data-theme="malam_hutan"] .hr-rate-source-banner,body[data-theme="malam_hutan"] .guide-quickstart>div{background:#14271d!important;border-color:#31513f!important;color:#bce8cc!important}
body[data-theme="malam_hutan"] .public-note,body[data-theme="malam_hutan"] .sample-note,body[data-theme="malam_hutan"] .practice-context-chip,body[data-theme="malam_hutan"] .checkbox-line{background:#1b261f!important;border-color:#35453c!important;color:#c4d1c8!important}
body[data-theme="malam_hutan"] .offline-bar{background:#372d19!important;color:#edc776!important}body[data-theme="malam_hutan"] .support-bar{background:#07110d!important;border-bottom:1px solid #2d4035}body[data-theme="malam_hutan"] .support-bar a{color:#edc776!important}
body[data-theme="malam_hutan"] .progress{background:#27372f}body[data-theme="malam_hutan"] .progress span{background:#58bd80}body[data-theme="malam_hutan"] .wizard-progress-item.active{background:#20372a!important;color:#aee9c2!important}body[data-theme="malam_hutan"] .wizard-inline-error{background:#351d1c!important;color:#ffaaa5!important;border-color:#6a3735!important}
body[data-theme="malam_hutan"] .home-more-menu a,body[data-theme="malam_hutan"] .report-link-list a{color:#dce7e0!important}body[data-theme="malam_hutan"] .home-more-menu a:hover,body[data-theme="malam_hutan"] .report-link-list a:hover{background:#20352a!important;color:#eef7f1!important}
body[data-theme="malam_hutan"] .footer a:hover{background:#20352a!important}body[data-theme="malam_hutan"] .footer a{color:#9fdcb7}
body[data-theme="malam_hutan"] .theme-settings-card .badge.neutral{background:#23342b;color:#cbd8d0}
/* Theme-aware mobile command surfaces. */
body[data-theme="pasir_cerah"] .mobile-command-hero{background:radial-gradient(circle at 92% 8%,rgba(228,186,112,.38),transparent 26%),linear-gradient(135deg,#637057 0%,#4c5b47 64%,#d0a052 64%,#d0a052 100%);border-color:#7b846f;box-shadow:0 24px 64px rgba(82,76,60,.18)}
body[data-theme="pasir_cerah"] .field-action.primary{background:linear-gradient(160deg,#6d7a5e,#4c5b47);border-color:#637057}
body[data-theme="malam_hutan"] .mobile-command-hero{background:radial-gradient(circle at 92% 8%,rgba(215,170,85,.22),transparent 26%),linear-gradient(135deg,#173726 0%,#08130e 68%,#705a2f 68%,#705a2f 100%);border-color:#31513f;box-shadow:0 24px 70px rgba(0,0,0,.34)}
body[data-theme="malam_hutan"] .command-main-value{background:rgba(19,32,25,.96);border-color:#365244;color:#e7f0ea}body[data-theme="malam_hutan"] .command-main-value span,body[data-theme="malam_hutan"] .command-main-value small{color:#9fb1a6}body[data-theme="malam_hutan"] .command-main-value strong{color:#79d99e}
body[data-theme="malam_hutan"] .field-action.primary{background:linear-gradient(160deg,#285f40,#102219);border-color:#356e4d}body[data-theme="malam_hutan"] .field-action{color:#e7f0ea!important}
@media(max-width:1040px){body[data-theme="pasir_cerah"] .mobile-bottom-nav{background:rgba(255,250,240,.96);border-color:rgba(93,83,61,.18);box-shadow:0 18px 50px rgba(84,76,60,.18)}body[data-theme="pasir_cerah"] .mobile-bottom-item{color:#5a6651}body[data-theme="pasir_cerah"] .mobile-bottom-item.active,body[data-theme="pasir_cerah"] .mobile-bottom-item:hover{background:#637057;color:#fff}body[data-theme="malam_hutan"] .mobile-bottom-nav{background:rgba(15,26,20,.97);border-color:#304238;box-shadow:0 18px 55px rgba(0,0,0,.36)}body[data-theme="malam_hutan"] .mobile-bottom-item{color:#a9b9af}body[data-theme="malam_hutan"] .mobile-bottom-item.active,body[data-theme="malam_hutan"] .mobile-bottom-item:hover{background:#58bd80;color:#07140d}}
/* Explicit default theme hook keeps the three-theme contract visible and stable. */
body[data-theme="hijau_ramp"]{--green:#0d4f36;--green-2:#0f6847;--gold:#f2a53b;--gold-2:#ffca72;--bg:#f7f2e8;--card:#fffdf8;--text:#17231c;--muted:#647067;--line:#e7ddcc;--danger:#b93838;--warning:#a66a00;--success:#14794d;--sidebar-bg:#0d4f36;--sidebar-bg-2:#073727;--sidebar-soft:rgba(255,255,255,.08);--sidebar-line:rgba(255,255,255,.14)}

/* RapiRamp v4.8.1 — desktop sidebar scroll only when the page itself cannot carry the menu. */
@media (min-width:1041px){
  .app-shell,.superadmin-shell{
    align-items:start!important;
    min-height:calc(100dvh - 72px)!important;
  }
  #mainSidebar.app-sidebar,#superadminSidebar.superadmin-sidebar{
    position:sticky!important;
    top:72px!important;
    align-self:start!important;
    height:auto!important;
    min-height:calc(100dvh - 72px)!important;
    max-height:none!important;
    overflow:visible!important;
    scrollbar-gutter:auto!important;
  }
  #mainSidebar.app-sidebar.desktop-sidebar-scroll,
  #superadminSidebar.superadmin-sidebar.desktop-sidebar-scroll{
    height:calc(100dvh - 72px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 72px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}

/* RapiRamp v4.9.0 — Branding & App Identity */
.brand-logo-shell{display:grid;place-items:center;flex:0 0 auto;overflow:hidden;background:rgba(255,255,255,.92);border:1px solid rgba(13,79,54,.12);box-shadow:0 8px 20px rgba(13,79,54,.12)}
.brand-logo-shell.brand-logo-mark{width:46px;height:46px;border-radius:14px;padding:6px}.brand-logo-shell.brand-logo-full{width:112px;height:46px;border-radius:12px;padding:5px 8px}.brand.big .brand-logo-shell.brand-logo-mark{width:64px;height:64px;border-radius:19px;padding:8px}.brand.big .brand-logo-shell.brand-logo-full{width:180px;height:64px;border-radius:18px;padding:7px 10px}.brand-logo-img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}
[data-theme="malam_hutan"] .brand-logo-shell{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.13)}
.branding-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.branding-current-card{display:grid;gap:.35rem}.branding-current-card>strong{font-size:1.25rem;color:var(--green)}.branding-current-card small{color:var(--muted)}.branding-inline-icon{display:flex;align-items:center;gap:.75rem}.branding-inline-icon img{width:48px;height:48px;border-radius:12px;box-shadow:0 8px 20px rgba(13,79,54,.14)}.branding-inline-icon span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}
.branding-studio{overflow:hidden}.branding-form{display:grid;gap:1rem}.branding-config-grid{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(300px,.95fr);gap:1rem}.branding-upload-zone{min-height:220px;border:2px dashed #b8cdbf;border-radius:24px;background:linear-gradient(145deg,#f7fbf8,#fff9ef);display:grid;place-items:center;align-content:center;text-align:center;gap:.45rem;padding:1.3rem;cursor:pointer;transition:.18s ease}.branding-upload-zone:hover{border-color:var(--green);transform:translateY(-1px);box-shadow:0 14px 34px rgba(13,79,54,.08)}.branding-upload-zone input{position:absolute;opacity:0;pointer-events:none}.branding-upload-icon{font-size:2.4rem}.branding-upload-zone strong{font-size:1.15rem;color:var(--green)}.branding-upload-zone small{max-width:44ch;color:var(--muted)}.branding-options{display:grid;gap:.8rem}.branding-color-field{display:grid;grid-template-columns:64px 1fr;gap:.55rem;align-items:center}.branding-color-field input[type=color]{width:64px;height:46px;padding:3px;border-radius:12px}.branding-rules{display:grid;gap:.25rem;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft,#fff8ec);padding:.85rem}.branding-rules strong{color:var(--green)}.branding-rules span{color:var(--muted);font-size:.9rem;line-height:1.45}
.branding-progress{display:grid;gap:.6rem;border:1px solid #d7e8dc;background:#f1faf4;border-radius:16px;padding:.8rem .9rem;color:#24533a}.branding-progress-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem}.branding-progress-spinner{width:18px;height:18px;border:3px solid rgba(13,79,54,.18);border-top-color:var(--green);border-radius:50%;animation:brandingSpin .8s linear infinite}.branding-progress-head strong{font-size:.92rem;line-height:1.25}.branding-progress-head b{font-size:.84rem;color:var(--green);font-variant-numeric:tabular-nums}.branding-progress-track{height:8px;border-radius:999px;overflow:hidden;background:rgba(13,79,54,.12)}.branding-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#4ebd79);transition:width .2s ease}.branding-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.branding-progress-foot small{color:var(--muted);font-size:.76rem;line-height:1.35}.branding-progress .btn.compact{padding:.35rem .55rem;min-height:32px;font-size:.75rem;white-space:nowrap}.branding-progress.is-ready .branding-progress-spinner,.branding-progress.is-success .branding-progress-spinner{animation:none;border-color:#2fa765;background:#2fa765;box-shadow:inset 0 0 0 4px #fff}.branding-progress.is-error{background:#fff4f2;border-color:#efc5bf;color:#8f2f24}.branding-progress.is-error .branding-progress-spinner{animation:none;border-color:#c84b3d;background:#c84b3d}.branding-progress.is-error .branding-progress-track i{background:#c84b3d}.branding-progress.is-error .branding-progress-head b{color:#a13d31}.branding-progress.is-success{background:#edf9f1;border-color:#b9e0c7}.branding-progress.is-success .branding-progress-track i,.branding-progress.is-ready .branding-progress-track i{background:#2fa765}@keyframes brandingSpin{to{transform:rotate(360deg)}}
.branding-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.branding-preview-card{min-height:180px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fffdf8,#f7f1e7);padding:1rem;display:grid;gap:.7rem;align-content:start}.branding-preview-card>span{font-weight:900;color:var(--muted);font-size:.84rem}.branding-preview-card.wide{grid-column:1/-1}.branding-header-preview{display:flex;align-items:center;gap:.8rem;border-radius:16px;background:#fff;padding:.75rem;min-height:76px}.branding-header-preview img{width:150px;height:54px;object-fit:contain;object-position:left center}.branding-header-preview strong{color:#183226}.branding-icon-preview{display:grid;place-items:center;min-height:110px}.branding-icon-preview img{width:96px;height:96px;border-radius:22px;box-shadow:0 18px 36px rgba(13,79,54,.18)}.branding-og-preview{display:block;width:100%;max-width:760px;aspect-ratio:1200/630;object-fit:cover;border-radius:18px;border:1px solid var(--line)}.branding-actions{align-items:center}.branding-asset-list{display:flex;flex-wrap:wrap;gap:.55rem}.branding-asset-list span{display:inline-flex;border:1px solid var(--line);background:var(--surface-soft,#fff8ec);border-radius:999px;padding:.45rem .7rem;font-weight:800;color:var(--text)}
[data-theme="malam_hutan"] .branding-upload-zone,[data-theme="malam_hutan"] .branding-preview-card,[data-theme="malam_hutan"] .branding-rules{background:var(--surface);border-color:var(--line)}[data-theme="malam_hutan"] .branding-header-preview{background:#f7f2e8}[data-theme="malam_hutan"] .branding-progress{background:#11271c;color:#dff2e6;border-color:#294a38}[data-theme="malam_hutan"] .branding-progress-track{background:rgba(255,255,255,.12)}[data-theme="malam_hutan"] .branding-progress.is-error{background:#311a17;border-color:#67332c;color:#ffd8d1}[data-theme="malam_hutan"] .branding-progress.is-success,[data-theme="malam_hutan"] .branding-progress.is-ready{background:#102d1e;border-color:#2f5b43}
@media(max-width:900px){.branding-status-grid{grid-template-columns:1fr}.branding-config-grid{grid-template-columns:1fr}.branding-preview-grid{grid-template-columns:1fr}.branding-preview-card.wide{grid-column:auto}}
@media(max-width:560px){.brand-logo-shell.brand-logo-full{width:92px;height:40px}.brand.big .brand-logo-shell.brand-logo-full{width:150px;height:56px}.branding-upload-zone{min-height:180px}.branding-header-preview{display:grid}.branding-header-preview img{width:100%;max-width:180px}.branding-actions .btn{width:100%}}

/* RapiRamp v5.0.0 — dedicated mobile operational experience. Desktop stays unchanged. */
.mobile-only-v5{display:none!important}.desktop-only-v5{display:block}.mobile-hub,.mobile-today-home,.mobile-owner-home{width:100%}
@media(max-width:1040px){
  .mobile-only-v5{display:block!important}.desktop-only-v5{display:none!important}
  .app-shell{display:block!important;max-width:none!important;margin:0!important}.app-page{width:100%!important;max-width:none!important;padding:.55rem .7rem calc(6.2rem + var(--mobile-safe-bottom))!important}
  #mainSidebar.app-sidebar{display:none!important}.guide-tip{display:none!important}.app-footer{display:none!important}
  .app-topbar{min-height:58px!important;padding:.5rem .7rem!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}.app-topbar .brand{gap:.5rem;min-width:0}.app-topbar .brand-logo-shell.brand-logo-mark{width:38px;height:38px;border-radius:12px}.app-topbar .brand-logo-shell.brand-logo-full{width:88px;height:38px}.app-topbar .brand>span:last-child{min-width:0}.app-topbar .brand strong{font-size:.92rem}.app-topbar .brand small{font-size:.7rem!important;max-width:48vw!important}.app-top-actions .top-logout,.app-top-actions .top-install{display:none!important}.app-top-actions .lang-toggle{padding:.38rem .55rem!important;font-size:.75rem}.app-topbar .menu-toggle{display:none!important}
  .mobile-bottom-nav.mobile-bottom-nav-v5{grid-template-columns:repeat(4,minmax(0,1fr))!important;left:.55rem;right:.55rem;bottom:calc(.45rem + var(--mobile-safe-bottom));border-radius:22px;padding:.3rem}.mobile-bottom-nav-v5 .mobile-bottom-item{min-height:52px}.mobile-bottom-nav-v5 .mobile-bottom-item strong{font-size:.68rem}
  .mobile-today-head,.mobile-owner-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.25rem .1rem .4rem}.mobile-today-head>div,.mobile-owner-head>div{min-width:0;display:grid;gap:.1rem}.mobile-today-head strong,.mobile-owner-head h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-today-head strong{font-size:.92rem;color:var(--text)}.mobile-greeting,.mobile-owner-head .eyebrow{font-size:.72rem;color:var(--muted);font-weight:850}.mobile-online-chip{display:flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.3rem .48rem;font-size:.68rem;color:var(--muted);white-space:nowrap}.mobile-online-chip i{width:.48rem;height:.48rem;border-radius:50%;background:#45bf72;box-shadow:0 0 0 3px rgba(69,191,114,.13)}.mobile-online-chip.offline i{background:#d49531}.mobile-online-chip.offline b{color:#8b5a0b}.mobile-question h1{margin:.3rem 0 .7rem;font-size:1.45rem;line-height:1.06;letter-spacing:-.03em;color:var(--text)}
  .mobile-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.65rem}.mobile-task-button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.15rem .55rem;align-items:center;min-height:84px;padding:.72rem;border-radius:20px;border:1px solid var(--line);background:var(--card);box-shadow:0 8px 22px rgba(13,79,54,.07);color:var(--text)!important;text-decoration:none!important}.mobile-task-button>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#edf7f0;font-size:1.15rem}.mobile-task-button strong{align-self:end;font-size:.94rem;line-height:1.08}.mobile-task-button small{align-self:start;color:var(--muted);font-size:.68rem;line-height:1.15}.mobile-task-button.primary{background:linear-gradient(145deg,var(--green-2),var(--green));border-color:var(--green);color:#fff!important}.mobile-task-button.primary>span{background:rgba(255,255,255,.14)}.mobile-task-button.primary small{color:rgba(255,255,255,.76)}
  .mobile-continue-card,.mobile-attention-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.62rem;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:.68rem .72rem;margin-bottom:.52rem;color:var(--text)!important;text-decoration:none!important}.mobile-continue-card>span,.mobile-attention-line>span{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:#eef8f1;font-weight:950}.mobile-continue-card div,.mobile-attention-line div{min-width:0}.mobile-continue-card small,.mobile-attention-line small{display:block;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-continue-card strong,.mobile-attention-line strong{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-continue-card p{margin:.12rem 0 0;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-continue-card>b,.mobile-attention-line>b{font-size:1.2rem;color:var(--muted)}.mobile-continue-card.complete>span,.mobile-attention-line.clear>span{background:#e6f8ed;color:#14794d}.mobile-attention-line.warning>span{background:#fff0cc;color:#8c5a00}
  .mobile-today-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden}.mobile-today-summary>div,.mobile-today-summary>a{display:grid;gap:.08rem;padding:.6rem .58rem;border-right:1px solid var(--line);color:var(--text)!important;text-decoration:none!important}.mobile-today-summary>*:last-child{border-right:0}.mobile-today-summary span{font-size:.65rem;color:var(--muted);font-weight:800}.mobile-today-summary strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-hub-head{padding:.2rem .1rem .6rem}.mobile-hub-head .eyebrow{font-size:.7rem}.mobile-hub-head h1{margin:.12rem 0 .25rem;font-size:1.45rem;line-height:1.08;letter-spacing:-.03em}.mobile-hub-head p{margin:0;color:var(--muted);font-size:.78rem}.mobile-task-grid-hub{margin-bottom:0}.mobile-activity-list{display:grid;gap:.42rem}.mobile-activity-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.58rem;align-items:center;padding:.65rem;border:1px solid var(--line);border-radius:17px;background:var(--card);color:var(--text)!important;text-decoration:none!important}.mobile-activity-item>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#eef7f0}.mobile-activity-item div{min-width:0}.mobile-activity-item strong,.mobile-activity-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-activity-item strong{font-size:.84rem}.mobile-activity-item small{font-size:.7rem;color:var(--muted);margin-top:.12rem}.mobile-activity-item b{color:var(--muted)}.mobile-empty-state{padding:1rem;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center}
  .mobile-more-group{margin-bottom:.8rem}.mobile-more-group h2{margin:.1rem .12rem .35rem;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.mobile-more-links{display:grid;border:1px solid var(--line);border-radius:19px;background:var(--card);overflow:hidden}.mobile-more-links a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.72rem .75rem;border-bottom:1px solid var(--line);color:var(--text)!important;text-decoration:none!important}.mobile-more-links a:last-child{border-bottom:0}.mobile-more-links a span{width:30px;text-align:center}.mobile-more-links a strong{font-size:.84rem}.mobile-more-links a b{color:var(--muted)}.mobile-logout-link{display:flex;align-items:center;justify-content:center;padding:.75rem;margin-top:.5rem;border-radius:16px;border:1px solid #efcece;background:#fff4f4;color:var(--danger)!important;font-weight:900;text-decoration:none!important}
  .mobile-owner-head h1{margin:.05rem 0;font-size:1.35rem}.mobile-owner-head p{margin:0;font-size:.74rem;color:var(--muted)}.mobile-head-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;background:var(--card);font-weight:900;text-decoration:none!important}.mobile-owner-kpis{display:grid;grid-template-columns:1fr 1fr;gap:.48rem;margin-bottom:.55rem}.mobile-owner-kpis div{display:grid;gap:.1rem;padding:.65rem .68rem;border:1px solid var(--line);background:var(--card);border-radius:17px}.mobile-owner-kpis span{font-size:.66rem;color:var(--muted);font-weight:800}.mobile-owner-kpis strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-owner-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-bottom:.55rem}.mobile-owner-actions a{display:grid;place-items:center;gap:.2rem;min-height:62px;padding:.42rem .2rem;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--text)!important;text-decoration:none!important;font-size:.9rem}.mobile-owner-actions strong{font-size:.62rem;text-align:center}.mobile-owner-strip{display:grid;grid-template-columns:1fr auto;gap:.08rem .5rem;align-items:center;padding:.58rem .7rem;border-radius:17px;border:1px solid var(--line);background:var(--card)}.mobile-owner-strip span{font-size:.68rem;color:var(--muted)}.mobile-owner-strip strong{grid-row:1/3;grid-column:2;font-size:.9rem}.mobile-owner-strip small{font-size:.64rem;color:var(--muted)}
  body[data-theme="malam_hutan"] .mobile-task-button>span,body[data-theme="malam_hutan"] .mobile-continue-card>span,body[data-theme="malam_hutan"] .mobile-activity-item>span{background:#20352a}body[data-theme="malam_hutan"] .mobile-logout-link{background:#351d1c;border-color:#6a3735}
}
@media(min-width:1041px){.mobile-only-v5{display:none!important}.desktop-only-v5{display:block!important}}
@media(max-width:390px){.mobile-task-button{min-height:78px;padding:.62rem}.mobile-task-button>span{width:36px;height:36px}.mobile-task-button small{display:none}.mobile-owner-actions strong{font-size:.58rem}}

/* RapiRamp v5.0.2 — Branding Manager + mobile ramp switcher */
.branding-version-list{display:grid;gap:.7rem}.branding-version-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:18px;background:var(--card)}.branding-version-row.is-active{border-color:color-mix(in srgb,var(--green) 46%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 10%,transparent)}.branding-version-thumb{width:64px;height:64px;border-radius:15px;background:var(--surface-soft,#fff8ec);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}.branding-version-thumb img{width:100%;height:100%;object-fit:contain;padding:.35rem}.branding-version-thumb span{font-size:1.25rem;font-weight:950;color:var(--green)}.branding-version-info{min-width:0;display:grid;gap:.12rem}.branding-version-info strong,.branding-version-info span,.branding-version-info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branding-version-info strong{font-size:.92rem}.branding-version-info span,.branding-version-info small{color:var(--muted);font-size:.72rem}.branding-version-actions{display:flex;align-items:center;gap:.4rem}.branding-version-actions form{margin:0}.branding-version-actions .btn{white-space:nowrap}
@media(max-width:700px){.branding-version-row{grid-template-columns:auto minmax(0,1fr)}.branding-version-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.branding-version-actions form,.branding-version-actions .btn{width:100%}}

@media(max-width:1040px){
  .mobile-ramp-switcher{margin:0 0 .58rem;border:1px solid var(--line);border-radius:17px;background:var(--card);overflow:hidden}.mobile-ramp-switcher summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.62rem .7rem;cursor:pointer}.mobile-ramp-switcher summary::-webkit-details-marker{display:none}.mobile-ramp-switcher summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eef7f0}.mobile-ramp-switcher summary div{min-width:0;display:grid;gap:.03rem}.mobile-ramp-switcher summary small{font-size:.62rem;color:var(--muted);font-weight:800}.mobile-ramp-switcher summary strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-ramp-switcher summary>b{color:var(--muted);transition:transform .16s ease}.mobile-ramp-switcher[open] summary>b{transform:rotate(180deg)}.mobile-ramp-menu{display:grid;border-top:1px solid var(--line);padding:.36rem}.mobile-ramp-menu>a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.58rem .62rem;border-radius:13px;color:var(--text)!important;text-decoration:none!important}.mobile-ramp-menu>a:hover,.mobile-ramp-menu>a.is-selected{background:var(--surface-soft,#f5f7f3)}.mobile-ramp-menu>a span{min-width:0;display:grid;gap:.05rem}.mobile-ramp-menu>a strong,.mobile-ramp-menu>a small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-ramp-menu>a strong{font-size:.8rem}.mobile-ramp-menu>a small{font-size:.64rem;color:var(--muted)}.mobile-ramp-menu>a>b{color:var(--green)}.mobile-ramp-use-form{margin:.35rem .2rem .1rem}.mobile-ramp-use-form .btn{width:100%;min-height:40px;font-size:.74rem}
  body[data-theme="malam_hutan"] .mobile-ramp-switcher summary>span{background:#20352a}body[data-theme="malam_hutan"] .mobile-ramp-menu>a:hover,body[data-theme="malam_hutan"] .mobile-ramp-menu>a.is-selected{background:#1c2f26}
}

/* RapiRamp v5.0.3 — branding reset/idle-state hardening */
.branding-progress[hidden]{display:none!important}
.branding-preview-card [hidden]{display:none!important}
.branding-default-mark{flex:0 0 auto}
.branding-og-default{display:flex;align-items:center;gap:1rem;width:100%;max-width:760px;aspect-ratio:1200/630;border-radius:18px;border:1px solid var(--line);padding:clamp(1rem,5vw,3rem);background:linear-gradient(135deg,#fffaf1 0%,#f3eadb 68%,#0d4f36 160%);color:#17311f}
.branding-og-default .brand-mark{width:72px;height:72px;font-size:1.8rem;flex:0 0 auto}.branding-og-default div{display:grid;gap:.2rem}.branding-og-default strong{font-size:clamp(1.3rem,5vw,2rem)}.branding-og-default small{color:#617066}
[data-theme="malam_hutan"] .branding-og-default{background:linear-gradient(135deg,#f8f1e5 0%,#dfe8df 70%,#0d4f36 160%)}

/* RapiRamp v5.1.0 — optional AI/OCR Pilot */
.ai-pilot-hero,.ai-user-status{display:flex;align-items:center;justify-content:space-between;gap:20px}.ai-pilot-hero.healthy{border-color:var(--success-border,#b9ddcb)}.ai-pilot-hero.needs-attention{border-color:var(--warning-border,#ecd8a6)}
.ai-readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ai-ready-item{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#f8f7f1);display:flex;flex-direction:column;gap:5px}.ai-ready-item.ok b{color:var(--success,#15734d)}.ai-ready-item.warn b{color:#9a6200}.ai-ready-item.danger b{color:#b43b34}
.ai-pilot-ramp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-pilot-ramp-list .check-line{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,#faf9f4)}
.ai-assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ai-capture-card{min-width:0}.ai-feature-icon{font-size:34px}.ai-camera-guide{display:grid;gap:5px;margin:12px 0 16px;padding:12px 14px;border-radius:14px;background:var(--surface-soft,#f8f7f1);font-size:.92rem}.ai-camera-guide b{margin-bottom:2px}.ai-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:150px;border:2px dashed var(--border);border-radius:18px;text-align:center;cursor:pointer;background:var(--surface-soft,#faf9f4);padding:18px}.ai-file-drop input{position:absolute;opacity:0;pointer-events:none}.ai-file-drop>span{font-size:34px}.ai-file-drop small{color:var(--muted)}.ai-preview{width:100%;max-height:330px;object-fit:contain;border-radius:16px;margin:14px 0;background:#111}.ai-run-btn{width:100%;margin-top:14px}.ai-progress{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#faf9f4)}.ai-progress>div{display:flex;justify-content:space-between;gap:10px}.ai-progress progress{width:100%;height:10px;margin:8px 0}.ai-progress small{color:var(--muted)}.ai-result{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface,#fff)}.ai-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ai-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-result-grid>div{padding:10px;border-radius:12px;background:var(--surface-soft,#f7f6f0);display:flex;flex-direction:column;gap:3px}.ai-result-grid small{color:var(--muted)}.ai-grade-big{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--surface-soft,#f7f6f0);margin-bottom:10px}.ai-grade-big strong{font-size:1.6rem}.ai-observations{margin:12px 0;padding-left:22px}.ai-feedback-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ai-shadow-result{padding:12px;border-radius:12px;background:var(--surface-soft,#f7f6f0)}.ai-manual-fallback>div:first-child{display:flex;gap:12px;align-items:flex-start}.ai-manual-fallback>div:first-child>span{font-size:28px}.ai-budget-mini{min-width:170px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column}.warning-panel{border-color:#ecd8a6}
@media(max-width:1040px){.ai-assistant-grid{grid-template-columns:1fr}.ai-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-pilot-ramp-list{grid-template-columns:1fr}.ai-pilot-hero,.ai-user-status{align-items:flex-start;flex-direction:column}.ai-user-status .ai-budget-mini{width:100%}}
@media(max-width:560px){.ai-readiness-grid{grid-template-columns:1fr}.ai-result-grid{grid-template-columns:1fr}.ai-file-drop{min-height:125px}.ai-capture-card{padding:15px}}
.ai-inline-assist{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#faf9f4)}.ai-inline-assist>span{font-size:26px}.ai-inline-assist>div{display:flex;flex-direction:column;flex:1}.ai-inline-assist small{color:var(--muted)}
@media(max-width:560px){.ai-inline-assist{align-items:flex-start;flex-wrap:wrap}.ai-inline-assist .btn{width:100%}}

/* RapiRamp v5.1.0 AI/OCR Pilot — setup/rollback helpers */
.ai-setup-callout .code-block,
.code-block{display:block;max-width:100%;overflow:auto;padding:14px 16px;border:1px solid var(--border,#dfe5df);border-radius:12px;background:var(--surface-soft,#f7f9f7);font-size:.84rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.button-row form{margin:0}
/* v5.1.1 AI/OCR pilot configuration clarity */
.ai-feature-explainer .card-head{margin-bottom:14px}.ai-feature-explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-feature-explain-grid article{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#faf9f4)}.ai-feature-explain-grid article p{margin:4px 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}.ai-feature-explain-grid .ai-feature-icon{font-size:28px;line-height:1}.ai-provider-note{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:var(--surface-soft,#faf9f4)}
.ai-feature-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-feature-choice{display:flex!important;flex-direction:column;gap:8px;padding:14px 15px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#faf9f4);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.ai-feature-choice.active{border-color:var(--primary,#0d6b4d);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#0d6b4d) 13%,transparent);background:color-mix(in srgb,var(--primary,#0d6b4d) 5%,var(--surface,#fff))}.ai-feature-choice-head{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px}.ai-feature-choice-head input{width:20px;height:20px;margin:0}.ai-feature-choice-head>span{font-size:22px}.ai-feature-choice small{color:var(--muted);line-height:1.45}.ai-feature-selection-summary{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#faf9f4)}.ai-feature-selection-summary[data-profile="ocr"],.ai-feature-selection-summary[data-profile="quality"],.ai-feature-selection-summary[data-profile="both"]{border-color:var(--success-border,#b9ddcb);background:color-mix(in srgb,var(--success,#15734d) 5%,var(--surface,#fff))}.ai-feature-selection-summary small{color:var(--muted)}
.ai-provider-help{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:var(--surface-soft,#faf9f4);border:1px solid var(--border)}.ai-provider-help small{color:var(--muted)}.ai-provider-panel[hidden]{display:none!important}.ai-active-feature-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-active-feature-summary article{padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#faf9f4)}.ai-active-feature-summary article.off{opacity:.72}.ai-active-feature-summary p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}
@media(max-width:760px){.ai-feature-explain-grid,.ai-feature-choice-grid,.ai-active-feature-summary{grid-template-columns:1fr}}
/* RapiRamp v5.1.2 AI/OCR Pilot: independent browser OCR + R2 connection diagnostics */
.ai-ocr-config{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#faf9f4)}
.ai-ocr-config[hidden]{display:none!important}.ai-ocr-config>h3{margin:0 0 12px}.ai-ocr-config .form-grid{margin:0}
.ai-r2-test-result{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#faf9f4)}
.ai-r2-test-result small{color:var(--muted)}.ai-r2-test-result[data-status="ok"]{border-color:var(--success-border,#b9ddcb);background:color-mix(in srgb,var(--success,#15734d) 6%,var(--surface,#fff))}.ai-r2-test-result[data-status="error"]{border-color:#e6b4ae;background:#fff3f1}.ai-r2-test-result[data-status="working"]{border-color:#e6d09a;background:#fff9e9}
.ocr-local-result{display:flex;flex-direction:column;gap:12px}.ocr-local-result .ocr-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ocr-local-result label{display:flex;flex-direction:column;gap:5px}.ocr-local-result label small{color:var(--muted)}.ocr-local-result .ocr-warning-list{margin:0;padding-left:20px}.ocr-local-result .ocr-math-ok{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--success,#15734d) 6%,var(--surface,#fff));border:1px solid var(--success-border,#b9ddcb)}.ocr-local-result .ocr-raw{max-height:180px;overflow:auto;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;background:var(--surface-soft,#faf9f4);padding:10px;border-radius:10px}.ocr-local-actions{display:flex;gap:8px;flex-wrap:wrap}.ocr-engine-note{padding:10px 12px;border-radius:12px;background:var(--surface-soft,#faf9f4);border:1px solid var(--border);font-size:.9rem}.ocr-engine-note strong{display:block;margin-bottom:3px}
@media(max-width:560px){.ocr-local-result .ocr-field-grid{grid-template-columns:1fr}.ocr-local-actions .btn{width:100%}}

/* v5.0.4 security/accessibility hardening */
.inline-action{display:inline-flex;margin:0;padding:0}.link-button{border:0;background:transparent;padding:0;font:inherit;cursor:pointer;text-decoration:underline}.actions .inline-action{margin-inline-start:.35rem}.actions form.inline-action button{min-height:36px}.support-bar .inline-action{margin-inline-start:.5rem}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (pointer:coarse){button,.btn,a.btn,input,select,textarea{min-height:44px}.actions a,.actions button{padding:.5rem .65rem}}


/* RapiRamp v5.0.5 sync clarity + practice visibility */
.global-sync-row{display:flex;justify-content:flex-end;align-items:center;min-height:30px;margin:-2px 0 8px;pointer-events:none}.global-sync-status{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(4px);font-size:.78rem;font-weight:800;color:var(--muted);text-decoration:none!important;box-shadow:0 3px 12px rgba(15,55,38,.04)}.sync-health-dot{width:8px;height:8px;border-radius:50%;background:#a8aaa7;flex:0 0 auto}.global-sync-status.is-ok{color:#0a5a35;border-color:#cfe7d9;background:#f4fff8}.global-sync-status.is-ok .sync-health-dot{background:#15965a}.global-sync-status.is-pending,.global-sync-status.is-offline{color:#765000;border-color:#ecd79d;background:#fffaf0}.global-sync-status.is-pending .sync-health-dot,.global-sync-status.is-offline .sync-health-dot{background:#d99a00}.global-sync-status.is-attention{color:#9c2f2f;border-color:#efc8c8;background:#fff7f7}.global-sync-status.is-attention .sync-health-dot{background:#c94a4a}.sync-health-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:currentColor;color:#fff;font-size:.7rem}.sync-simple-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sync-help-note{margin:12px 0 0}.sync-technical-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.sync-technical-details>summary::-webkit-details-marker{display:none}.sync-technical-details>summary span{font-size:.82rem;color:var(--muted);font-weight:500}.sync-technical-details[open]>summary{margin-bottom:16px}
@media(max-width:760px){.global-sync-row{justify-content:flex-start;min-height:26px;margin:0 0 7px}.global-sync-status{font-size:.74rem;padding:5px 9px}.sync-simple-actions{grid-template-columns:1fr!important}.sync-technical-details>summary{align-items:flex-start;flex-direction:column;gap:2px}}


/* ========================================================================== */
/* RapiRamp v5.0.6 — public experience + PWA-first entry                         */
/* ========================================================================== */
.landing-body{background:#f8f5ee;color:#14261d}.landing-topbar-v2{max-width:none;padding:.7rem clamp(1rem,4vw,3.25rem);background:rgba(250,248,242,.9);border-bottom:1px solid rgba(13,79,54,.08);backdrop-filter:blur(18px)}.landing-topbar-v2 .nav{gap:.25rem}.landing-topbar-v2 .nav>a:not(.btn){font-weight:800}.landing-topbar-v2 .landing-install-nav{padding:.52rem .75rem;border-radius:999px}.landing-v2{width:min(1240px,100%);margin:0 auto;padding:0 clamp(1rem,4vw,3.25rem) 3rem}.landing-hero-v2{min-height:680px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(3rem,7vw,6.2rem) 0 clamp(2.4rem,6vw,5rem);position:relative}.landing-hero-v2:before{content:'';position:absolute;left:-18vw;top:-16rem;width:38rem;height:38rem;border-radius:50%;background:radial-gradient(circle,rgba(242,165,59,.16),transparent 68%);pointer-events:none}.landing-hero-copy{position:relative;z-index:1}.landing-kicker{display:inline-flex;align-items:center;gap:.45rem;color:#0d6543;font-size:.78rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.landing-kicker:before{content:'';width:1.6rem;height:2px;background:#f2a53b;border-radius:99px}.landing-hero-v2 h1{margin:.8rem 0 1rem;max-width:820px;font-size:clamp(3rem,7vw,6.25rem);line-height:.91;letter-spacing:-.065em;color:#0d2f20}.landing-hero-v2 p{max-width:680px;margin:0;color:#53635a;font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.7}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.65rem}.landing-hero-actions .btn{min-height:50px;border-radius:999px;padding:.78rem 1.15rem}.landing-primary-cta{box-shadow:0 14px 32px rgba(13,79,54,.2)}.landing-proof-row{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.4rem;color:#496057;font-size:.78rem;font-weight:800}.landing-proof-row span{white-space:nowrap}
.product-window{position:relative;z-index:2;width:min(520px,100%);justify-self:end;background:#123f2d;border:1px solid rgba(255,255,255,.16);border-radius:34px;padding:.65rem;box-shadow:0 42px 100px rgba(13,60,42,.28);transform:rotate(1.2deg)}.product-window:after{content:'';position:absolute;inset:9% -8% -7% 22%;z-index:-1;border-radius:42px;background:#efb750;opacity:.22;filter:blur(2px);transform:rotate(-4deg)}.product-window-top{height:44px;display:flex;align-items:center;gap:.36rem;padding:0 .75rem;color:#d8e9df}.product-window-top>span{width:.55rem;height:.55rem;border-radius:50%;background:rgba(255,255,255,.28)}.product-window-top>strong{margin-left:auto;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.product-window-body{background:#fbfaf6;border-radius:27px;padding:1.25rem;color:#14261d}.product-greeting small,.product-greeting strong{display:block}.product-greeting small{color:#69766f;font-size:.75rem;font-weight:800}.product-greeting strong{margin-top:.25rem;font-size:1.3rem}.product-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0}.product-kpis div{padding:.75rem;border:1px solid #e4e9e5;border-radius:17px;background:#fff}.product-kpis span,.product-kpis strong{display:block}.product-kpis span{font-size:.66rem;color:#68756e}.product-kpis strong{margin-top:.22rem;color:#0d5d3e;font-size:1.02rem}.product-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.product-action-grid span{display:flex;align-items:center;gap:.45rem;min-height:60px;padding:.75rem;border:1px solid #dfe7e1;border-radius:17px;background:#fff;font-size:.82rem}.product-action-grid span.primary{background:#0d5d3e;color:#fff;border-color:#0d5d3e}.product-attention{display:flex;align-items:center;gap:.65rem;margin-top:.8rem;padding:.75rem;border-radius:17px;background:#edf7f0}.product-attention>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#d5ecdc;color:#0b6940;font-weight:950}.product-attention strong,.product-attention small{display:block}.product-attention strong{font-size:.78rem}.product-attention small{margin-top:.15rem;color:#68766e;font-size:.68rem}
.landing-value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding:1rem 0 4rem}.landing-value-strip article{padding:1rem 1.1rem;border-top:1px solid #ccd9d1}.landing-value-strip strong,.landing-value-strip span{display:block}.landing-value-strip strong{color:#153c2a;font-size:.94rem}.landing-value-strip span{margin-top:.3rem;color:#6a746e;font-size:.78rem;line-height:1.5}.landing-section{padding:clamp(3rem,7vw,6rem) 0}.landing-section-head{max-width:850px;margin-bottom:1.8rem}.landing-section-head.compact{max-width:650px}.landing-section-head h2{margin:.65rem 0 0;font-size:clamp(2rem,4vw,3.65rem);line-height:1;letter-spacing:-.045em;color:#0d2f20}.landing-work-section{border-top:1px solid rgba(13,79,54,.09)}.work-showcase{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:stretch}.work-tabs{display:grid;align-content:start;gap:.45rem}.work-tab{appearance:none;width:100%;border:0;background:transparent;color:#506159;border-radius:18px;padding:.9rem 1rem;text-align:left;font:inherit;font-weight:900;cursor:pointer;transition:.18s ease}.work-tab:hover{background:#eeeee7;color:#183d2c}.work-tab.active{background:#0d4f36;color:#fff;box-shadow:0 12px 30px rgba(13,79,54,.16)}.work-panels{min-width:0}.work-panel{min-height:310px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem 1.2rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid #dbe4de;border-radius:28px;background:linear-gradient(145deg,#fffdf9,#f1f5f1);box-shadow:0 20px 55px rgba(13,79,54,.07);animation:workPanelIn .18s ease}.work-panel[hidden]{display:none!important}@keyframes workPanelIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.work-panel-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:#fff1d2;font-size:1.55rem}.work-panel small{display:block;color:#7c817e;font-size:.75rem;font-weight:850}.work-panel h3{margin:.25rem 0 .7rem;max-width:760px;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.08;letter-spacing:-.025em;color:#123625}.work-panel p{margin:0;max-width:760px;color:#5a6961;line-height:1.65}.work-panel ul{grid-column:2;margin:.3rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.work-panel li{padding:.42rem .65rem;border:1px solid #d7e3da;border-radius:999px;background:#fff;color:#3e584a;font-size:.73rem;font-weight:850}
.landing-flow-section{border-top:1px solid rgba(13,79,54,.09)}.landing-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:.55rem;align-items:center}.landing-flow>div{min-height:126px;padding:1rem;border:1px solid #dfe6e1;border-radius:22px;background:#fffdf9}.landing-flow>div span{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#e8f3eb;color:#0d5d3e;font-size:.72rem;font-weight:950}.landing-flow strong,.landing-flow small{display:block}.landing-flow strong{margin-top:.8rem;color:#143c2a}.landing-flow small{margin-top:.22rem;color:#778079;font-size:.72rem}.landing-flow>i{font-style:normal;color:#9ca69f}.landing-install-section{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:2rem 0 5rem;padding:clamp(1.25rem,3vw,2rem);border-radius:30px;background:#0d4f36;color:#fff;box-shadow:0 24px 60px rgba(13,79,54,.18)}.landing-install-copy{display:flex;align-items:center;gap:1rem;min-width:0}.landing-install-icon{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:21px;background:#f2a53b;color:#173725;font-size:1.7rem;font-weight:950}.landing-install-copy small{color:#cfe4d8;font-weight:850}.landing-install-copy h2{margin:.2rem 0 .35rem;font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.12}.landing-install-copy p{margin:0;color:#d8e9df;font-size:.82rem}.landing-install-section .btn.primary{flex:0 0 auto;background:#fff;color:#0d4f36;border-color:#fff}.landing-final-cta{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;padding:clamp(1.5rem,4vw,2.6rem) 0 1rem;border-top:1px solid rgba(13,79,54,.12)}.landing-final-cta small{color:#0d6543;font-weight:950}.landing-final-cta h2{max-width:760px;margin:.35rem 0 0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.04em}.landing-final-actions{display:flex;gap:.55rem;flex:0 0 auto}.landing-footer-v2{background:#f8f5ee;border-color:rgba(13,79,54,.1)}
.auth-body{min-height:100vh;margin:0;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:radial-gradient(circle at 10% 0%,rgba(242,165,59,.18),transparent 28%),radial-gradient(circle at 100% 100%,rgba(13,79,54,.13),transparent 32%),#f6f3ec}.auth-shell{width:min(940px,100%);margin:auto}.auth-shell-compact{width:min(470px,100%)}.auth-shell-register{width:min(900px,100%);padding:1rem 0}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem;padding:0 .2rem}.auth-top .brand small{display:block!important}.auth-card{background:rgba(255,253,249,.97);border:1px solid #e2ddd1;border-radius:28px;padding:clamp(1.2rem,4vw,2rem);box-shadow:0 28px 80px rgba(29,57,42,.12)}.auth-heading{margin-bottom:1.15rem}.auth-heading h1{margin:0;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1;color:#103522;letter-spacing:-.035em}.auth-heading p{margin:.45rem 0 0;color:#6a746e;font-size:.9rem}.auth-form{display:grid;gap:.85rem}.auth-form label{display:grid;gap:.36rem;color:#31483b;font-size:.82rem;font-weight:850}.auth-form input{width:100%;min-height:50px;border:1px solid #d8d4c9;background:#fff;border-radius:14px;padding:.75rem .9rem;font:inherit;color:#17231c;outline:none;transition:.16s ease}.auth-form input:focus{border-color:#78aa8e;box-shadow:0 0 0 4px rgba(13,79,54,.08)}.auth-submit{min-height:50px;margin-top:.15rem;border-radius:14px}.auth-links{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}.auth-links.single{grid-template-columns:1fr}.auth-links a{display:flex;align-items:center;justify-content:space-between;padding:.72rem .8rem;border:1px solid #e0e3de;border-radius:14px;background:#fbfbf7;color:#234432;font-size:.78rem;font-weight:850}.auth-links a:hover{text-decoration:none;background:#f0f6f1}.auth-links a span{font-size:1.15rem;color:#82938a}.auth-install{appearance:none;width:100%;margin-top:.6rem;border:0;background:transparent;color:#0e6340;padding:.6rem;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.auth-install:hover{text-decoration:underline}.auth-back{display:block;width:max-content;max-width:100%;margin:.8rem auto 0;color:#5f6f66;font-size:.76rem;font-weight:800}.auth-register-card{padding:clamp(1.1rem,3vw,1.65rem)}.auth-register-form.wizard-form{margin-top:.4rem}.auth-register-form .wizard-progress{margin-bottom:.8rem}.auth-register-form .wizard-step{padding:.1rem}.auth-register-form .wizard-note{background:transparent;padding:.45rem 0;margin-bottom:0}.auth-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .8rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid #ece7dc}.auth-legal a{font-size:.72rem;color:#68776f;font-weight:800}.auth-result .btn{margin-top:.75rem}.offline-card{text-align:center}.offline-state-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:22px;background:#e9f3ec;color:#0d5d3e;font-size:1.8rem;font-weight:950}.offline-card .auth-heading p{max-width:390px;margin:.55rem auto 1rem;line-height:1.55}
.pwa-install-sheet{position:fixed;left:50%;bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));transform:translateX(-50%);z-index:400;width:min(460px,calc(100vw - 1.5rem));padding:1rem;border:1px solid #d5e1d8;border-radius:22px;background:#fffdf9;box-shadow:0 28px 90px rgba(13,79,54,.26);color:#173426}.pwa-install-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.pwa-install-sheet strong{display:block;color:#0d4f36}.pwa-install-sheet p{margin:.35rem 0 .8rem;color:#5c6b63;font-size:.82rem;line-height:1.5}.pwa-install-sheet-actions{display:flex;gap:.5rem}.pwa-install-sheet-actions .btn{flex:1;min-height:44px}.pwa-install-close{appearance:none;border:0;background:#edf4ef;width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer}.pwa-install-nudge{position:fixed;right:1rem;bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));z-index:380;width:min(360px,calc(100vw - 2rem));display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid #d3e1d7;border-radius:20px;background:rgba(255,253,249,.98);box-shadow:0 22px 70px rgba(13,79,54,.2);backdrop-filter:blur(12px)}.pwa-install-nudge .pwa-nudge-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#0d4f36;color:#f2a53b;font-weight:950}.pwa-install-nudge strong,.pwa-install-nudge small{display:block}.pwa-install-nudge strong{font-size:.82rem;color:#173d2b}.pwa-install-nudge small{margin-top:.12rem;color:#6c7972;font-size:.68rem;line-height:1.3}.pwa-install-nudge .btn{padding:.55rem .7rem;font-size:.75rem;border-radius:12px}.pwa-nudge-dismiss{grid-column:1/-1;justify-self:end;appearance:none;border:0;background:transparent;color:#78867e;font-size:.68rem;font-weight:800;cursor:pointer;margin-top:-.3rem}.is-standalone .install-btn,.is-standalone .auth-install{display:none!important}
@media(max-width:1040px){.landing-topbar-v2 #mainNav.landing-nav{display:none!important}.landing-topbar-v2 #mainNav.landing-nav.open{display:flex!important}.landing-hero-v2{grid-template-columns:1fr;min-height:0;padding-top:3rem}.landing-hero-v2 h1{font-size:clamp(3rem,10vw,5.3rem);max-width:900px}.product-window{justify-self:center;width:min(620px,96%);transform:none}.landing-value-strip{padding-bottom:2rem}.work-showcase{grid-template-columns:1fr}.work-tabs{display:flex;overflow:auto;padding-bottom:.3rem;scrollbar-width:none}.work-tabs::-webkit-scrollbar{display:none}.work-tab{width:auto;min-width:max-content}.landing-flow{grid-template-columns:repeat(5,1fr)}.landing-flow>i{display:none}.landing-install-section,.landing-final-cta{align-items:flex-start;flex-direction:column}.landing-final-actions{width:100%}.landing-final-actions .btn{flex:1}}
@media(max-width:720px){.landing-v2{padding-left:.9rem;padding-right:.9rem}.landing-topbar-v2{padding-left:.85rem;padding-right:.85rem}.landing-hero-v2{gap:2rem;padding-top:2.2rem}.landing-hero-v2 h1{font-size:clamp(2.75rem,14vw,4.5rem)}.landing-hero-v2 p{font-size:.98rem}.landing-hero-actions{display:grid;grid-template-columns:1fr}.landing-hero-actions .btn{width:100%}.landing-proof-row{display:grid;gap:.35rem}.product-window{width:100%;border-radius:28px;padding:.5rem}.product-window-body{border-radius:22px;padding:1rem}.product-kpis{grid-template-columns:1fr 1fr}.product-kpis div:last-child{grid-column:1/-1}.landing-value-strip{grid-template-columns:1fr;gap:0}.landing-value-strip article{padding:.8rem .2rem}.landing-section{padding:3rem 0}.landing-section-head h2{font-size:clamp(2rem,10vw,3rem)}.work-panel{grid-template-columns:1fr;min-height:0;border-radius:24px}.work-panel-icon{width:50px;height:50px}.work-panel ul{grid-column:1}.landing-flow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}.landing-flow>div{flex:0 0 150px;scroll-snap-align:start}.landing-install-section{margin-bottom:3rem;border-radius:24px}.landing-install-copy{align-items:flex-start}.landing-install-icon{width:52px;height:52px;flex-basis:52px;border-radius:17px}.landing-install-section .btn{width:100%}.landing-final-actions{display:grid;grid-template-columns:1fr}.auth-body{place-items:start center}.auth-shell{margin:auto}.auth-top{margin-top:.25rem}.auth-card{border-radius:24px}.auth-links{grid-template-columns:1fr}.auth-shell-register{padding:0}.auth-register-card{padding:1rem}.auth-register-form .wizard-nav{bottom:max(.6rem,env(safe-area-inset-bottom));}.pwa-install-nudge{right:.75rem;left:.75rem;bottom:max(.75rem,calc(env(safe-area-inset-bottom) + .5rem));width:auto}}
@media(max-width:420px){.landing-hero-v2 h1{font-size:2.75rem}.product-action-grid{grid-template-columns:1fr 1fr}.landing-install-copy{display:grid;grid-template-columns:auto 1fr}.landing-install-copy p{grid-column:1/-1}.auth-top .brand small{display:none!important}.auth-card{padding:1rem}.auth-heading h1{font-size:2rem}.pwa-install-sheet-actions{display:grid;grid-template-columns:1fr}.pwa-install-nudge{grid-template-columns:auto 1fr}.pwa-install-nudge .btn{grid-column:1/-1;width:100%}}


/* ========================================================================== */
/* RapiRamp v5.0.7 — readable-by-default typography for all-age ramp users      */
/* ========================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Public landing: larger reading size without losing the minimal layout. */
body.landing-body{font-size:1.25rem;line-height:1.6}
.landing-body .brand strong{font-size:1.2rem}.landing-body .brand small{font-size:1rem;line-height:1.35}
.landing-body .nav a,.landing-body .nav button{font-size:1rem}
.landing-body .landing-kicker{font-size:1rem;letter-spacing:.045em}
.landing-body .landing-hero-v2 p{font-size:clamp(1.18rem,1.9vw,1.35rem);line-height:1.65}
.landing-body .landing-hero-actions .btn{font-size:1.06rem;min-height:54px;padding:.85rem 1.25rem}
.landing-body .landing-proof-row{font-size:1rem;line-height:1.5}
.landing-body .product-window-top>strong{font-size:.9rem}
.landing-body .product-greeting small{font-size:.95rem}.landing-body .product-greeting strong{font-size:1.45rem}
.landing-body .product-kpis span{font-size:.86rem;line-height:1.35}.landing-body .product-kpis strong{font-size:1.16rem}
.landing-body .product-action-grid span{font-size:1rem;line-height:1.35}
.landing-body .product-attention strong{font-size:.98rem}.landing-body .product-attention small{font-size:.9rem;line-height:1.4}
.landing-body .landing-value-strip strong{font-size:1.12rem}.landing-body .landing-value-strip span{font-size:1rem;line-height:1.55}
.landing-body .work-tab{font-size:1.08rem;line-height:1.35;min-height:50px}
.landing-body .work-panel small{font-size:.98rem}.landing-body .work-panel p{font-size:1.12rem;line-height:1.65}.landing-body .work-panel li{font-size:.98rem;line-height:1.4}
.landing-body .landing-flow>div span{font-size:.9rem}.landing-body .landing-flow strong{font-size:1.08rem;line-height:1.35}.landing-body .landing-flow small{font-size:.95rem;line-height:1.45}
.landing-body .landing-install-copy small{font-size:.98rem}.landing-body .landing-install-copy p{font-size:1.05rem;line-height:1.55}
.landing-body .landing-final-cta small{font-size:1rem}.landing-body .landing-footer-v2{font-size:1rem}

/* Authentication: form-first, but never tiny. */
body.auth-body{font-size:1.125rem;line-height:1.5}
.auth-body .brand strong{font-size:1.16rem}.auth-body .brand small{font-size:.98rem}
.auth-body .auth-heading p{font-size:1.05rem;line-height:1.55}
.auth-body .auth-form label{font-size:1rem;line-height:1.4}
.auth-body .auth-form input,.auth-body .auth-form select,.auth-body .auth-form textarea{font-size:1.125rem;min-height:52px}
.auth-body .auth-submit{font-size:1.08rem;min-height:52px}
.auth-body .auth-links a{font-size:.98rem;line-height:1.4;min-height:48px}
.auth-body .auth-install,.auth-body .auth-back{font-size:.96rem;line-height:1.45}
.auth-body .auth-legal a{font-size:.92rem;line-height:1.4}
.auth-body small,.auth-body .small{font-size:.96rem!important;line-height:1.45}

/* User workspace: 18px reading baseline + minimum legible secondary text. */
body.app-body{font-size:1.125rem;line-height:1.5}
.app-body p,.app-body li,.app-body label,.app-body td{line-height:1.5}
.app-body small,.app-body .small{font-size:1rem!important;line-height:1.45}
.app-body .brand strong{font-size:1.12rem}.app-body .brand small{font-size:.98rem!important;line-height:1.3}
.app-body .page-title p{font-size:1.05rem;line-height:1.55}.app-body .card-head h2{font-size:1.25rem;line-height:1.25}
.app-body .stat-card span,.app-body .stat-card small{font-size:1rem}.app-body .stat-card strong{line-height:1.15}
.app-body .btn,.app-body button,.app-body input,.app-body select,.app-body textarea{font-size:1.06rem;line-height:1.35}
.app-body .form-grid label{font-size:1.04rem;line-height:1.4}.app-body .form-grid input,.app-body .form-grid select,.app-body .form-grid textarea,.app-body .filter-bar input,.app-body .filter-bar select{min-height:50px}
.app-body th{font-size:.98rem;line-height:1.35}.app-body td{font-size:1.04rem}.app-body .badge{font-size:.95rem;line-height:1.25;padding:.28rem .62rem}
.app-body .tabs a{font-size:1.03rem;line-height:1.35;min-height:46px;display:inline-flex;align-items:center}

/* Sidebar / navigation. */
.app-body .sidebar-profile-card strong{font-size:1.08rem}.app-body .sidebar-profile-card span{font-size:1rem!important}
.app-body .app-nav-group summary{font-size:1.04rem;line-height:1.35;min-height:50px}.app-body .app-nav-item{font-size:1.02rem;line-height:1.35;min-height:48px}
.app-body .app-nav-badge,.app-body .notification-dot{font-size:.85rem}
.app-body .sidebar-practice-status strong{font-size:1rem}.app-body .sidebar-practice-status small{font-size:.94rem!important}

/* Daily workflow and home actions. */
.app-body .workflow-score span{font-size:.9rem}.app-body .daily-flow-step strong{font-size:1rem}.app-body .daily-flow-step small{font-size:.94rem!important;line-height:1.4}
.app-body .workflow-next-action small{font-size:.94rem!important}.app-body .workflow-next-action strong{font-size:1.06rem}.app-body .dashboard-more>summary strong{font-size:1.02rem}.app-body .dashboard-more>summary small{font-size:.94rem!important}
.app-body .home-primary-action strong,.app-body .home-more-action strong{font-size:1.04rem}.app-body .home-primary-action small,.app-body .home-more-action small{font-size:.94rem!important;line-height:1.35}
.app-body .focus-home-volume span,.app-body .focus-home-volume small,.app-body .attention-item small,.app-body .admin-focus-stat span,.app-body .admin-focus-stat small,.app-body .admin-control-actions small{font-size:.94rem!important}
.app-body .attention-item strong{font-size:1rem}.app-body .next-work-copy p{font-size:1rem}

/* Wizard / smart input / supporting information. */
.app-body .practice-context-chip{font-size:.95rem}.app-body .wizard-progress-item small{font-size:.92rem!important}.app-body .smart-input-toast{font-size:1rem}.app-body .smart-suggestion-chip{font-size:.94rem}
.app-body .guide-tip-title,.app-body .guide-tip-head strong{font-size:1rem}.app-body .guide-tip-panel p,.app-body .guide-tip-panel li{font-size:1rem;line-height:1.5}
.app-body .location-source-note,.app-body .menu-note,.app-body .private-path-note{font-size:1rem}

/* Sync should be readable while remaining visually quiet. */
.app-body .global-sync-status{font-size:.96rem;line-height:1.3;padding:7px 11px}.app-body .sync-health-count{font-size:.84rem}.app-body .sync-technical-details>summary span{font-size:.98rem}

/* Charts/maps: keep labels useful rather than decorative tiny text. */
.app-body .chart-card-top p,.app-body .chart-insight-row,.app-body .legend-pill{font-size:.96rem}.app-body .chart-total-pill span{font-size:.9rem}
.app-body .chart-x-label{font-size:14px}.app-body .osm-attribution{font-size:.88rem}.app-body .osm-label strong{font-size:1rem}.app-body .osm-label small{font-size:.92rem!important}

/* Mobile operational UI: remove legacy 10–13px text sizes. */
@media(max-width:1040px){
  body.app-body{font-size:1.125rem}
  .app-body .app-topbar .brand small{font-size:.92rem!important}
  .app-body .app-top-actions .lang-toggle{font-size:.94rem}
  .app-body .mobile-bottom-nav-v5 .mobile-bottom-item{min-height:58px}
  .app-body .mobile-bottom-nav-v5 .mobile-bottom-item strong,.app-body .mobile-bottom-item strong{font-size:.9rem!important;line-height:1.15}
  .app-body .mobile-bottom-item span{font-size:1.2rem}
  .app-body .mobile-greeting,.app-body .mobile-owner-head .eyebrow{font-size:.94rem}
  .app-body .mobile-online-chip{font-size:.9rem;padding:.38rem .55rem}
  .app-body .mobile-today-head strong{font-size:1.05rem}
  .app-body .mobile-question h1{font-size:1.65rem;line-height:1.12}
  .app-body .mobile-task-button strong{font-size:1.04rem}.app-body .mobile-task-button small{font-size:.92rem!important}
  .app-body .mobile-continue-card strong,.app-body .mobile-attention-line strong{font-size:1.02rem}.app-body .mobile-continue-card small,.app-body .mobile-attention-line small{font-size:.92rem!important}.app-body .mobile-continue-card p{font-size:.95rem}
  .app-body .mobile-today-summary span{font-size:.9rem}.app-body .mobile-today-summary strong{font-size:1.02rem}
  .app-body .mobile-hub-head .eyebrow{font-size:.92rem}.app-body .mobile-hub-head p{font-size:.98rem}.app-body .mobile-activity-item strong{font-size:1rem}.app-body .mobile-activity-item small{font-size:.92rem!important}
  .app-body .mobile-more-group h2{font-size:.94rem;line-height:1.35}.app-body .mobile-more-links a{min-height:52px}.app-body .mobile-more-links a strong{font-size:1.02rem}
  .app-body .mobile-owner-head h1{font-size:1.5rem}.app-body .mobile-owner-head p{font-size:.96rem}
  .app-body .mobile-owner-kpis span{font-size:.9rem}.app-body .mobile-owner-kpis strong{font-size:1.05rem}
  .app-body .mobile-owner-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.app-body .mobile-owner-actions a{min-height:70px;padding:.55rem}.app-body .mobile-owner-actions strong{font-size:.92rem!important;line-height:1.25}
  .app-body .mobile-owner-strip span{font-size:.92rem}.app-body .mobile-owner-strip small{font-size:.9rem!important}.app-body .mobile-owner-strip strong{font-size:1rem}
  .app-body .mobile-ramp-switcher summary small,.app-body .mobile-ramp-menu>a small{font-size:.9rem!important}.app-body .mobile-ramp-switcher summary strong,.app-body .mobile-ramp-menu>a strong{font-size:1rem}.app-body .mobile-ramp-use-form .btn{font-size:.95rem}
  .app-body .global-sync-status{font-size:.94rem}
}

@media(max-width:720px){
  body.landing-body{font-size:1.18rem}
  .landing-body .landing-hero-v2 p{font-size:1.18rem;line-height:1.6}
  .landing-body .landing-proof-row{font-size:1rem}
  .landing-body .landing-value-strip span,.landing-body .work-panel p{font-size:1.05rem}
  .landing-body .work-tab{font-size:1.05rem}
  .landing-body .landing-flow>div{flex-basis:178px}
  .landing-body .landing-flow small{font-size:.96rem}
  .landing-body .landing-install-copy p{font-size:1rem}
}

@media(max-width:560px){
  .app-body th,.app-body td{font-size:1rem;line-height:1.45}
  .app-body .page-title h1{line-height:1.12}
  .app-body .card{padding:.95rem}
}

@media(max-width:420px){
  .app-body .mobile-owner-actions strong{font-size:.9rem!important}
  .app-body .mobile-bottom-nav-v5 .mobile-bottom-item strong{font-size:.86rem!important}
}

/* Additional coverage for user-facing modules that previously used compact labels. */
.app-body .eyebrow,.app-body .command-hero-main .eyebrow{font-size:1rem!important;line-height:1.35}
.app-body .sync-count{font-size:.92rem}.app-body .command-kpi-strip span{font-size:.96rem}
.app-body .sample-card span{font-size:1rem}.app-body .chart-total-pill span{font-size:.94rem}.app-body .legend-pill{font-size:.98rem}
.app-body .workflow-score span{font-size:.94rem}.app-body .focus-home-volume span{font-size:.96rem}.app-body .admin-data-group>strong{font-size:1rem}.app-body .admin-data-tabs a{font-size:.96rem}.app-body .admin-data-safety p{font-size:1rem;line-height:1.5}
.app-body .hr-module-card small{font-size:.96rem!important}.app-body .hr-source-mark{font-size:.94rem}.app-body .hr-auto-source-note{font-size:.96rem}.app-body .payroll-status-flow span{font-size:.94rem}.app-body .payslip-person small,.app-body .payslip-total span{font-size:.96rem!important}
.app-body .portfolio-presets a{font-size:.96rem}.app-body .portfolio-kpis span,.app-body .portfolio-kpis small,.app-body .portfolio-health-grid dt,.app-body .portfolio-ranking small{font-size:.96rem!important}.app-body .theme-choice-copy small{font-size:.96rem!important}
.app-body .branding-progress-head b,.app-body .branding-progress-foot small,.app-body .branding-preview-card>span,.app-body .branding-version-info span,.app-body .branding-version-info small{font-size:.96rem!important}.app-body .branding-progress .btn.compact{font-size:.96rem}

/* PWA install guidance must be readable as well. */
.pwa-install-sheet p{font-size:1rem;line-height:1.5}.pwa-install-sheet strong{font-size:1.06rem}.pwa-install-sheet-actions .btn{font-size:1rem;min-height:48px}
.pwa-install-nudge strong{font-size:1rem}.pwa-install-nudge small{font-size:.94rem;line-height:1.4}.pwa-install-nudge .btn{font-size:.98rem;min-height:44px}.pwa-nudge-dismiss{font-size:.92rem;line-height:1.35}

@media(max-width:1040px){
  .app-body .mobile-bottom-nav-v5 .mobile-bottom-item strong,.app-body .mobile-bottom-item strong{font-size:.95rem!important}
  .app-body .mobile-owner-actions strong{font-size:.95rem!important}
}
@media(max-width:420px){
  .app-body .mobile-bottom-nav-v5 .mobile-bottom-item strong{font-size:.92rem!important}
  .app-body .mobile-owner-actions strong{font-size:.92rem!important}
}

/* v5.0.8/v5.1.7 — complete practice & job-first guide */
.sample-coverage-grid,.guide-journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sample-coverage-grid article,.guide-journey-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:var(--surface-soft,#fbfaf5)}
.sample-coverage-grid article{display:grid;gap:7px}.sample-coverage-grid article strong{font-size:1.05rem}.sample-coverage-grid article span{color:var(--muted);line-height:1.55}
.sample-live-only{margin-top:16px;padding:16px 18px;border-radius:16px;background:var(--surface-soft,#f7f6ef);border-left:4px solid var(--accent,#0d6b4b)}.sample-live-only p{margin:.45rem 0 0;color:var(--muted)}
.guide-journey-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.guide-journey-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.07)}.guide-journey-card>span{font-size:1.55rem}.guide-journey-card strong{font-size:1.08rem}.guide-journey-card p{margin:.35rem 0 0;color:var(--muted);line-height:1.55}.guide-journey-card>b{font-size:1.6rem}
.guide-safe-habits{display:grid;gap:8px}.guide-safe-habits p{margin:0;padding:10px 0;border-bottom:1px dashed var(--border);line-height:1.55}.guide-safe-habits p:last-child{border-bottom:0}
.ai-practice-example{border-style:dashed}
@media(max-width:760px){.sample-coverage-grid,.guide-journey-grid{grid-template-columns:1fr}.sample-coverage-grid article,.guide-journey-card{padding:16px}}

/* v5.1.8 — flow-first quick master creation */
.quick-reference-field{display:grid;gap:.55rem;min-width:0;align-self:start}
.quick-reference-field>label{margin:0}
.quick-reference-add{border:1px dashed var(--border);border-radius:14px;padding:.72rem .85rem;background:var(--surface-soft,#fbfaf5)}
.quick-reference-add summary{cursor:pointer;font-weight:750;line-height:1.4;color:var(--accent,#0d6b4b);list-style-position:outside}
.quick-reference-add[open] summary{margin-bottom:.7rem}
.quick-reference-add label{display:grid;gap:.4rem;margin:0;font-weight:650}
.quick-reference-add input{width:100%}
.quick-reference-add small{display:block;margin-top:.55rem;color:var(--muted);font-size:.96rem;line-height:1.5}
@media(max-width:760px){.quick-reference-add{padding:.8rem}.quick-reference-add summary{font-size:1rem}}


/* RapiRamp v5.0.10 — searchable/free-entry master picker for uninterrupted operational flow */
.master-picker{display:grid;gap:.42rem;min-width:0;position:relative;align-self:start}
.master-picker>label{margin:0}
.master-picker-shell{position:relative;margin-top:.35rem}
.master-picker-control{display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:stretch}
.master-picker-control input{margin:0;border-radius:14px 0 0 14px;border-right:0;min-width:0}
.master-picker-toggle{border:1px solid var(--line);border-left:0;border-radius:0 14px 14px 0;background:var(--card);color:var(--green);font:inherit;font-weight:950;cursor:pointer;min-height:48px}
.master-picker-toggle:hover,.master-picker-toggle:focus-visible{background:var(--surface-soft,#f3f8f4)}
.master-picker-menu{position:absolute;z-index:90;left:0;right:0;top:calc(100% + .35rem);display:grid;gap:.28rem;max-height:min(48vh,380px);overflow:auto;padding:.42rem;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 18px 42px rgba(13,79,54,.16)}
.master-picker-menu[hidden]{display:none!important}
.master-picker-option,.master-picker-create{display:grid;width:100%;text-align:left;border:0;border-radius:12px;padding:.72rem .78rem;background:transparent;color:var(--text);font:inherit;cursor:pointer;line-height:1.35}
.master-picker-option:hover,.master-picker-option:focus-visible,.master-picker-option.is-keyboard-active{background:var(--surface-soft,#edf7f0)}
.master-picker-option strong{font-size:1rem}
.master-picker-option small{font-size:.9rem;color:var(--muted);margin-top:.08rem}
.master-picker-create{border-top:1px solid var(--line);border-radius:10px;color:var(--green);font-weight:900}
.master-picker-create:hover,.master-picker-create:focus-visible,.master-picker-create.is-keyboard-active{background:#eef8f1}
.master-picker-empty{margin:0;padding:.72rem .78rem;color:var(--muted);font-size:.95rem;line-height:1.45}
.master-picker-help{display:block;color:var(--muted);font-size:.96rem;line-height:1.5}
.master-picker-state{display:block;margin-top:.08rem;padding:.42rem .58rem;border-radius:10px;background:var(--surface-soft,#f3f8f4);color:var(--green);font-size:.92rem;font-weight:800;line-height:1.35}.master-picker-state[hidden]{display:none!important}.master-picker-state.is-new{background:#fff8e8;color:#8b5a00}
.master-picker-new-hint{color:var(--green);font-weight:800}
@media(max-width:1040px){
  .master-picker-control{grid-template-columns:minmax(0,1fr) 52px}
  .master-picker-control input,.master-picker-toggle{min-height:54px}
  .master-picker-menu{max-height:min(44vh,340px)}
  .master-picker-option,.master-picker-create{padding:.82rem .8rem}
}

/* RapiRamp v5.0.12: transaction-linked payment UX */
.payment-inline-summary{display:flex;flex-direction:column;gap:.28rem;padding:.8rem .9rem;border:1px solid var(--line,#dde6dd);border-radius:14px;background:var(--surface-soft,#f6faf7);min-width:0}.payment-inline-summary strong{font-size:1rem}.payment-inline-summary small{font-size:.92rem;line-height:1.45}.payment-inline-summary a{font-weight:800;align-self:flex-start}.segmented-tabs{display:flex;gap:.6rem;flex-wrap:wrap}.notice.info{background:#eef8f3;border:1px solid #cfe7da}.notice.warning{background:#fff8e8;border:1px solid #ecd39c}.text-warning{color:#8b5a00}.checkbox-row{display:flex!important;align-items:flex-start;gap:.6rem}.checkbox-row input{width:auto;margin-top:.25rem}
@media(max-width:720px){.payment-inline-summary{grid-column:1/-1}.segmented-tabs .btn{flex:1 1 46%;justify-content:center}}

/* RapiRamp v5.0.13 — explicit multi-ramp work context */
.sidebar-profile-copy{min-width:0;flex:1}.sidebar-profile-card small{display:block;margin-top:.18rem;color:#bcd4c5;font-size:.9rem;font-weight:800}.sidebar-ramp-switch{appearance:none;display:inline-flex;align-items:center;gap:.35rem;margin-top:.55rem;padding:.38rem .56rem;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.88rem;font-weight:900;cursor:pointer}.sidebar-ramp-switch:hover{background:#fff;color:#163023}.sidebar-ramp-switch b{color:#ffca72}.sidebar-ramp-switch:hover b{color:#996300}
.global-context-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:-2px 0 10px;min-height:48px}.global-ramp-status{appearance:none;display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;max-width:min(560px,72%);padding:.52rem .7rem;border:1px solid #d7e5dc;border-radius:16px;background:rgba(250,255,251,.82);color:var(--text);text-align:left;box-shadow:0 4px 16px rgba(13,79,54,.05);font:inherit}.global-ramp-status.is-switchable{cursor:pointer}.global-ramp-status.is-switchable:hover,.global-ramp-status.is-switchable:focus-visible{border-color:#8bb9a0;background:#f3fbf5;box-shadow:0 0 0 4px rgba(13,79,54,.06);outline:none}.global-ramp-status>span:not(.global-ramp-icon){min-width:0;display:grid;gap:.02rem}.global-ramp-status small{font-size:.82rem;color:var(--muted);font-weight:850;line-height:1.15}.global-ramp-status strong{font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-ramp-status em{font-style:normal;white-space:nowrap;padding:.28rem .48rem;border-radius:999px;background:#edf5ef;color:#3f5c4a;font-size:.78rem;font-weight:850}.global-ramp-status>b{font-size:1rem;color:#668073}.global-ramp-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eaf5ee;font-size:1rem}.global-context-row .global-sync-status{flex:0 0 auto}.global-sync-row{display:none!important}
.ramp-switch-layer[hidden]{display:none!important}.ramp-switch-layer{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:1rem}.ramp-switch-backdrop{position:absolute;inset:0;border:0;background:rgba(10,28,19,.48);backdrop-filter:blur(5px);cursor:pointer}.ramp-switch-sheet{position:relative;z-index:1;width:min(620px,calc(100vw - 1.5rem));max-height:min(760px,calc(100dvh - 2rem));overflow:auto;border:1px solid #d7e1da;border-radius:28px;background:#fffdf9;box-shadow:0 32px 110px rgba(7,35,22,.32);padding:1rem}.ramp-switch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.25rem .2rem .8rem}.ramp-switch-head>div{min-width:0}.ramp-switch-head small{display:block;color:#0c6542;font-weight:950}.ramp-switch-head h2{margin:.14rem 0 .3rem;font-size:1.55rem;line-height:1.1;color:#133a29}.ramp-switch-head p{margin:0;max-width:48ch;color:var(--muted);font-size:.96rem;line-height:1.45}.ramp-switch-close{appearance:none;display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#f6f4ee;color:#345044;font:inherit;font-size:1.35rem;font-weight:900;cursor:pointer}.ramp-switch-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;margin:.1rem .1rem .75rem;padding:.1rem .75rem;border:1px solid var(--line);border-radius:16px;background:#fbfaf5}.ramp-switch-search span{font-size:1.2rem;color:#5d7467}.ramp-switch-search input{min-height:48px;border:0!important;background:transparent!important;box-shadow:none!important;padding:.55rem 0!important;font-size:1rem!important}.ramp-switch-list{display:grid;gap:.48rem}.ramp-switch-option{appearance:none;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.78rem;border:1px solid #e1e5df;border-radius:18px;background:#fff;color:var(--text);text-align:left;font:inherit;cursor:pointer}.ramp-switch-option:not(:disabled):hover,.ramp-switch-option:not(:disabled):focus-visible{border-color:#94bea7;background:#f4fbf6;outline:none;box-shadow:0 0 0 4px rgba(13,79,54,.05)}.ramp-switch-option.is-active{border-color:#b9d8c5;background:#f0faf3}.ramp-switch-option:disabled{opacity:1;cursor:default}.ramp-switch-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#edf7f0}.ramp-switch-copy{min-width:0;display:grid;gap:.12rem}.ramp-switch-copy strong{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ramp-switch-copy small{font-size:.92rem;color:var(--muted);font-weight:800}.ramp-switch-state{white-space:nowrap;color:#0d6b47;font-size:.86rem;font-weight:900}.ramp-switch-foot{margin:.8rem .15rem .1rem;padding-top:.7rem;border-top:1px solid #eee7db;color:var(--muted);font-size:.9rem;line-height:1.45}.ramp-switch-empty{padding:1rem;text-align:center;color:var(--muted)}
body[data-theme="malam_hutan"] .global-ramp-status{background:#14271d;border-color:#2b4838;color:#eef6f0}body[data-theme="malam_hutan"] .global-ramp-status em{background:#20392b;color:#d8ebe0}body[data-theme="malam_hutan"] .global-ramp-icon{background:#20392b}body[data-theme="malam_hutan"] .ramp-switch-sheet{background:#13231a;border-color:#2b4035;color:#eef6f0}body[data-theme="malam_hutan"] .ramp-switch-head h2,body[data-theme="malam_hutan"] .ramp-switch-option{color:#eef6f0}body[data-theme="malam_hutan"] .ramp-switch-option{background:#182b20;border-color:#2e4739}body[data-theme="malam_hutan"] .ramp-switch-option.is-active{background:#1c3828}body[data-theme="malam_hutan"] .ramp-switch-search{background:#182b20;border-color:#2e4739}
@media(max-width:1040px){.global-context-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;margin:.05rem 0 .55rem}.global-ramp-status{max-width:none;width:100%;grid-template-columns:auto minmax(0,1fr) auto;padding:.5rem .58rem;border-radius:15px}.global-ramp-status em{display:none}.global-ramp-status>b{display:block}.global-ramp-status small{font-size:.86rem}.global-ramp-status strong{font-size:1rem}.global-context-row .global-sync-status{justify-self:end;max-width:180px}.ramp-switch-layer{align-items:end;padding:0}.ramp-switch-sheet{width:100%;max-height:82dvh;border-radius:26px 26px 0 0;padding:.9rem .85rem max(1rem,env(safe-area-inset-bottom))}.ramp-switch-head h2{font-size:1.42rem}.ramp-switch-head p{font-size:.95rem}.ramp-switch-option{min-height:68px}.ramp-switch-copy strong{font-size:1.04rem}.ramp-switch-copy small{font-size:.9rem}}
@media(max-width:520px){.global-context-row{grid-template-columns:1fr}.global-context-row .global-sync-status{justify-self:start;max-width:100%}.global-ramp-status{grid-template-columns:auto minmax(0,1fr) auto}.global-ramp-icon{width:36px;height:36px}.ramp-switch-sheet{max-height:86dvh}.ramp-switch-state{font-size:.8rem}.ramp-switch-option.is-active .ramp-switch-state{max-width:92px;text-align:right;line-height:1.15}.sidebar-ramp-switch{font-size:.95rem}}

/* RapiRamp v5.0.15 — delivery form clarity and settlement calculation hotfix */
.settlement-party{display:grid;gap:.24rem;padding:.82rem .9rem;border:1px solid #d9e7dc;border-radius:16px;background:#f3faf5}.settlement-party>span{font-size:.9rem;color:var(--muted);font-weight:800}.settlement-party>strong{font-size:1.08rem;line-height:1.25;color:var(--green)}.settlement-party>small{display:block;color:var(--muted);line-height:1.45}.delivery-calc-note{display:grid;gap:.28rem;padding:.75rem .85rem;border:1px solid #dbe8de;border-radius:14px;background:#f7fbf8}.delivery-calc-note>strong{color:var(--green);font-size:1rem}.delivery-calc-note>small{color:var(--muted);line-height:1.5}.wizard-form label>small{font-weight:600;color:var(--muted);line-height:1.4}.delivery-expense-card{display:grid;gap:.72rem;padding:.9rem;border:1px solid #ead9bd;border-radius:18px;background:#fffaf1}.delivery-expense-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.delivery-expense-head strong{display:block;font-size:1.05rem;color:#3c321f}.delivery-expense-head small{display:block;margin-top:.18rem;color:var(--muted);line-height:1.45}.delivery-expense-info{padding:.62rem .72rem;border-radius:12px;background:#fff2d9;color:#6e572d;font-size:.92rem;line-height:1.45}.expense-column-heads{display:grid;grid-template-columns:1.1fr 1.5fr 1fr auto;gap:.6rem;padding:0 .1rem;color:var(--muted);font-size:.82rem;font-weight:850}.delivery-expense-actions{display:flex;justify-content:flex-start}.delivery-expense-actions .btn{width:auto}.expense-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding-top:.15rem}.expense-summary-grid input[readonly]{background:#fff;color:var(--green);font-weight:900}.form-grid input[readonly]{cursor:default}
@media(max-width:720px){.delivery-expense-card{padding:.78rem}.expense-column-heads{display:none}.expense-summary-grid{grid-template-columns:1fr}.delivery-expense-actions .btn{width:100%}.settlement-party{padding:.72rem .78rem}.delivery-calc-note{padding:.68rem .75rem}}

/* RapiRamp v5.1.15 — desktop top command navigation; mobile navigation is unchanged. */
.desktop-commandbar{display:none}
@media(min-width:1041px){
  .app-body .app-shell{display:block!important;max-width:1500px}
  .app-body #mainSidebar.app-sidebar{display:none!important}
  .app-body .app-page{padding-top:1rem!important}
  .app-body .app-footer{margin-left:0!important}
  .app-body .global-context-row{margin-top:.1rem}
  .desktop-commandbar{display:block;position:sticky;top:72px;z-index:92;background:color-mix(in srgb,var(--card) 96%,transparent);border-bottom:1px solid var(--line);box-shadow:0 9px 24px rgba(13,79,54,.07);backdrop-filter:blur(14px)}
  .desktop-commandbar-inner{width:min(1500px,100%);margin:0 auto;padding:.48rem clamp(.8rem,2vw,1.35rem);display:flex;align-items:center;gap:.36rem;min-height:54px}
  .desktop-command-home,.desktop-command-group>summary,.desktop-command-search>summary{display:flex;align-items:center;gap:.42rem;min-height:40px;padding:.52rem .67rem;border:1px solid transparent;border-radius:13px;color:var(--text)!important;text-decoration:none!important;white-space:nowrap;cursor:pointer;font-weight:880;font-size:.86rem;background:transparent;list-style:none}
  .desktop-command-home:hover,.desktop-command-home.active,.desktop-command-group>summary:hover,.desktop-command-group.active-group>summary,.desktop-command-group[open]>summary,.desktop-command-search[open]>summary{background:color-mix(in srgb,var(--green) 9%,var(--card));border-color:color-mix(in srgb,var(--green) 24%,var(--line));color:var(--green)!important}
  .desktop-command-home span{font-size:1rem}.desktop-command-groups{display:flex;align-items:center;gap:.16rem;min-width:0;flex:1}.desktop-command-group,.desktop-command-search{position:relative;margin:0}.desktop-command-group>summary::-webkit-details-marker,.desktop-command-search>summary::-webkit-details-marker{display:none}.desktop-command-group>summary>b{font-size:.7rem;color:var(--muted);transition:transform .16s ease}.desktop-command-group[open]>summary>b{transform:rotate(180deg)}
  .desktop-command-panel{position:absolute;top:calc(100% + .5rem);left:0;width:min(390px,calc(100vw - 2rem));padding:.55rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 24px 58px rgba(20,45,30,.18);z-index:130}
  .desktop-command-group:nth-last-child(-n+2) .desktop-command-panel{left:auto;right:0}
  .desktop-command-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.48rem;min-height:48px;padding:.58rem .62rem;border-radius:13px;color:var(--text)!important;text-decoration:none!important;font-weight:780;font-size:.82rem;line-height:1.18}
  .desktop-command-item:hover,.desktop-command-item.active{background:color-mix(in srgb,var(--green) 10%,var(--card));color:var(--green)!important}.desktop-command-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--green) 8%,var(--card));font-size:.92rem}.desktop-command-badge{display:grid;place-items:center;min-width:20px;height:20px;padding:0 .3rem;border-radius:999px;background:var(--gold-2);color:#1c2d23;font-size:.68rem}
  .desktop-command-search{margin-left:auto}.desktop-command-search>summary{border-color:var(--line);background:var(--card)}.desktop-command-search-panel{position:absolute;top:calc(100% + .5rem);right:0;width:min(430px,calc(100vw - 2rem));padding:.68rem;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 24px 58px rgba(20,45,30,.18);z-index:135}.desktop-command-search-panel label{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:13px;padding:0 .65rem;background:color-mix(in srgb,var(--bg) 55%,var(--card))}.desktop-command-search-panel input{border:0!important;box-shadow:none!important;background:transparent!important;min-height:42px;padding:.45rem 0!important;width:100%}.desktop-command-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin-top:.5rem;max-height:430px;overflow:auto}.desktop-command-search-results a{display:flex;align-items:center;gap:.45rem;padding:.55rem .58rem;border-radius:11px;color:var(--text)!important;text-decoration:none!important;font-size:.8rem;font-weight:760}.desktop-command-search-results a:hover{background:color-mix(in srgb,var(--green) 9%,var(--card));color:var(--green)!important}.desktop-menu-search-empty{margin:.65rem .3rem .2rem;color:var(--muted);font-size:.8rem}
}
@media(min-width:1041px) and (max-width:1180px){
  .desktop-command-home,.desktop-command-group>summary,.desktop-command-search>summary{padding:.5rem .5rem;font-size:.78rem}.desktop-command-group>summary>span{display:none}.desktop-command-search>summary span{display:none}.desktop-commandbar-inner{gap:.2rem;padding-left:.7rem;padding-right:.7rem}
}

@media(min-width:1041px){.app-body .app-shell{background:transparent!important;min-height:calc(100dvh - 126px)!important}.app-body .app-page{min-height:calc(100dvh - 126px)!important}}

/* RapiRamp v5.0.17 — focus-first UX simplification; mobile navigation itself remains unchanged. */
.focus-form-card{overflow:visible}
.progressive-detail{grid-column:1/-1;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 94%,var(--bg));overflow:clip}
.progressive-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;padding:.72rem .85rem;cursor:pointer;list-style:none;font-weight:880;color:var(--text)}
.progressive-detail>summary::-webkit-details-marker{display:none}.progressive-detail>summary>span:last-child{color:var(--green);font-size:1.15rem;transition:transform .16s ease}.progressive-detail[open]>summary>span:last-child{transform:rotate(45deg)}
.progressive-detail-body{padding:.25rem .85rem .9rem}.progressive-detail-body.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.derived-primary input[readonly],label.derived-primary input{background:color-mix(in srgb,var(--green) 7%,var(--card));border-color:color-mix(in srgb,var(--green) 35%,var(--line));color:var(--green);font-weight:950;font-size:1.05rem}
.wizard-step-hint{margin:.18rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.35;font-weight:600}
.device-draft-panel{margin:0 0 1rem;padding:.82rem;border:1px solid color-mix(in srgb,var(--green) 26%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--green) 5%,var(--card))}.device-draft-panel[hidden]{display:none!important}.device-draft-head{display:flex;align-items:center;gap:.65rem}.device-draft-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--green) 12%,var(--card));font-size:1.2rem;color:var(--green)}.device-draft-head>div{display:grid;gap:.08rem}.device-draft-head small{color:var(--muted);line-height:1.35}.device-draft-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}.device-draft-links a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:min(300px,100%);padding:.65rem .72rem;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text)!important;text-decoration:none!important}.device-draft-links a[hidden]{display:none!important}.device-draft-links a>div{display:grid}.device-draft-links small{color:var(--muted)}
.mobile-secondary-tools{margin-top:.7rem;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 94%,var(--bg));overflow:hidden}.mobile-secondary-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.72rem .8rem;list-style:none;cursor:pointer;font-weight:850}.mobile-secondary-tools>summary::-webkit-details-marker{display:none}.mobile-secondary-tools>summary span{color:var(--green);font-size:1.1rem}.mobile-secondary-tools[open]>summary span{transform:rotate(45deg)}.mobile-secondary-grid{display:grid;gap:.18rem;padding:0 .45rem .5rem}.mobile-secondary-grid a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.62rem .55rem;border-radius:12px;color:var(--text)!important;text-decoration:none!important}.mobile-secondary-grid a:hover{background:color-mix(in srgb,var(--green) 7%,var(--card))}.mobile-secondary-grid a>div{display:grid;gap:.04rem}.mobile-secondary-grid a small{color:var(--muted);line-height:1.3}.mobile-hub-secondary{margin-top:.85rem}
.payment-focus-card{max-width:900px;margin-left:auto;margin-right:auto}.payment-focus-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.65rem;margin:.7rem 0 1rem}.payment-focus-summary>div{display:grid;gap:.18rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 95%,var(--bg))}.payment-focus-summary span{color:var(--muted);font-size:.88rem;font-weight:750}.payment-focus-summary strong{font-size:1.08rem}.payment-focus-summary .payment-balance{background:color-mix(in srgb,var(--gold-2) 22%,var(--card));border-color:color-mix(in srgb,#ba8730 32%,var(--line))}.payment-focus-summary .payment-balance strong{font-size:1.35rem;color:#775014}.payment-history-detail{margin-top:.9rem}.payment-other-link{max-width:900px;margin:0 auto 1rem}.mobile-record-list{display:grid;gap:.55rem}.mobile-record-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.78rem .82rem;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--text)!important;text-decoration:none!important}.mobile-record-card>div{display:grid;gap:.14rem;min-width:0}.mobile-record-card small{color:var(--muted)}.mobile-record-card strong{font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-record-card span{color:var(--green);font-weight:850}.mobile-record-card>b{font-size:1.35rem;color:var(--muted)}
@media(max-width:1040px){
  .focus-form-card{margin-bottom:calc(82px + env(safe-area-inset-bottom))}.payment-focus-card{margin-bottom:calc(82px + env(safe-area-inset-bottom))}
  .focused-form-actions{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:35;margin-left:-.2rem;margin-right:-.2rem;padding:.58rem;background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--line);border-radius:16px;box-shadow:0 -8px 24px rgba(13,79,54,.08);backdrop-filter:blur(12px)}
  .focused-form-actions .btn{flex:1 1 44%;justify-content:center}
  .payment-focus-summary{grid-template-columns:1fr 1fr}.payment-focus-summary .payment-balance{grid-column:1/-1}.device-draft-panel{margin:.55rem 0 .85rem}.device-draft-links{display:grid}.device-draft-links a{min-width:0;width:100%}
  .progressive-detail-body.form-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .wizard-step-hint{display:none}.wizard-step-head{padding:.68rem .72rem}.wizard-step-head>div{min-width:0}.wizard-step-count{font-size:.78rem}.progressive-detail>summary{font-size:.96rem;padding:.68rem .72rem}.progressive-detail-body{padding:.2rem .72rem .78rem}
  .payment-focus-summary{grid-template-columns:1fr 1fr;gap:.5rem}.payment-focus-summary>div{padding:.62rem}.payment-focus-summary .payment-balance strong{font-size:1.25rem}.focused-form-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:.45rem}.focused-form-actions .btn{width:100%;min-width:0;padding-left:.5rem;padding-right:.5rem}
}


/* RapiRamp v5.0.18 — Superadmin desktop command navigation; mobile sidebar unchanged. */
@media(min-width:1041px){
  .superadmin-body #superadminSidebar.superadmin-sidebar{display:none!important}
  .superadmin-body .superadmin-shell{display:block!important;grid-template-columns:none!important;max-width:1500px!important}
  .superadmin-body .superadmin-page{max-width:1500px!important;margin:0 auto!important}
  .superadmin-body .superadmin-footer{margin-left:0!important}
  .superadmin-desktop-commandbar{display:block!important;top:72px}
  .superadmin-desktop-commandbar .desktop-commandbar-inner{max-width:1500px}
}
@media(max-width:1040px){
  .superadmin-desktop-commandbar{display:none!important}
}
.attention-item small em{font-style:normal;font-weight:850;color:var(--green)}
.compact-attention-filter{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.7rem;padding:.7rem .85rem}.compact-attention-filter a{font-weight:900;white-space:nowrap}

/* RapiRamp 5.1.19 — Superadmin desktop residual-sidebar canvas hotfix. */
@media(min-width:1041px){
  body.superadmin-body .superadmin-shell{background:transparent!important;box-shadow:none!important;min-height:calc(100dvh - 126px)!important;}
  body.superadmin-body .superadmin-page{background:transparent!important;}
  body.superadmin-body #superadminSidebar.superadmin-sidebar{display:none!important;width:0!important;min-width:0!important;padding:0!important;border:0!important;box-shadow:none!important;}
  body.superadmin-body .superadmin-footer{margin-left:0!important;}
}

/* RapiRamp v5.0.20 / v5.1.20 — Personal Custom Reports */
.custom-report-intro,.report-run-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.custom-report-intro p,.report-run-head p{margin:.35rem 0 0}.custom-source-grid,.custom-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.custom-source-card,.custom-template-card{border:1px solid var(--border,#dfe6e1);border-radius:16px;padding:16px;background:var(--surface,#fff);text-decoration:none;color:inherit;display:flex;gap:10px;align-items:flex-start}.custom-source-card{position:relative;flex-direction:column;padding-right:42px}.custom-source-card span,.custom-template-card p{color:var(--muted,#68746c);font-size:.92rem;line-height:1.45}.custom-source-card b{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.4rem}.custom-template-card{justify-content:space-between;align-items:center}.custom-template-card h3{margin:.45rem 0 .2rem}.custom-template-card small{color:var(--muted,#68746c)}.custom-template-card .report-hub-actions{justify-content:flex-end}.custom-builder-card{overflow:visible}.custom-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.custom-stepper button{border:1px solid var(--border,#dfe6e1);background:var(--surface-soft,#f6f8f6);border-radius:12px;padding:9px 6px;font:inherit;color:inherit;cursor:pointer}.custom-stepper button span{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface,#fff);margin-right:5px}.custom-stepper button.active{border-color:var(--primary,#2d6d4b);font-weight:700}.builder-source-note{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.custom-report-form fieldset{border:0;padding:0;margin:0}.custom-report-form legend{font-size:1.15rem;font-weight:800;margin-bottom:6px}.custom-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.check-card,.summary-card{border:1px solid var(--border,#dfe6e1);border-radius:12px;padding:10px 12px;background:var(--surface,#fff)}.check-card{display:flex;align-items:center;gap:8px;min-height:46px}.custom-filter-list{display:grid;gap:9px}.custom-filter-row{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:9px}.custom-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-card select{width:auto;min-width:125px}.wizard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.custom-preview{margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#dfe6e1)}.safe-report-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--surface-soft,#f6f8f6);color:var(--muted,#56635a);font-size:.92rem}.custom-result-table table{min-width:780px}.custom-result-table th{white-space:nowrap}.custom-result-table td{max-width:280px}.inline-action{display:inline-flex;margin:0}.btn.danger{color:var(--danger,#a33)}
@media(max-width:900px){.custom-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-report-intro,.report-run-head,.custom-template-card{align-items:flex-start;flex-direction:column}.custom-template-card .report-hub-actions{justify-content:flex-start}}
@media(max-width:640px){.custom-source-grid,.custom-template-grid,.custom-column-grid,.custom-summary-grid{grid-template-columns:1fr}.custom-stepper{grid-template-columns:repeat(5,minmax(56px,1fr));overflow-x:auto}.custom-stepper button{font-size:.72rem;min-width:64px}.custom-stepper button span{display:flex;margin:0 auto 3px}.custom-filter-row{grid-template-columns:1fr}.summary-card{align-items:flex-start;flex-direction:column}.summary-card select{width:100%}.wizard-actions{justify-content:stretch}.wizard-actions .btn{flex:1}.report-run-head .report-hub-actions{width:100%}}

/* RapiRamp v0.1.0 integrated daily workflow */
.scale-capture{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid #cfe0d5;border-radius:16px;background:linear-gradient(135deg,rgba(13,79,54,.07),rgba(230,170,42,.06))}.scale-capture>div:first-child{display:grid;gap:3px}.scale-capture small{color:var(--muted,#68746c)}.scale-reading{font-size:1.25rem;font-weight:900;white-space:nowrap}.scale-capture .actions{display:flex;gap:7px;flex-wrap:wrap}.rr-load-total{display:flex;justify-content:flex-end;padding:12px 0;font-size:1.05rem}.rr-issue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0}.rr-issue-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;padding:10px;border:1px solid var(--border,#dfe6e1);border-radius:12px}.quality-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.quality-summary-card{display:grid;gap:4px;padding:14px;border:1px solid var(--border,#dfe6e1);border-radius:15px;text-decoration:none;color:inherit;background:var(--surface,#fff)}.quality-summary-card strong{font-size:1.45rem}.quality-summary-card.warn{border-color:#e8ce91}.quality-summary-card.danger{border-color:#e2aaa5}.quality-summary-card.ok{border-color:#a6cfb5}.quality-selected-card,.history-panel,.action-panel{margin-top:12px}.quality-last-result{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--surface-soft,#f6f8f6)}.quality-choice-grid,.quality-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quality-choice-card,.quality-profile-item{border:1px solid var(--border,#dfe6e1);border-radius:14px;padding:13px;background:#fff}.quality-choice-head{display:flex;gap:10px}.quality-choice-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(13,79,54,.08);font-weight:900}.quality-choice-head>div{display:grid;gap:2px}.quality-choice-head small,.quality-profile-item small{color:var(--muted,#68746c)}.quality-tap-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quality-tap-options input{position:absolute;opacity:0}.quality-tap-options span{display:flex;justify-content:center;padding:9px;border:1px solid var(--border,#dfe6e1);border-radius:10px;cursor:pointer}.quality-tap-options input:checked+span{border-color:var(--primary,#0d4f36);background:rgba(13,79,54,.09);font-weight:800}.quality-profile-item{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 100px;gap:10px;align-items:end}.quality-profile-item>div:first-child{display:grid;gap:3px}.quality-profile-item .wide-control{grid-column:1/-1}.copy-field{display:flex;gap:8px}.copy-field input{flex:1}.connection-key-card input{font-family:ui-monospace,monospace}.rr-five-steps{grid-template-columns:repeat(5,minmax(0,1fr))!important}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary-grid>div{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:var(--surface-soft,#f6f8f6)}
@media(max-width:900px){.scale-capture{grid-template-columns:1fr}.scale-capture .actions .btn{flex:1}.quality-summary-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-choice-grid,.quality-profile-grid,.rr-issue-grid{grid-template-columns:1fr}.quality-profile-item{grid-template-columns:1fr 1fr}.quality-profile-item>div:first-child,.quality-profile-item .wide-control{grid-column:1/-1}}
@media(max-width:560px){.quality-summary-grid,.summary-grid{grid-template-columns:1fr 1fr}.rr-issue-row{grid-template-columns:1fr}.quality-tap-options{grid-template-columns:1fr 1fr}.rr-five-steps{overflow-x:auto;grid-template-columns:repeat(5,minmax(62px,1fr))!important}}

/* RapiRamp v0.1.2 — field readability, adaptive branding, lightweight imagery */
.default-brand-mark{background:#fffdf9!important;border-color:rgba(13,79,54,.14)!important}
[data-theme="malam_hutan"] .default-brand-mark,.superadmin-theme .default-brand-mark{background:rgba(255,255,255,.98)!important}
.brand-master-lockup{display:block;width:min(300px,72vw);height:auto;margin:0 0 1.15rem;object-fit:contain}
.brand-contrast-lockup{display:block;width:min(280px,70vw);height:auto;object-fit:contain;background:rgba(255,255,255,.97);padding:.5rem .7rem;border-radius:18px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.14))}
.landing-brand-band{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:2.25rem 0 3.5rem;padding:clamp(1.25rem,3vw,2rem);border-radius:28px;background:linear-gradient(135deg,#073b29,#0d5d3e);color:#fff;box-shadow:0 20px 55px rgba(13,79,54,.18)}
.landing-brand-band div{max-width:650px}.landing-brand-band strong{display:block;font-size:clamp(1.2rem,2.5vw,1.75rem);line-height:1.2}.landing-brand-band p{margin:.45rem 0 0;color:#d9eee3;font-size:1rem;line-height:1.55}
.offline-illustration{display:block;width:min(280px,78%);height:auto;margin:0 auto .5rem}
.app-body .btn,.app-body button,.app-body [role="button"]{min-height:48px}
.app-body input:not([type="checkbox"]):not([type="radio"]),.app-body select,.app-body textarea{font-size:1.08rem;min-height:50px}
.app-body label{line-height:1.45}.app-body small,.app-body .muted{line-height:1.5}
.app-body .actions a,.app-body td.actions a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .45rem}
.app-body .mobile-data-card{font-size:1.04rem}.app-body .mobile-data-card strong{font-size:1.08rem;line-height:1.35}
.app-body .badge{font-weight:850;letter-spacing:.005em}
.app-body .flash,.app-body .notice{font-size:1.02rem;line-height:1.55}
@media(max-width:720px){
  body.app-body{font-size:1.125rem;line-height:1.55}
  .app-body .page-title h1{font-size:clamp(1.7rem,7.5vw,2.15rem);line-height:1.12}
  .app-body .page-title p{font-size:1.05rem!important}
  .app-body .btn,.app-body button{font-size:1.06rem;min-height:50px}
  .app-body input:not([type="checkbox"]):not([type="radio"]),.app-body select,.app-body textarea{font-size:1.08rem;min-height:52px}
  .app-body .table-wrap{font-size:1.02rem}
  .landing-brand-band{align-items:flex-start;flex-direction:column}.brand-contrast-lockup{width:min(250px,78vw)}
}
@media(prefers-reduced-data:reduce){.landing-brand-band{box-shadow:none}.offline-illustration{display:none}}

/* RapiRamp v0.1.3 — field readability, responsive hubs, and simple scale setup. */
body.app-body{font-size:1.0625rem;line-height:1.48}
.app-body p,.app-body li,.app-body label,.app-body td{line-height:1.48}
.app-body small,.app-body .small{font-size:.94rem!important;line-height:1.42}
.app-body .brand strong{font-size:1.05rem}.app-body .brand small{font-size:.9rem!important}
.app-body .page-title h1{font-size:clamp(1.45rem,3vw,2rem);line-height:1.1}
.app-body .page-title p{font-size:1rem;line-height:1.5}
.app-body .card-head h2{font-size:1.17rem}
.app-body .stat-card span,.app-body .stat-card small{font-size:.94rem}.app-body .stat-card strong{font-size:clamp(1.2rem,1.8vw,1.6rem)}
.app-body .btn,.app-body button,.app-body input,.app-body select,.app-body textarea{font-size:1rem;line-height:1.35}
.app-body .form-grid label{font-size:.99rem;line-height:1.38}
.app-body .form-grid input,.app-body .form-grid select,.app-body .form-grid textarea,.app-body .filter-bar input,.app-body .filter-bar select{min-height:48px}
.app-body th{font-size:.9rem}.app-body td{font-size:.98rem}.app-body .badge{font-size:.88rem}
.app-body .tabs a{font-size:.98rem;min-height:44px}
.app-body .sidebar-profile-card strong{font-size:1.02rem}.app-body .sidebar-profile-card span{font-size:.94rem!important}
.app-body .app-nav-group summary{font-size:.99rem;min-height:48px}.app-body .app-nav-item{font-size:.97rem;min-height:46px}
.app-body .global-sync-status{font-size:.9rem}.app-body .global-ramp-status small{font-size:.88rem!important}
.app-body .eyebrow,.app-body .command-hero-main .eyebrow{font-size:.91rem!important}

.scale-connect-card{display:grid;gap:.9rem}.scale-connect-card .card-head{margin-bottom:0}.scale-connect-card .card-head p{margin:.25rem 0 0;color:var(--muted)}
.scale-connect-fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.scale-connect-fields>label{display:grid;gap:.35rem;font-weight:800}.scale-connect-fields>label small{font-weight:500;color:var(--muted)}
.scale-key-state{display:grid;align-content:center;gap:.22rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#fff8ec)}.scale-key-state span{color:var(--muted);font-size:.94rem}
.scale-key-action{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.scale-key-action small{color:var(--muted)}
@media(max-width:760px){.scale-connect-fields{grid-template-columns:1fr}.scale-key-action{display:grid}.scale-key-action .btn{width:100%}}

/* Responsive task hubs stay useful when the viewport changes; no device-specific dead-end messages. */
.adaptive-hub-v013{display:block!important;width:100%}
@media(min-width:1041px){
  .adaptive-hub-v013{padding:.15rem 0 1rem}
  .adaptive-hub-v013 .mobile-hub-head{padding:.25rem 0 1rem}.adaptive-hub-v013 .mobile-hub-head .eyebrow{font-size:.88rem!important;color:var(--green);font-weight:900}.adaptive-hub-v013 .mobile-hub-head h1{margin:.15rem 0 .3rem;font-size:1.8rem;line-height:1.12}.adaptive-hub-v013 .mobile-hub-head p{margin:0;color:var(--muted);font-size:.98rem}
  .adaptive-hub-v013 .mobile-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.adaptive-hub-v013 .mobile-task-button{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:.12rem .65rem;min-height:92px;padding:.85rem;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 8px 22px rgba(13,79,54,.06);color:var(--text)!important;text-decoration:none!important}.adaptive-hub-v013 .mobile-task-button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf7f0;font-size:1.2rem}.adaptive-hub-v013 .mobile-task-button strong{font-size:1rem;line-height:1.2}.adaptive-hub-v013 .mobile-task-button small{font-size:.88rem!important;color:var(--muted)}.adaptive-hub-v013 .mobile-task-button.primary{background:linear-gradient(145deg,var(--green-2),var(--green));border-color:var(--green);color:#fff!important}.adaptive-hub-v013 .mobile-task-button.primary>span{background:rgba(255,255,255,.14)}.adaptive-hub-v013 .mobile-task-button.primary small{color:rgba(255,255,255,.78)!important}
  .adaptive-hub-v013 .mobile-secondary-tools{max-width:820px}
  .adaptive-hub-v013 .mobile-activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.adaptive-hub-v013 .mobile-activity-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--text)!important;text-decoration:none!important}.adaptive-hub-v013 .mobile-activity-item>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef7f0}.adaptive-hub-v013 .mobile-activity-item div{min-width:0}.adaptive-hub-v013 .mobile-activity-item strong,.adaptive-hub-v013 .mobile-activity-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adaptive-hub-v013 .mobile-activity-item strong{font-size:.98rem}.adaptive-hub-v013 .mobile-activity-item small{font-size:.88rem!important;color:var(--muted)}
  .adaptive-hub-v013 .mobile-more-group{margin-bottom:1rem}.adaptive-hub-v013 .mobile-more-group h2{margin:0 0 .4rem;font-size:.9rem;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.adaptive-hub-v013 .mobile-more-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.adaptive-hub-v013 .mobile-more-links a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text)!important;text-decoration:none!important}.adaptive-hub-v013 .mobile-more-links a span{width:30px;text-align:center}.adaptive-hub-v013 .mobile-more-links a strong{font-size:.96rem}.adaptive-hub-v013 .mobile-more-links a b{color:var(--muted)}.adaptive-hub-v013 .mobile-logout-link{display:none}
}
@media(max-width:1040px){
  body.app-body{font-size:1.0625rem}
  .app-body .mobile-bottom-nav-v5 .mobile-bottom-item strong,.app-body .mobile-bottom-item strong{font-size:.88rem!important}
  .app-body .mobile-bottom-item span{font-size:1.14rem}
  .app-body .mobile-greeting,.app-body .mobile-owner-head .eyebrow{font-size:.88rem}
  .app-body .mobile-online-chip{font-size:.84rem}
  .app-body .mobile-question h1{font-size:1.52rem}
  .app-body .mobile-task-button strong{font-size:.98rem}.app-body .mobile-task-button small{font-size:.86rem!important}
  .app-body .mobile-continue-card strong,.app-body .mobile-attention-line strong{font-size:.96rem}.app-body .mobile-continue-card small,.app-body .mobile-attention-line small{font-size:.86rem!important}.app-body .mobile-continue-card p{font-size:.9rem}
  .app-body .mobile-today-summary span{font-size:.84rem}.app-body .mobile-today-summary strong{font-size:.96rem}
  .app-body .mobile-hub-head .eyebrow{font-size:.86rem!important}.app-body .mobile-hub-head h1{font-size:1.38rem}.app-body .mobile-hub-head p{font-size:.92rem}.app-body .mobile-activity-item strong{font-size:.94rem}.app-body .mobile-activity-item small{font-size:.86rem!important}
  .app-body .mobile-more-group h2{font-size:.88rem}.app-body .mobile-more-links a strong{font-size:.96rem}
  .app-body .mobile-owner-head h1{font-size:1.42rem}.app-body .mobile-owner-head p{font-size:.9rem}
  .app-body .mobile-owner-actions strong{font-size:.88rem!important}.app-body .mobile-owner-strip span{font-size:.86rem}.app-body .mobile-owner-strip small{font-size:.84rem!important}
  .app-body .global-sync-status{font-size:.88rem}
}
@media(max-width:560px){.app-body th,.app-body td{font-size:.94rem}.app-body .card{padding:.88rem}}

/* RapiRamp v0.1.4 — compact landing and role-focused scale UX. */
.scale-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}.scale-status-card{display:flex;flex-direction:column;gap:.22rem;min-height:0;padding:1rem 1.1rem}.scale-status-card>small{font-size:.78rem;font-weight:850;color:var(--muted,#64736b)}.scale-status-value{font-size:1.35rem;line-height:1.12;color:#113c2b}.scale-status-card>span{font-size:.86rem;color:#627169}.scale-simple-card{padding:1rem 1.1rem}.scale-simple-card .card-head{margin-bottom:.75rem}.scale-simple-card .card-head h2{margin:0 0 .22rem;font-size:1.25rem}.scale-simple-card .card-head p{margin:0;max-width:760px;font-size:.92rem;line-height:1.45}.scale-simple-card .scale-connect-fields{gap:.7rem}.scale-simple-card .scale-key-state{padding:.82rem .9rem}.scale-simple-card .scale-key-action{margin-top:.7rem}.scale-use-form{gap:.65rem}.scale-use-form .check-row{min-height:48px;padding:.72rem .8rem}.scale-use-form .check-row small{font-size:.82rem;line-height:1.35}

.landing-compact-body{background:#f8f5ee}.landing-compact-topbar{padding-top:.55rem;padding-bottom:.55rem}.landing-compact-topbar .brand{gap:.65rem}.landing-compact-topbar .brand-logo-shell{width:46px;height:46px}.landing-compact-topbar .brand>span strong{font-size:1.08rem}.landing-compact-topbar .brand>span small{font-size:.72rem}.landing-compact{width:min(1160px,100%);margin:0 auto;padding:0 clamp(.9rem,3vw,2.5rem) 1.4rem}.landing-compact-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:center;padding:clamp(2rem,5vw,3.5rem) 0 1.6rem}.landing-compact-copy h1{margin:.55rem 0 .7rem;max-width:760px;font-size:clamp(2.45rem,5.5vw,4.8rem);line-height:.96;letter-spacing:-.055em;color:#0d2f20}.landing-compact-copy>p{max-width:700px;margin:0;color:#56655d;font-size:1.02rem!important;line-height:1.55}.landing-compact-copy .landing-hero-actions{margin-top:1.1rem}.landing-compact-copy .landing-hero-actions .btn{min-height:46px;padding:.68rem 1rem}.landing-compact-points{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:1rem;color:#456053;font-size:.82rem;font-weight:800}.landing-compact-preview{border:1px solid #d9e2dc;border-radius:24px;background:linear-gradient(145deg,#fffdf9,#eef4ef);box-shadow:0 18px 46px rgba(13,79,54,.08);padding:1rem}.landing-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-bottom:.7rem;border-bottom:1px solid #dfe6e1;color:#4f6458;font-size:.8rem}.landing-preview-head b{color:#0d4f36}.landing-preview-kpis{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.75rem 0}.landing-preview-kpis div{padding:.72rem;border-radius:16px;background:#fff}.landing-preview-kpis small,.landing-preview-kpis strong{display:block}.landing-preview-kpis small{font-size:.72rem;color:#6b7871}.landing-preview-kpis strong{margin-top:.16rem;font-size:1.15rem;color:#163c2b}.landing-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.landing-preview-actions span{padding:.66rem .72rem;border:1px solid #d8e4db;border-radius:14px;background:#fff;color:#365145;font-size:.78rem;font-weight:850}.landing-preview-actions span.active{background:#0d4f36;color:#fff;border-color:#0d4f36}.landing-preview-ready{margin-top:.65rem;padding:.62rem .72rem;border-radius:14px;background:#eaf7ef;color:#12633f;font-size:.78rem;font-weight:850}.landing-compact-value{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;padding:.9rem 0 1.65rem;border-top:1px solid rgba(13,79,54,.08)}.landing-compact-value article{padding:.85rem .9rem;border-radius:18px;background:rgba(255,255,255,.6)}.landing-compact-value strong,.landing-compact-value span{display:block}.landing-compact-value strong{color:#143b29;font-size:.95rem}.landing-compact-value span{margin-top:.25rem;color:#67736c;font-size:.8rem;line-height:1.45}.landing-compact-flow{padding:1.4rem 0 1.6rem;border-top:1px solid rgba(13,79,54,.08)}.landing-compact-section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.landing-compact-section-head h2{margin:0;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1;color:#0d2f20;letter-spacing:-.035em}.landing-flow-compact{gap:.5rem}.landing-flow-compact>div{min-height:112px;padding:.8rem;border-radius:18px}.landing-flow-compact>div>span{width:30px;height:30px;font-size:.75rem}.landing-flow-compact>div strong{margin-top:.45rem;font-size:.95rem}.landing-flow-compact>div small{margin-top:.1rem;font-size:.72rem}.landing-flow-compact>i{font-size:.95rem}.landing-compact-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.2rem 0 1.2rem;padding:1rem 1.1rem;border-radius:20px;background:#0d4f36;color:#fff}.landing-compact-cta strong,.landing-compact-cta span{display:block}.landing-compact-cta strong{font-size:1.08rem}.landing-compact-cta span{margin-top:.16rem;color:#d7e9df;font-size:.82rem}.landing-compact-cta .btn{flex:0 0 auto;min-height:44px;background:#f2a53b;border-color:#f2a53b;color:#17251e}.landing-compact-footer{padding-top:1rem;padding-bottom:1rem}

@media(max-width:900px){.scale-simple-grid{grid-template-columns:1fr}.landing-compact-hero{grid-template-columns:1fr;padding-top:1.7rem}.landing-compact-preview{width:100%}.landing-compact-value{grid-template-columns:1fr}.landing-compact-value article{padding:.72rem .8rem}.landing-compact-section-head{align-items:flex-start;flex-direction:column}.landing-compact-cta{align-items:flex-start;flex-direction:column}.landing-compact-cta .btn{width:100%}}
@media(max-width:640px){.landing-compact{padding-left:.85rem;padding-right:.85rem}.landing-compact-hero{gap:1rem;padding-bottom:1.15rem}.landing-compact-copy h1{font-size:clamp(2.25rem,12vw,3.45rem)}.landing-compact-copy>p{font-size:.96rem!important}.landing-compact-points{display:grid;gap:.3rem}.landing-preview-actions{grid-template-columns:1fr}.landing-compact-value{padding-bottom:1.15rem}.landing-compact-flow{padding-top:1.1rem}.landing-flow-compact{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.3rem}.landing-flow-compact>div{flex:0 0 135px;scroll-snap-align:start}.landing-flow-compact>i{display:none}.scale-simple-card{padding:.9rem}.scale-simple-card .copy-field{grid-template-columns:minmax(0,1fr) auto}.scale-simple-card .copy-field .btn{padding-left:.75rem;padding-right:.75rem}}

/* RapiRamp v0.1.6 — field readability baseline retained.
   Keep public copy comfortable on ordinary desktop and low-resolution devices
   while preserving the compact layout and typographic hierarchy. */
.landing-compact-body{font-size:16px}
.landing-compact-topbar .brand>span small{font-size:.84rem;line-height:1.3}
.landing-compact-points{font-size:.92rem;line-height:1.45}
.landing-preview-head{font-size:.9rem;line-height:1.35}
.landing-preview-kpis small{font-size:.86rem;line-height:1.35}
.landing-preview-actions span,.landing-preview-ready{font-size:.9rem;line-height:1.35}
.landing-compact-value strong{font-size:1.05rem;line-height:1.3}
.landing-compact-value span{font-size:.94rem;line-height:1.5}
.landing-compact-body .landing-flow-compact>div>span{font-size:.86rem}
.landing-compact-body .landing-flow-compact>div strong{font-size:1.02rem;line-height:1.3}
.landing-compact-body .landing-flow-compact>div small{font-size:.9rem;line-height:1.4}
.landing-compact-cta span{font-size:.94rem;line-height:1.45}
@media(max-width:640px){
  .landing-compact-copy>p{font-size:1rem!important;line-height:1.55}
  .landing-compact-points{font-size:.94rem}
  .landing-preview-head,.landing-preview-actions span,.landing-preview-ready{font-size:.92rem}
  .landing-preview-kpis small{font-size:.88rem}
  .landing-compact-value span{font-size:.95rem}
  .landing-compact-body .landing-flow-compact>div small{font-size:.92rem}
}


/* ========================================================================== */
/* RapiRamp v0.2.0 — Soft Monochrome visual system                            */
/* Internal legacy theme keys are preserved for DB compatibility.              */
/* ========================================================================== */
:root{
  --green:#2e2e2e;--green-2:#1f1f1f;--gold:#6b6b6b;--gold-2:#d6d6d6;
  --bg:#f7f5f2;--card:#ffffff;--text:#252525;--muted:#6b6b6b;--line:#ddddda;
  --danger:#b34545;--warning:#9a6b1a;--success:#2f7d4a;
  --shadow:0 10px 28px rgba(30,30,30,.06);--radius:16px;
  --sidebar-bg:#2b2b2b;--sidebar-bg-2:#1f1f1f;--sidebar-soft:rgba(255,255,255,.07);--sidebar-line:rgba(255,255,255,.12);
}
body,body[data-theme="hijau_ramp"]{color-scheme:light;--green:#2e2e2e;--green-2:#1f1f1f;--gold:#6b6b6b;--gold-2:#d6d6d6;--bg:#f7f5f2;--card:#fff;--text:#252525;--muted:#6b6b6b;--line:#ddddda;--sidebar-bg:#2b2b2b;--sidebar-bg-2:#1f1f1f;background:#f7f5f2;color:var(--text)}
body[data-theme="pasir_cerah"]{color-scheme:light;--green:#3a3a3a;--green-2:#252525;--gold:#7a7a7a;--gold-2:#d8d5cf;--bg:#f4f1ec;--card:#fffefa;--text:#292929;--muted:#706f6b;--line:#dedad2;--sidebar-bg:#363636;--sidebar-bg-2:#252525;background:#f4f1ec;color:var(--text)}
body[data-theme="malam_hutan"]{color-scheme:dark;--green:#e8e8e8;--green-2:#ffffff;--gold:#bcbcbc;--gold-2:#d0d0d0;--bg:#171717;--card:#222;--text:#f0f0f0;--muted:#aaa;--line:#393939;--danger:#ff8580;--warning:#e0b45c;--success:#73c08d;--sidebar-bg:#111;--sidebar-bg-2:#0b0b0b;background:#171717;color:var(--text)}
body{background:var(--bg)}
a{color:#424242}.topbar{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(30,30,30,.045)}
.card,.stat-card,.auth-card,.landing-compact-preview,.report-hub-card,.field-action,.timeline-item,.office-control-list a{background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}
.page-title h1,.focus-home-copy h1,.landing-compact-copy h1,.landing-compact-section-head h2,.superadmin-page .page-title h1{color:var(--text)!important}
.btn{background:#fff;color:#2e2e2e;border-color:var(--line)}.btn:hover{background:#f2f2f0}.btn.primary,.tabs a.active,.admin-data-tabs a.active{background:#2e2e2e!important;color:#fff!important;border-color:#2e2e2e!important}.btn.primary:hover{background:#1f1f1f!important}.btn.ghost{background:#f6f6f4}
.lang-toggle{background:#eeeeec!important;color:#3f3f3f!important}.lang-toggle:hover{background:#e3e3e0!important}.menu-toggle{background:#fff;color:#2e2e2e}.menu-toggle:hover{background:#f1f1ef}
.brand-logo-shell{background:transparent!important;border:0!important;box-shadow:none!important}.brand-logo-shell.brand-logo-mark{padding:2px!important}.brand-logo-img{filter:none}
.app-sidebar,.superadmin-sidebar{background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-2))!important;box-shadow:8px 0 26px rgba(0,0,0,.10)!important}
.sidebar-avatar,.superadmin-avatar{background:#dededb!important;color:#292929!important}.app-nav-group summary:after,.superadmin-nav-group summary:after{color:#b9b9b9!important}.app-nav-badge,.notification-dot{background:#dededb;color:#262626}.app-nav-item:hover,.app-nav-item.active,.superadmin-nav-item:hover,.superadmin-nav-item.active{background:#f5f5f3!important;color:#252525!important}
.focus-home-hero,.portfolio-hero,.next-work-card{background:linear-gradient(135deg,#fff,#f2f2f0)!important;border-color:var(--line)!important}.focus-home-volume,.home-primary-action.primary,.field-action.primary{background:#2e2e2e!important;color:#fff!important;border-color:#2e2e2e!important}.home-primary-action>span,.home-more-action>summary>span,.field-action span,.admin-control-actions>a>span,.next-work-icon{background:#f0f0ee!important;color:#303030!important}.home-primary-action.primary>span,.field-action.primary span{background:rgba(255,255,255,.13)!important;color:#fff!important}
.quick-action,.login-link-card,.benefit-pills span,.guide-quickstart>div,.office-control-list a,.hr-rate-source-banner{background:#f6f6f4!important;border-color:#dfdfdc!important;color:#323232!important}.quick-action:hover,.login-link-card:hover{background:#efefed!important}
.stat-card{background:#fff!important}.stat-card strong,.admin-focus-stat strong,.progress-number{color:#2f2f2f!important}.progress{background:#e7e7e4}.progress span{background:#5f5f5f}
th{background:#f1f1ef!important;color:#4f4f4f!important}th,td{border-bottom-color:#e4e4e1!important}.table-wrap{border-color:var(--line)}
.form-grid label,.auth-form label{color:#3f3f3f}.form-grid input,.form-grid select,.form-grid textarea,.filter-bar input,.filter-bar select,.mini-actions input,.auth-form input{background:#fff!important;border-color:#d8d8d5!important;color:#252525!important}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.auth-form input:focus{border-color:#777!important;box-shadow:0 0 0 4px rgba(46,46,46,.08)!important;outline:none}
.auth-body{background:radial-gradient(circle at 8% 0%,rgba(90,90,90,.07),transparent 30%),radial-gradient(circle at 100% 100%,rgba(90,90,90,.06),transparent 32%),#f7f5f2}.auth-card{background:rgba(255,255,255,.98)}.auth-heading h1{color:#252525}.auth-links a{background:#fafaf8;color:#3c3c3c;border-color:#e0e0dd}.auth-links a:hover{background:#f1f1ef}.auth-install{color:#3f3f3f}.offline-state-icon{background:#eeeeec;color:#363636}
.landing-compact-body,.landing-body{background:#f7f5f2}.landing-compact-preview{background:linear-gradient(145deg,#fff,#f3f3f1)!important}.landing-preview-head b,.landing-preview-kpis strong{color:#2d2d2d!important}.landing-preview-actions span.active{background:#2e2e2e!important;color:#fff!important;border-color:#2e2e2e!important}.landing-preview-ready{background:#f0f0ee!important;color:#424242!important}.landing-compact-cta{background:#2e2e2e!important}.landing-compact-cta .btn{background:#fff!important;border-color:#fff!important;color:#292929!important}.landing-kicker{color:#5d5d5d!important}.landing-compact-value article{background:rgba(255,255,255,.7)}
.mobile-command-hero{background:linear-gradient(135deg,#333 0%,#242424 72%,#6b6b6b 72%,#6b6b6b 100%)!important;border-color:#4b4b4b!important;box-shadow:0 20px 54px rgba(0,0,0,.16)!important}.command-main-value{background:rgba(255,255,255,.96)!important;border-color:#dededb!important}.command-main-value strong{color:#292929!important}.field-action:before{background:rgba(60,60,60,.05)!important}.field-action.primary:before{background:rgba(255,255,255,.08)!important}
.global-ramp-status{background:#fff!important;border-color:var(--line)!important;color:#313131!important}.global-ramp-status em,.global-ramp-icon{background:#f0f0ee!important;color:#3b3b3b!important}.ramp-switch-sheet,.ramp-switch-option{border-color:var(--line)!important}.ramp-switch-option.is-active{background:#f1f1ef!important;border-color:#cacac7!important}.sidebar-ramp-switch b{color:#c9c9c9!important}
.theme-preview-hijau-ramp{background:#f7f5f2}.theme-preview-hijau-ramp .theme-mini-sidebar{background:linear-gradient(180deg,#2b2b2b,#1f1f1f)}.theme-preview-hijau-ramp .theme-mini-sidebar:before{background:#d6d6d6}.theme-preview-hijau-ramp .theme-mini-sidebar i{background:#9b9b9b}.theme-preview-hijau-ramp .theme-mini-canvas{background:#fff}.theme-preview-hijau-ramp .theme-mini-canvas>b{background:#dededb}.theme-preview-hijau-ramp .theme-mini-canvas>span i{background:#fff;border:1px solid #dededb}.theme-preview-hijau-ramp .theme-mini-canvas>em{background:#2e2e2e}
.theme-preview-pasir-cerah{background:#f4f1ec}.theme-preview-pasir-cerah .theme-mini-sidebar{background:linear-gradient(180deg,#3b3b3b,#282828)}.theme-preview-pasir-cerah .theme-mini-sidebar:before{background:#d8d5cf}.theme-preview-pasir-cerah .theme-mini-sidebar i{background:#aaa}.theme-preview-pasir-cerah .theme-mini-canvas{background:#fffefa}.theme-preview-pasir-cerah .theme-mini-canvas>b{background:#dedad2}.theme-preview-pasir-cerah .theme-mini-canvas>span i{background:#fffefa;border:1px solid #dedad2}.theme-preview-pasir-cerah .theme-mini-canvas>em{background:#3a3a3a}
.theme-preview-malam-hutan{background:#171717;border-color:#393939}.theme-preview-malam-hutan .theme-mini-sidebar{background:linear-gradient(180deg,#111,#080808)}.theme-preview-malam-hutan .theme-mini-sidebar:before{background:#bcbcbc}.theme-preview-malam-hutan .theme-mini-sidebar i{background:#666}.theme-preview-malam-hutan .theme-mini-canvas{background:#222}.theme-preview-malam-hutan .theme-mini-canvas>b{background:#444}.theme-preview-malam-hutan .theme-mini-canvas>span i{background:#2d2d2d;border:1px solid #444}.theme-preview-malam-hutan .theme-mini-canvas>em{background:#e0e0e0}
.theme-choice:hover{box-shadow:0 12px 28px rgba(0,0,0,.07)}.theme-choice.selected{border-color:#555!important;box-shadow:0 0 0 2px rgba(46,46,46,.10),0 12px 28px rgba(0,0,0,.06)!important}.theme-choice.selected .theme-choice-check{background:#2e2e2e!important;color:#fff!important}
@media(max-width:1040px){.mobile-bottom-nav,.mobile-bottom-nav.mobile-bottom-nav-v5{background:rgba(255,255,255,.96)!important;border-color:rgba(40,40,40,.12)!important;box-shadow:0 16px 42px rgba(0,0,0,.13)!important}.mobile-bottom-item{color:#686868!important}.mobile-bottom-item.active,.mobile-bottom-item:hover{background:#2e2e2e!important;color:#fff!important}}

/* Warm monochrome keeps the same component language with a warmer surface. */
body[data-theme="pasir_cerah"] .topbar{background:rgba(255,254,250,.95)!important}body[data-theme="pasir_cerah"] .card,body[data-theme="pasir_cerah"] .stat-card,body[data-theme="pasir_cerah"] table,body[data-theme="pasir_cerah"] .theme-choice{background:#fffefa!important}body[data-theme="pasir_cerah"] th{background:#f0ede7!important}body[data-theme="pasir_cerah"] .btn.primary{background:#3a3a3a!important;border-color:#3a3a3a!important}

/* Dark monochrome: intentionally neutral; status semantics remain selectively colored. */
body[data-theme="malam_hutan"] .topbar{background:rgba(28,28,28,.96)!important;border-color:#393939!important}body[data-theme="malam_hutan"] .brand,body[data-theme="malam_hutan"] .brand strong{color:#f0f0f0!important}body[data-theme="malam_hutan"] .brand small{color:#aaa!important}body[data-theme="malam_hutan"] .card,body[data-theme="malam_hutan"] .stat-card,body[data-theme="malam_hutan"] table,body[data-theme="malam_hutan"] .theme-choice,body[data-theme="malam_hutan"] .home-primary-action,body[data-theme="malam_hutan"] .home-more-action>summary,body[data-theme="malam_hutan"] .attention-item,body[data-theme="malam_hutan"] .admin-focus-stat,body[data-theme="malam_hutan"] .admin-control-actions>a{background:#222!important;border-color:#393939!important;color:#eee!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important}body[data-theme="malam_hutan"] th{background:#2c2c2c!important;color:#d7d7d7!important}body[data-theme="malam_hutan"] td{border-bottom-color:#353535!important;color:#e8e8e8!important}body[data-theme="malam_hutan"] .form-grid input,body[data-theme="malam_hutan"] .form-grid select,body[data-theme="malam_hutan"] .form-grid textarea,body[data-theme="malam_hutan"] .filter-bar input,body[data-theme="malam_hutan"] .filter-bar select{background:#181818!important;border-color:#444!important;color:#eee!important}body[data-theme="malam_hutan"] .btn{background:#292929;color:#eee;border-color:#444}body[data-theme="malam_hutan"] .btn.primary,body[data-theme="malam_hutan"] .tabs a.active{background:#e6e6e6!important;color:#171717!important;border-color:#e6e6e6!important}body[data-theme="malam_hutan"] .mobile-bottom-nav{background:rgba(28,28,28,.97)!important;border-color:#3d3d3d!important}body[data-theme="malam_hutan"] .mobile-bottom-item{color:#aaa!important}body[data-theme="malam_hutan"] .mobile-bottom-item.active{background:#e5e5e5!important;color:#161616!important}

/* ========================================================================== */
/* RapiRamp v0.2.1 — Palm Green Contrast                                      */
/* Deep palm green replaces charcoal/gray as the principal dark tone.         */
/* Business logic, layout contracts, and status semantics are unchanged.       */
/* ========================================================================== */
:root{
  --green:#1f3a2e;--green-2:#163026;--gold:#5f7469;--gold-2:#d5ded8;
  --bg:#f6f6f2;--card:#fff;--text:#183126;--muted:#5f7469;--line:#d7ddd8;
  --danger:#b34545;--warning:#946217;--success:#2f7d4a;
  --shadow:0 10px 28px rgba(31,58,46,.075);--radius:16px;
  --sidebar-bg:#1f3a2e;--sidebar-bg-2:#163026;--sidebar-soft:rgba(255,255,255,.075);--sidebar-line:rgba(255,255,255,.14);
}
body,body[data-theme="hijau_ramp"]{color-scheme:light;--green:#1f3a2e;--green-2:#163026;--gold:#5f7469;--gold-2:#d5ded8;--bg:#f6f6f2;--card:#fff;--text:#183126;--muted:#5f7469;--line:#d7ddd8;--sidebar-bg:#1f3a2e;--sidebar-bg-2:#163026;background:#f6f6f2;color:var(--text)}
body[data-theme="pasir_cerah"]{color-scheme:light;--green:#244437;--green-2:#183126;--gold:#667a6f;--gold-2:#d9e0dc;--bg:#f5f1e9;--card:#fffefa;--text:#193027;--muted:#617269;--line:#d8ddd7;--sidebar-bg:#244437;--sidebar-bg-2:#183126;background:#f5f1e9;color:var(--text)}
body[data-theme="malam_hutan"]{color-scheme:dark;--green:#bdd7c8;--green-2:#e2efe7;--gold:#91a69a;--gold-2:#c9d8d0;--bg:#0f1813;--card:#17231d;--text:#eff6f1;--muted:#afc0b6;--line:#2d4337;--danger:#ff8b85;--warning:#e2b866;--success:#82d3a0;--sidebar-bg:#0d1a13;--sidebar-bg-2:#08120d;background:#0f1813;color:var(--text)}
body{background:var(--bg)}
a{color:#24513d}.topbar{background:rgba(255,255,255,.95);border-bottom-color:var(--line);box-shadow:0 4px 18px rgba(31,58,46,.055)}
.page-title h1,.focus-home-copy h1,.landing-compact-copy h1,.landing-compact-section-head h2,.superadmin-page .page-title h1,.auth-heading h1{color:#183126!important}
.btn{background:#fff;color:#183126;border-color:var(--line)}.btn:hover{background:#f1f5f2}.btn.primary,.tabs a.active,.admin-data-tabs a.active{background:#1f3a2e!important;color:#fff!important;border-color:#1f3a2e!important}.btn.primary:hover{background:#163026!important}.btn.ghost{background:#f4f7f5}
.lang-toggle{background:#e9efeb!important;color:#1f3a2e!important}.lang-toggle:hover{background:#dfe8e2!important}.menu-toggle{background:#fff;color:#1f3a2e;border:1px solid #d7ddd8}.menu-toggle:hover{background:#edf3ef}
.app-sidebar,.superadmin-sidebar{background:linear-gradient(180deg,#1f3a2e,#163026)!important;box-shadow:8px 0 28px rgba(22,48,38,.17)!important}.sidebar-avatar,.superadmin-avatar{background:#dfe8e2!important;color:#183126!important}.app-nav-group summary:after,.superadmin-nav-group summary:after{color:#b7c8be!important}.app-nav-badge,.notification-dot{background:#dfe8e2;color:#183126}.app-nav-item:hover,.app-nav-item.active,.superadmin-nav-item:hover,.superadmin-nav-item.active{background:#f4f7f5!important;color:#183126!important}.sidebar-ramp-switch b{color:#c6d6cd!important}
.focus-home-hero,.portfolio-hero,.next-work-card{background:linear-gradient(135deg,#fff,#eef3f0)!important;border-color:var(--line)!important}.focus-home-volume,.home-primary-action.primary,.field-action.primary{background:#1f3a2e!important;color:#fff!important;border-color:#1f3a2e!important}.home-primary-action>span,.home-more-action>summary>span,.field-action span,.admin-control-actions>a>span,.next-work-icon{background:#e7eee9!important;color:#1f3a2e!important}.home-primary-action.primary>span,.field-action.primary span{background:rgba(255,255,255,.14)!important;color:#fff!important}
.quick-action,.login-link-card,.benefit-pills span,.guide-quickstart>div,.office-control-list a,.hr-rate-source-banner{background:#f2f6f3!important;border-color:#d8e1db!important;color:#1f3a2e!important}.quick-action:hover,.login-link-card:hover{background:#e9f0eb!important}.stat-card{background:#fff!important}.stat-card strong,.admin-focus-stat strong,.progress-number{color:#1f3a2e!important}.progress{background:#e3e9e5}.progress span{background:#5f7469}
th{background:#edf2ef!important;color:#294438!important}th,td{border-bottom-color:#dfe5e1!important}.table-wrap{border-color:var(--line)}
.form-grid label,.auth-form label{color:#294438}.form-grid input,.form-grid select,.form-grid textarea,.filter-bar input,.filter-bar select,.mini-actions input,.auth-form input{background:#fff!important;border-color:#cfd8d2!important;color:#183126!important}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.auth-form input:focus{border-color:#1f3a2e!important;box-shadow:0 0 0 4px rgba(31,58,46,.11)!important;outline:none}
.auth-body{background:radial-gradient(circle at 8% 0%,rgba(31,58,46,.08),transparent 30%),radial-gradient(circle at 100% 100%,rgba(95,116,105,.08),transparent 32%),#f6f6f2}.auth-card{background:rgba(255,255,255,.985)}.auth-links a{background:#f8faf8;color:#244437;border-color:#d9e0dc}.auth-links a:hover{background:#eef3f0}.auth-install{color:#365347}.offline-state-icon{background:#e7eee9;color:#1f3a2e}
.landing-compact-body,.landing-body{background:#f6f6f2}.landing-compact-preview{background:linear-gradient(145deg,#fff,#eef3f0)!important}.landing-preview-head b,.landing-preview-kpis strong{color:#183126!important}.landing-preview-actions span.active{background:#1f3a2e!important;color:#fff!important;border-color:#1f3a2e!important}.landing-preview-ready{background:#e9efeb!important;color:#294438!important}.landing-compact-cta{background:#1f3a2e!important}.landing-compact-cta .btn{background:#fff!important;border-color:#fff!important;color:#183126!important}.landing-kicker{color:#4f6a5d!important}.landing-compact-value article{background:rgba(255,255,255,.76)}
.mobile-command-hero{background:linear-gradient(135deg,#254b3a 0%,#1f3a2e 72%,#5f7469 72%,#5f7469 100%)!important;border-color:#365948!important;box-shadow:0 20px 54px rgba(22,48,38,.20)!important}.command-main-value{background:rgba(255,255,255,.97)!important;border-color:#d7ddd8!important}.command-main-value strong{color:#183126!important}.field-action:before{background:rgba(31,58,46,.055)!important}.field-action.primary:before{background:rgba(255,255,255,.09)!important}
.global-ramp-status{background:#fff!important;border-color:var(--line)!important;color:#1f3a2e!important}.global-ramp-status em,.global-ramp-icon{background:#e9efeb!important;color:#1f3a2e!important}.ramp-switch-sheet,.ramp-switch-option{border-color:var(--line)!important}.ramp-switch-option.is-active{background:#edf3ef!important;border-color:#bfcfc5!important}
.theme-preview-hijau-ramp{background:#f6f6f2}.theme-preview-hijau-ramp .theme-mini-sidebar{background:linear-gradient(180deg,#1f3a2e,#163026)}.theme-preview-hijau-ramp .theme-mini-sidebar:before{background:#d5ded8}.theme-preview-hijau-ramp .theme-mini-sidebar i{background:#91a69a}.theme-preview-hijau-ramp .theme-mini-canvas{background:#fff}.theme-preview-hijau-ramp .theme-mini-canvas>b{background:#d7ddd8}.theme-preview-hijau-ramp .theme-mini-canvas>span i{background:#fff;border:1px solid #d7ddd8}.theme-preview-hijau-ramp .theme-mini-canvas>em{background:#1f3a2e}
.theme-preview-pasir-cerah{background:#f5f1e9}.theme-preview-pasir-cerah .theme-mini-sidebar{background:linear-gradient(180deg,#244437,#183126)}.theme-preview-pasir-cerah .theme-mini-sidebar:before{background:#d9e0dc}.theme-preview-pasir-cerah .theme-mini-sidebar i{background:#9aaca1}.theme-preview-pasir-cerah .theme-mini-canvas{background:#fffefa}.theme-preview-pasir-cerah .theme-mini-canvas>b{background:#d8ddd7}.theme-preview-pasir-cerah .theme-mini-canvas>span i{background:#fffefa;border:1px solid #d8ddd7}.theme-preview-pasir-cerah .theme-mini-canvas>em{background:#244437}
.theme-preview-malam-hutan{background:#0f1813;border-color:#2d4337}.theme-preview-malam-hutan .theme-mini-sidebar{background:linear-gradient(180deg,#0d1a13,#08120d)}.theme-preview-malam-hutan .theme-mini-sidebar:before{background:#bdd7c8}.theme-preview-malam-hutan .theme-mini-sidebar i{background:#587365}.theme-preview-malam-hutan .theme-mini-canvas{background:#17231d}.theme-preview-malam-hutan .theme-mini-canvas>b{background:#314a3d}.theme-preview-malam-hutan .theme-mini-canvas>span i{background:#1e3027;border:1px solid #365144}.theme-preview-malam-hutan .theme-mini-canvas>em{background:#bdd7c8}
.theme-choice:hover{box-shadow:0 12px 28px rgba(31,58,46,.09)}.theme-choice.selected{border-color:#1f3a2e!important;box-shadow:0 0 0 2px rgba(31,58,46,.12),0 12px 28px rgba(31,58,46,.075)!important}.theme-choice.selected .theme-choice-check{background:#1f3a2e!important;color:#fff!important}
.superadmin-theme{background:radial-gradient(circle at top right,rgba(95,116,105,.16),transparent 34%),linear-gradient(135deg,#163026 0%,#1f3a2e 42%,#f6f6f2 42%)!important}.superadmin-topbar{border-bottom:1px solid #d7ddd8!important}.branding-og-default{background:linear-gradient(135deg,#f7faf8 0%,#e8efea 68%,#1f3a2e 160%)!important;color:#183126!important}
@media(max-width:1040px){.mobile-bottom-nav,.mobile-bottom-nav.mobile-bottom-nav-v5{background:rgba(255,255,255,.965)!important;border-color:rgba(31,58,46,.14)!important;box-shadow:0 16px 42px rgba(22,48,38,.15)!important}.mobile-bottom-item{color:#5f7469!important}.mobile-bottom-item.active,.mobile-bottom-item:hover{background:#1f3a2e!important;color:#fff!important}}

/* Warm Palm Green — same contrast hierarchy, warmer canvas. */
body[data-theme="pasir_cerah"] .topbar{background:rgba(255,254,250,.96)!important}body[data-theme="pasir_cerah"] .card,body[data-theme="pasir_cerah"] .stat-card,body[data-theme="pasir_cerah"] table,body[data-theme="pasir_cerah"] .theme-choice{background:#fffefa!important}body[data-theme="pasir_cerah"] th{background:#edf1ed!important;color:#294438!important}body[data-theme="pasir_cerah"] .btn.primary{background:#244437!important;border-color:#244437!important}

/* Dark Palm Green — green-black surfaces instead of neutral black/gray. */
body[data-theme="malam_hutan"] .topbar{background:rgba(19,31,25,.97)!important;border-color:#2d4337!important}body[data-theme="malam_hutan"] .brand,body[data-theme="malam_hutan"] .brand strong{color:#eff6f1!important}body[data-theme="malam_hutan"] .brand small{color:#afc0b6!important}body[data-theme="malam_hutan"] .page-title h1,body[data-theme="malam_hutan"] .focus-home-copy h1,body[data-theme="malam_hutan"] .auth-heading h1{color:#eff6f1!important}body[data-theme="malam_hutan"] .card,body[data-theme="malam_hutan"] .stat-card,body[data-theme="malam_hutan"] table,body[data-theme="malam_hutan"] .theme-choice,body[data-theme="malam_hutan"] .home-primary-action,body[data-theme="malam_hutan"] .home-more-action>summary,body[data-theme="malam_hutan"] .attention-item,body[data-theme="malam_hutan"] .admin-focus-stat,body[data-theme="malam_hutan"] .admin-control-actions>a{background:#17231d!important;border-color:#2d4337!important;color:#eff6f1!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important}body[data-theme="malam_hutan"] th{background:#1e3027!important;color:#d8e7de!important}body[data-theme="malam_hutan"] td{border-bottom-color:#294034!important;color:#eaf3ed!important}body[data-theme="malam_hutan"] .form-grid input,body[data-theme="malam_hutan"] .form-grid select,body[data-theme="malam_hutan"] .form-grid textarea,body[data-theme="malam_hutan"] .filter-bar input,body[data-theme="malam_hutan"] .filter-bar select{background:#101b15!important;border-color:#365144!important;color:#eef5f0!important}body[data-theme="malam_hutan"] .btn{background:#1e3027;color:#edf5ef;border-color:#365144}body[data-theme="malam_hutan"] .btn.primary,body[data-theme="malam_hutan"] .tabs a.active{background:#bdd7c8!important;color:#102219!important;border-color:#bdd7c8!important}body[data-theme="malam_hutan"] .quick-action,body[data-theme="malam_hutan"] .login-link-card{background:#1a2a22!important;border-color:#314a3d!important;color:#dceae1!important}body[data-theme="malam_hutan"] .mobile-bottom-nav{background:rgba(18,30,24,.98)!important;border-color:#314a3d!important}body[data-theme="malam_hutan"] .mobile-bottom-item{color:#afc0b6!important}body[data-theme="malam_hutan"] .mobile-bottom-item.active{background:#bdd7c8!important;color:#102219!important}


/* ========================================================================== */
/* RapiRamp v0.2.2 — Landing Clarity & Readability                            */
/* Stronger public-page hierarchy without changing application business UI.   */
/* ========================================================================== */
.landing-compact-body{
  --landing-ink:#163026;
  --landing-text:#294438;
  --landing-secondary:#355246;
  --landing-muted:#456053;
  --landing-primary:#163026;
  --landing-primary-hover:#0f241b;
  --landing-line:#cbd7cf;
  --landing-soft:#edf3ef;
  background:#f6f6f2!important;
  color:var(--landing-ink);
  font-size:17px;
}
.landing-compact-topbar{
  min-height:76px;
  padding:.7rem clamp(1rem,4vw,3rem)!important;
  background:rgba(255,255,253,.97)!important;
  border-bottom:2px solid rgba(22,48,38,.14)!important;
  box-shadow:0 8px 28px rgba(22,48,38,.08);
}
.landing-compact-topbar .brand{gap:.8rem;color:var(--landing-ink)!important}
.landing-compact-topbar .brand-logo-shell,
.landing-compact-topbar .brand-logo-shell.brand-logo-mark{
  width:58px!important;height:58px!important;padding:1px!important;border-radius:16px!important;
}
.landing-compact-topbar .brand>span strong{font-size:1.28rem!important;line-height:1.05;color:var(--landing-ink)!important;font-weight:900}
.landing-compact-topbar .brand>span small{font-size:.9rem!important;line-height:1.3;color:var(--landing-secondary)!important;font-weight:700;margin-top:.12rem}
.landing-compact-topbar .landing-nav{gap:.35rem}
.landing-compact-topbar .landing-nav>a:not(.btn){font-size:1.02rem!important;font-weight:850!important;color:var(--landing-text)!important;padding:.7rem .82rem}
.landing-compact-topbar .landing-nav>a:not(.btn):hover{background:var(--landing-soft)!important;color:var(--landing-ink)!important}
.landing-compact-topbar .landing-nav .btn{min-height:50px;padding:.78rem 1.15rem;font-size:1rem;font-weight:900}
.landing-compact-topbar .landing-nav .btn.primary{background:var(--landing-primary)!important;border-color:var(--landing-primary)!important;box-shadow:0 9px 22px rgba(22,48,38,.18)}
.landing-compact-topbar .landing-nav .btn.primary:hover{background:var(--landing-primary-hover)!important;border-color:var(--landing-primary-hover)!important}
.landing-compact-topbar .lang-toggle{background:#e8efea!important;color:var(--landing-ink)!important;border:1px solid #ccd8d0}
.landing-compact-topbar .menu-toggle{min-width:48px;min-height:48px;background:#fff!important;color:var(--landing-primary)!important;border:2px solid var(--landing-line)!important;font-weight:900}

.landing-compact{width:min(1240px,100%)!important;padding:0 clamp(1rem,4vw,3rem) 1.8rem!important}
.landing-compact-hero{
  grid-template-columns:minmax(0,1.12fr) minmax(350px,.76fr)!important;
  gap:clamp(1.8rem,4vw,3.8rem)!important;
  padding:clamp(2.8rem,6vw,5rem) 0 2.4rem!important;
}
.landing-kicker{font-size:.94rem!important;line-height:1.35;color:var(--landing-secondary)!important;font-weight:950!important;letter-spacing:.055em}
.landing-kicker:before{width:2rem!important;height:3px!important;background:var(--landing-primary)!important}
.landing-compact-copy h1{
  max-width:840px!important;
  margin:.72rem 0 .95rem!important;
  font-size:clamp(3rem,6vw,5.35rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  color:var(--landing-ink)!important;
  font-weight:950!important;
}
.landing-compact-copy>p{
  max-width:760px!important;
  color:var(--landing-text)!important;
  font-size:clamp(1.08rem,1.55vw,1.24rem)!important;
  line-height:1.62!important;
  font-weight:540;
}
.landing-compact-copy .landing-hero-actions{margin-top:1.45rem!important;gap:.75rem}
.landing-compact-copy .landing-hero-actions .btn{
  min-height:54px!important;
  border-radius:14px!important;
  padding:.88rem 1.3rem!important;
  font-size:1.06rem!important;
  font-weight:900!important;
}
.landing-compact-copy .landing-hero-actions .btn.primary{background:var(--landing-primary)!important;border:2px solid var(--landing-primary)!important;box-shadow:0 14px 30px rgba(22,48,38,.20)!important}
.landing-compact-copy .landing-hero-actions .btn.primary:hover{background:var(--landing-primary-hover)!important;border-color:var(--landing-primary-hover)!important;transform:translateY(-1px)}
.landing-compact-copy .landing-hero-actions .btn.ghost{background:#fff!important;color:var(--landing-ink)!important;border:2px solid #aebfb4!important}
.landing-compact-copy .landing-hero-actions .btn.ghost:hover{background:var(--landing-soft)!important;border-color:#8fa69a!important}
.landing-compact-points{gap:.6rem 1.25rem!important;margin-top:1.25rem!important;color:var(--landing-text)!important;font-size:1rem!important;line-height:1.45!important;font-weight:850!important}
.landing-compact-points span{display:inline-flex;align-items:center;gap:.18rem}

.landing-compact-preview{
  padding:1.3rem!important;
  border:2px solid #cbd7cf!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,#fff,#edf3ef)!important;
  box-shadow:0 22px 54px rgba(22,48,38,.12)!important;
}
.landing-preview-head{padding-bottom:.9rem!important;border-bottom-color:#d2ddd6!important;color:var(--landing-secondary)!important;font-size:1rem!important;line-height:1.35!important;font-weight:750}
.landing-preview-head b{color:var(--landing-ink)!important;font-size:1.02rem}
.landing-preview-kpis{gap:.7rem!important;margin:.95rem 0!important}
.landing-preview-kpis div{padding:.92rem!important;border:1px solid #d9e2dc;border-radius:17px!important;box-shadow:0 5px 14px rgba(22,48,38,.04)}
.landing-preview-kpis small{font-size:.94rem!important;line-height:1.35!important;color:var(--landing-secondary)!important;font-weight:750}
.landing-preview-kpis strong{margin-top:.22rem!important;font-size:1.48rem!important;line-height:1.1!important;color:var(--landing-ink)!important;font-weight:950}
.landing-preview-actions{gap:.58rem!important}
.landing-preview-actions span{padding:.82rem .86rem!important;border:1.5px solid #cbd7cf!important;border-radius:14px!important;background:#fff!important;color:var(--landing-text)!important;font-size:.98rem!important;line-height:1.35!important;font-weight:850!important}
.landing-preview-actions span.active{background:var(--landing-primary)!important;color:#fff!important;border-color:var(--landing-primary)!important;box-shadow:0 7px 16px rgba(22,48,38,.15)}
.landing-preview-ready{margin-top:.8rem!important;padding:.78rem .88rem!important;border:1px solid #cfddd4;border-radius:14px!important;background:#e7eee9!important;color:var(--landing-ink)!important;font-size:.97rem!important;line-height:1.4!important;font-weight:850!important}

.landing-compact-value{gap:.85rem!important;padding:1.2rem 0 2rem!important;border-top:2px solid rgba(22,48,38,.10)!important}
.landing-compact-value article{padding:1.15rem 1.2rem!important;border:1.5px solid #d3ddd6;border-radius:20px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 8px 20px rgba(22,48,38,.045)}
.landing-compact-value strong{color:var(--landing-ink)!important;font-size:1.18rem!important;line-height:1.3!important;font-weight:900!important}
.landing-compact-value span{margin-top:.38rem!important;color:var(--landing-text)!important;font-size:1.02rem!important;line-height:1.55!important}

.landing-compact-flow{padding:1.8rem 0 2rem!important;border-top:2px solid rgba(22,48,38,.10)!important}
.landing-compact-section-head{margin-bottom:1.05rem!important}
.landing-compact-section-head h2{font-size:clamp(2rem,3.5vw,2.85rem)!important;line-height:1.02!important;color:var(--landing-ink)!important;font-weight:950!important}
.landing-flow-compact{gap:.65rem!important}
.landing-flow-compact>div{min-height:132px!important;padding:1rem!important;border:1.5px solid #ced9d2!important;background:#fff!important;border-radius:19px!important}
.landing-flow-compact>div>span{width:34px!important;height:34px!important;background:#dfe8e2!important;color:var(--landing-ink)!important;font-size:.92rem!important;font-weight:950!important}
.landing-flow-compact>div strong{margin-top:.55rem!important;color:var(--landing-ink)!important;font-size:1.12rem!important;line-height:1.3!important;font-weight:900!important}
.landing-flow-compact>div small{margin-top:.18rem!important;color:var(--landing-secondary)!important;font-size:.98rem!important;line-height:1.4!important;font-weight:650}
.landing-flow-compact>i{color:#6d8277!important;font-size:1.2rem!important;font-weight:900}

.landing-compact-cta{margin:.4rem 0 1.5rem!important;padding:1.35rem 1.45rem!important;border-radius:22px!important;background:linear-gradient(135deg,#163026,#1f3a2e)!important;box-shadow:0 18px 38px rgba(22,48,38,.18)!important}
.landing-compact-cta strong{font-size:1.34rem!important;line-height:1.25!important;font-weight:950!important;color:#fff!important}
.landing-compact-cta span{margin-top:.28rem!important;color:#e3ece6!important;font-size:1.03rem!important;line-height:1.5!important}
.landing-compact-cta .btn{min-height:52px!important;padding:.82rem 1.25rem!important;background:#fff!important;border:2px solid #fff!important;color:var(--landing-ink)!important;font-size:1.04rem!important;font-weight:900!important}
.landing-compact-cta .btn:hover{background:#eaf0ec!important;border-color:#eaf0ec!important}

.landing-compact-footer{padding-top:1.15rem!important;padding-bottom:1.15rem!important;color:var(--landing-secondary)!important;font-size:.96rem!important}
.landing-compact-footer span:first-child{color:var(--landing-ink)!important;font-weight:900}
.landing-compact-footer a{color:var(--landing-text)!important;font-weight:750}
.landing-compact-body a:focus-visible,.landing-compact-body button:focus-visible{outline:3px solid #6f877a!important;outline-offset:3px}

@media(max-width:1040px){
  .landing-compact-topbar .landing-nav{top:76px!important;background:#fff!important;border:2px solid #d0dbd4!important;box-shadow:0 18px 42px rgba(22,48,38,.16)!important;min-width:260px!important;padding:.75rem!important}
  .landing-compact-topbar .landing-nav>a:not(.btn){min-height:48px;display:flex;align-items:center}
  .landing-compact-hero{grid-template-columns:1fr!important;padding-top:2.7rem!important}
  .landing-compact-preview{width:100%!important;max-width:720px}
}
@media(max-width:700px){
  .landing-compact-body{font-size:16px}
  .landing-compact-topbar{min-height:68px;padding:.5rem .75rem!important}
  .landing-compact-topbar .brand{gap:.6rem}
  .landing-compact-topbar .brand-logo-shell,.landing-compact-topbar .brand-logo-shell.brand-logo-mark{width:50px!important;height:50px!important;border-radius:14px!important}
  .landing-compact-topbar .brand>span strong{font-size:1.1rem!important}
  .landing-compact-topbar .brand>span small{font-size:.79rem!important}
  .landing-compact-topbar .landing-nav{top:68px!important;right:.75rem!important;left:.75rem!important;min-width:0!important}
  .landing-compact{padding-left:.9rem!important;padding-right:.9rem!important}
  .landing-compact-hero{gap:1.4rem!important;padding:2.25rem 0 1.55rem!important}
  .landing-kicker{font-size:.87rem!important}
  .landing-compact-copy h1{font-size:clamp(2.65rem,12.5vw,3.9rem)!important;line-height:.98!important;letter-spacing:-.045em!important;margin:.62rem 0 .8rem!important}
  .landing-compact-copy>p{font-size:1.08rem!important;line-height:1.58!important}
  .landing-compact-copy .landing-hero-actions{display:grid!important;grid-template-columns:1fr!important;margin-top:1.2rem!important}
  .landing-compact-copy .landing-hero-actions .btn{width:100%!important;min-height:54px!important}
  .landing-compact-points{display:grid!important;gap:.42rem!important;font-size:.98rem!important}
  .landing-compact-preview{padding:1rem!important;border-radius:22px!important}
  .landing-preview-actions{grid-template-columns:1fr!important}
  .landing-compact-value{grid-template-columns:1fr!important;padding-bottom:1.4rem!important}
  .landing-compact-value article{padding:1rem!important}
  .landing-flow-compact{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding-bottom:.35rem!important}
  .landing-flow-compact>div{flex:0 0 160px!important;scroll-snap-align:start!important;min-height:128px!important}
  .landing-flow-compact>i{display:none!important}
  .landing-compact-cta{align-items:flex-start!important;flex-direction:column!important;padding:1.2rem!important}
  .landing-compact-cta .btn{width:100%!important}
  .landing-compact-footer{font-size:.92rem!important;gap:.9rem!important}
}
@media(max-width:470px){
  .landing-compact-topbar .brand>span small{display:none!important}
  .landing-compact-topbar .brand>span strong{font-size:1.08rem!important}
  .landing-compact-copy h1{font-size:clamp(2.45rem,13vw,3.4rem)!important}
  .landing-preview-kpis{grid-template-columns:1fr 1fr!important}
  .landing-preview-kpis strong{font-size:1.32rem!important}
}
/* Full-width custom branding remains legible on the strengthened landing header. */
.landing-compact-topbar .brand-logo-shell.brand-logo-full{width:154px!important;height:58px!important;padding:1px!important;border-radius:12px!important}
@media(max-width:700px){.landing-compact-topbar .brand-logo-shell.brand-logo-full{width:128px!important;height:50px!important}}
@media(max-width:470px){.landing-compact-topbar .brand-logo-shell.brand-logo-full{width:112px!important;height:46px!important}.landing-compact-topbar .brand-logo-shell.brand-logo-full+span{display:none!important}}
