:root{--brand-nau:#8b5e4c;--brand-vang:#c9a961;--brand-kem:#fdf8f3;--brand-xam-dam:#2d2a26;--brand-nau-nhat:#7a6a5c;--brand-vien:#e8dccd;--brand-nau-sang:#d4a88f;--brand-vang-sang:#e0c787;--font-brand:"Be Vietnam Pro", "Inter", "Segoe UI", Arial, sans-serif;--bg:#fdf8f3;--sf:#fff;--ink:#2d2a26;--mu:#6b6258;--br:#8b5e4c;--gd:#c9a961;--ln:#e8ddd0;--soft:#f6ebdd;--onbr:#fff}@media (prefers-color-scheme:dark){:root{--bg:#1e1a17;--sf:#2a2521;--ink:#f3ebe2;--mu:#bdae9f;--br:#c58a72;--ln:#3b342e;--soft:#342e28;--onbr:#1e1a17}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-brand);margin:0}.screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:28px;display:flex}.btn{background:var(--br);min-height:52px;color:var(--onbr);font:700 16px var(--font-brand);background-image:linear-gradient(#ffffff2e,#fff0);border:0;border-radius:16px;padding:0 24px;box-shadow:0 14px 22px -8px #5a342699,inset 0 2px 3px #ffffff59,inset 0 -4px 6px #0003}h1{margin:0;font-size:28px;line-height:1.2}p{color:var(--mu);margin:0;line-height:1.5}small{color:var(--ink);font-weight:600}.logo img{display:block}.shell{flex-direction:column;min-height:100vh;display:flex}.content{flex:1;width:100%;max-width:560px;margin:0 auto;padding-bottom:84px}.page{flex-direction:column;gap:14px;padding:20px 16px;display:flex}.page.center{text-align:center;justify-content:center;align-items:center;min-height:70vh}.logo.sm{align-self:center}.page h1{text-align:center;font-size:24px}.hero{background:linear-gradient(160deg, var(--soft), var(--sf));border:1px solid var(--ln);text-align:center;border-radius:22px;flex-direction:column;gap:4px;padding:18px;display:flex;box-shadow:0 16px 24px -14px #5a342673,inset 0 2px 3px #fff9}.hero b{font-size:18px}.hero span{color:var(--mu)}.trial{text-align:center;color:var(--br);font-weight:700}.tiles{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.tile{border:1px solid var(--ln);background:var(--sf);min-height:84px;color:var(--ink);font:700 15px var(--font-brand);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;box-shadow:0 14px 20px -14px #5a342680,inset 0 2px 3px #ffffff80}.tile span{font-size:26px}.link{color:var(--mu);font:600 14px var(--font-brand);background:0 0;border:0;margin:0 auto;padding:16px;text-decoration:underline;display:block}.tabbar{background:var(--sf);border-top:1px solid var(--ln);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:52px;color:var(--mu);font:600 11px var(--font-brand);background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.tabbar button span{font-size:20px}.tabbar button.on{color:var(--br);background:var(--soft)}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-head h2{margin:0;font-size:20px}.icon-btn{border:1px solid var(--ln);background:var(--sf);width:44px;height:44px;color:var(--ink);border-radius:14px;font-size:22px}.icon-btn.sm{flex:none;width:32px;height:32px;font-size:18px}.grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wd{text-align:center;color:var(--mu);padding:4px 0;font-size:12px;font-weight:700}.cell{aspect-ratio:1/1.05;background:var(--sf);color:var(--ink);font-family:var(--font-brand);border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.cell b{font-size:16px}.cell i{color:var(--mu);font-size:10px;font-style:normal}.cell.today{border-color:var(--gd)}.cell.sel{background:var(--br);color:var(--onbr)}.cell.sel i{color:var(--onbr);opacity:.85}.cell u{background:var(--gd);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.card{background:var(--sf);border:1px solid var(--ln);border-radius:20px;flex-direction:column;gap:8px;padding:16px;display:flex;box-shadow:0 14px 20px -16px #5a342680}.card h3{margin:0;font-size:16px}.notes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.notes li{background:var(--soft);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.notes em{color:var(--br);margin-right:4px;font-style:normal;font-weight:700}.add{grid-template-columns:1fr auto;gap:8px;display:grid}.add input{border:1px solid var(--ln);background:var(--bg);min-height:44px;color:var(--ink);font:15px var(--font-brand);border-radius:12px;min-width:0;padding:0 12px}.add input:first-child{grid-column:1/-1}.btn.small{min-height:44px;padding:0 18px;font-size:15px}.btn:disabled{opacity:.5}
