:root{font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.45;color:#0f172a;background:#f8fafc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(#f8fafc73,#f8fafc73),url(/assets/app-bg-CJ5ubvLL.png) center / cover no-repeat fixed}a{color:#0369a1}.app-shell{max-width:28rem;margin:0 auto;padding:1.5rem 1rem 6.25rem;background:#ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);min-height:calc(100vh - 3.5rem)}h1{font-size:1.35rem;font-weight:650;margin:0 0 .35rem}.sub{color:#64748b;font-size:.9rem;margin:0 0 1.25rem}label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.25rem}input,select,button{font:inherit}input,select{width:100%;padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:.45rem;background:#fff}button{cursor:pointer;border:1px solid rgba(163,230,53,.6);border-radius:.6rem;padding:.6rem 1rem;font-weight:700;background:linear-gradient(135deg,#d9f99deb,#bef264b8 45%,#a3e6358f);color:#0f172a;box-shadow:0 10px 22px #84cc1638,inset 0 1px #fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:100%;margin-top:.75rem;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease}button:hover:not(:disabled){filter:saturate(1.04);box-shadow:0 12px 26px #84cc1642,inset 0 1px #ffffffa8}button:active:not(:disabled){transform:translateY(1px)}button.secondary{border:1px solid #cbd5e1;background:#e2e8f0;color:#0f172a;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}button:disabled{opacity:.55;cursor:not-allowed}.err{color:#b91c1c;font-size:.85rem;margin-top:.5rem}.ok{color:#15803d;font-size:.85rem;margin-top:.5rem}.card{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;padding:1rem 1rem 1.1rem;margin-bottom:1rem}.row{margin-bottom:.65rem}.layout-root{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffffd1;border-bottom:1px solid #e2e8f0}.topbar-title{font-weight:700;color:#0f172a}.icon-btn{width:auto;margin-top:0;background:#0ea5e9;color:#fff;padding:.35rem .7rem;border-radius:.45rem}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:30}.menu-drawer{width:min(84vw,18rem);height:100%;background:#fff;padding:1rem;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.35rem}.menu-link{display:block;padding:.45rem .4rem;text-decoration:none;border-radius:.45rem;color:#0f172a}.menu-link.active{background:#e0f2fe}.profile-alert{margin:.6rem auto 0;max-width:28rem;background:#fff7ed;border:1px solid #fdba74;color:#7c2d12;border-radius:.65rem;padding:.75rem .85rem;font-size:.88rem;position:sticky;top:3.8rem;z-index:25}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fffffff2;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom))}.bottom-nav-link{text-decoration:none;color:#334155;text-align:center;padding:.5rem .35rem;border-radius:.55rem;font-size:.88rem;font-weight:600}.bottom-nav-link.active{background:#e0f2fe;color:#0c4a6e}.app-toast{position:fixed;left:50%;bottom:calc(4.2rem + env(safe-area-inset-bottom));transform:translate(-50%);z-index:45;min-width:min(88vw,20rem);text-align:center;background:#ecfdf5;border:1px solid #86efac;border-radius:.65rem;padding:.6rem .8rem;font-size:.9rem;box-shadow:0 8px 20px #0f172a1f}
