:root{--green:#0b7469;--blue:#315bd8;--ink:#152039;--mut:#778093;--bg:#f7f8fc;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,"Segoe UI",system-ui,sans-serif}.app-shell{max-width:640px;min-height:100vh;margin:auto;padding:calc(22px + env(safe-area-inset-top)) 20px calc(100px + env(safe-area-inset-bottom))}.login-wrap{text-align:center;padding:8vh 0 20px}.brand-mark{width:76px;height:76px;border-radius:24px;background:linear-gradient(145deg,#18a688,#087169);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900;margin:auto;box-shadow:0 16px 36px #0b746936}.login-wrap h1{font-size:26px;margin:18px 0 5px}.login-wrap>p{color:var(--mut);margin:0 auto 26px;max-width:360px}.login-card{background:#fff;border-radius:26px;padding:24px;text-align:left;box-shadow:0 15px 50px #1e335315}.login-card h2{margin-top:0}.login-card label{display:block;font-size:13px;font-weight:700;margin:0 0 15px}.login-card input,.owner-switch select{display:block;width:100%;border:1px solid #dce2ea;border-radius:13px;padding:13px;margin-top:6px;font:inherit;background:#fff}.primary,.tenant-choice{width:100%;border:0;border-radius:14px;padding:14px;background:var(--green);color:#fff;font:700 15px inherit;cursor:pointer}.login-card small{display:block;text-align:center;color:var(--mut);margin-top:13px}.tenant-choice{margin:9px 0;text-align:left}.tenant-choice span{display:block;font-size:12px;opacity:.82;margin-top:3px}.alert{background:#fff0f0;color:#a12222;border-radius:14px;padding:12px;margin-bottom:14px;text-align:left}.login-wrap footer{color:#9aa2b2;font-size:12px;margin-top:24px}.top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.avatar{width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#ffc65a,#f0a12b);display:grid;place-items:center;color:#fff;font-weight:900;font-size:20px}.top div:nth-child(2){flex:1}.top strong,.top span{display:block}.top span{color:var(--mut);font-size:12px}.round{width:42px;height:42px;border-radius:15px;background:#fff;text-decoration:none;color:var(--ink);display:grid;place-items:center;box-shadow:0 7px 20px #25395612}.owner-switch{display:flex;gap:10px;align-items:end;background:#fff;padding:14px;border-radius:18px;margin-bottom:16px}.owner-switch label{flex:1;font-size:12px;color:var(--mut)}.owner-switch select{margin-top:4px;padding:9px}.control-link{font-size:12px;color:var(--blue);text-decoration:none;padding-bottom:10px}.hero{min-height:170px;border-radius:28px;padding:28px 25px;color:#fff;background:linear-gradient(120deg,#075c55db,#138d7caa),url('https://bajugan.citradesa.id/assets/images/pesisir-bajugan.jpg') center/cover;box-shadow:0 18px 38px #0c746329}.hero small{text-transform:uppercase;letter-spacing:.08em;font-weight:800;opacity:.8}.hero h1{font-size:28px;line-height:1.05;margin:10px 0}.hero p{max-width:390px;margin:0;opacity:.9;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:25px;margin:20px 0 28px;box-shadow:0 10px 30px #1f2e4a10}.stats div{text-align:center;padding:18px 8px}.stats div+div{border-left:1px solid #eef0f4}.stats b,.stats span{display:block}.stats b{font-size:22px}.stats span{font-size:11px;color:var(--mut)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 2px 15px}.section-title h2{font-size:19px;margin:0}.section-title span{font-size:12px;color:var(--mut)}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 8px}.action{text-align:center;text-decoration:none;color:var(--ink);min-width:0}.action i{width:52px;height:52px;border-radius:17px;background:#e9f4ff;display:block;margin:0 auto 8px;position:relative}.action:nth-child(3n+1) i{background:#eeeaff}.action:nth-child(3n+2) i{background:#e9f7ef}.action:nth-child(3n) i{background:#fff1e7}.action strong,.action small{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action small{font-size:10px;color:var(--blue)}.action.disabled{opacity:.45;pointer-events:none}.tenant-list{display:grid;gap:9px}.tenant-list a{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:13px;text-decoration:none;color:var(--ink)}.tenant-logo{width:43px;height:43px;border-radius:14px;background:#e7f6f1;color:var(--green);display:grid;place-items:center;font-weight:900}.tenant-list div{flex:1}.tenant-list strong,.tenant-list small{display:block}.tenant-list small{font-size:11px;color:var(--mut)}.bottom{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(640px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:24px 24px 0 0;padding:13px 8px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -8px 28px #1b294315}.bottom a{text-align:center;text-decoration:none;color:#a0a5b0;font-size:23px}.bottom span{display:block;font-size:10px}.bottom .on{color:var(--blue)}@media(max-width:390px){.app-shell{padding-left:14px;padding-right:14px}.actions{gap-left:5px;gap-right:5px}.control-link{display:none}}
