body{min-height:100dvh;padding-bottom:80px}.appbar{z-index:10;background:var(--praya-bg);border-bottom:1px solid var(--praya-rule);justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.appbar .brand{font:400 italic 22px/1 var(--font-display);color:var(--praya-ink)}.appbar h1{font:400 italic 20px/1.1 var(--font-display);color:var(--praya-ink);text-align:center;flex:1;margin:0}.appbar .icon-btn{cursor:pointer;width:40px;height:40px;color:var(--praya-ink);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.appbar .icon-btn:hover{background:var(--praya-surface)}.page-wrap{max-width:720px;margin:0 auto;padding:16px}.bottom-nav{z-index:20;background:var(--praya-bg);border-top:1px solid var(--praya-rule);height:64px;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--praya-ink-4);font:500 10px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--praya-ink)}.bottom-nav a.active svg{color:var(--praya-accent)}.card{background:var(--praya-bg);border:1px solid var(--praya-rule);border-radius:var(--radius-lg);padding:16px 20px}.card.surface{background:var(--praya-surface)}.card.border-l-green{border-left:4px solid var(--praya-tl-green)}.card.border-l-amber{border-left:4px solid var(--praya-tl-amber)}.card.border-l-red{border-left:4px solid var(--praya-tl-red)}.btn{border-radius:var(--radius-md);height:44px;font:500 12px/1 var(--font-body);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background var(--motion-micro), color var(--motion-micro);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--praya-accent);color:var(--praya-ink)}.btn.secondary{border-color:var(--praya-ink);color:var(--praya-ink);background:0 0}.btn.ghost{color:var(--praya-ink-2);background:0 0}.btn.danger{background:var(--praya-danger);color:#fff}.btn.full{width:100%}.pill{border-radius:var(--radius-sm);height:22px;font:400 11px/22px var(--font-mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex}.pill.success{background:var(--praya-success-pale);color:var(--praya-success)}.pill.warning{background:var(--praya-warning-pale);color:var(--praya-warning)}.pill.danger{background:var(--praya-danger-pale);color:var(--praya-danger)}.pill.info{background:var(--praya-info-pale);color:var(--praya-info)}.pill.accent{background:var(--praya-accent-pale);color:var(--praya-accent-dark)}.fab{z-index:10;background:var(--praya-accent);width:56px;height:56px;color:var(--praya-ink);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:84px;right:20px}.fab.emergency{background:var(--praya-danger);color:#fff;z-index:100}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font:500 11px/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--praya-ink)}.field input,.field select,.field textarea{border:1px solid var(--praya-rule);border-radius:var(--radius-md);background:var(--praya-bg);height:44px;font:300 16px/1 var(--font-body);color:var(--praya-ink);box-sizing:border-box;outline:none;width:100%;padding:0 14px}.field textarea{resize:none;height:auto;padding:12px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--praya-accent)}.field .error{font:300 12px/1.3 var(--font-body);color:var(--praya-danger);margin-top:2px}.field input.invalid{border-color:var(--praya-danger)}.skeleton{background:var(--praya-rule);border-radius:var(--radius-lg);height:72px;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-sheet-backdrop{z-index:20;background:#22222259;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{background:var(--praya-bg);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);border-top:1px solid var(--praya-rule);width:100%;padding:16px 20px 24px}.bottom-sheet .handle{background:var(--praya-rule);border-radius:9999px;width:36px;height:4px;margin:0 auto 14px}@media (max-width:640px){.btn{min-width:44px;height:44px}.icon-btn{width:44px;height:44px}.field input,.field select,.field textarea,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=time],select,textarea{font-size:16px!important}.bottom-nav{padding-bottom:max(env(safe-area-inset-bottom), 8px);height:calc(64px + env(safe-area-inset-bottom))}.appbar{padding-top:max(env(safe-area-inset-top), 0px);height:calc(56px + env(safe-area-inset-top))}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.card{border-radius:var(--radius-md)}.bottom-sheet{padding-bottom:max(env(safe-area-inset-bottom), 24px);border-bottom-right-radius:0;border-bottom-left-radius:0}.page-wrap{padding:12px;overflow-x:hidden}.floats-row,.filter-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;overflow-x:auto}.floats-row::-webkit-scrollbar{display:none}.filter-tabs::-webkit-scrollbar{display:none}}
