:root{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#203328;background:#e9f0e8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{max-width:460px;min-height:100dvh;margin:auto;background:#f9fbf8;box-shadow:0 8px 60px #22472b12;padding-bottom:94px}.header{padding:28px 22px 20px;background:linear-gradient(130deg,#e3f1e5,#f9fbf8)}.overline{text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:800;color:#67896d}.header h1{font-size:27px;line-height:1.1;margin:8px 0}.header p,.muted{color:#728378}.header p{margin:0;font-size:13px}.content{padding:18px}.card{background:white;padding:19px;border:1px solid #e4ece4;border-radius:20px;margin-bottom:13px;box-shadow:0 4px 15px #22502c09}.dark{background:#22583e;color:white;border:0}.dark .muted{color:#d3e5d7}.flex{display:flex;align-items:center;justify-content:space-between;gap:14px}.pill{border-radius:40px;background:#e4f4e7;padding:6px 10px;color:#267245;font-size:11px;font-weight:750}.dark .pill{background:#46785b;color:#fff}.large{font-size:32px;font-weight:800;line-height:1.2;margin:10px 0}.section{margin:22px 2px 11px;font-size:19px}.bar{height:9px;border-radius:15px;background:#dfece2;overflow:hidden;margin:16px 0}.bar>i{display:block;height:100%;background:#69bd86}.dark .bar{background:#49755d}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{background:#f1f7f1;border-radius:14px;padding:14px}.metric b{display:block;font-size:22px}.metric small{color:#758679}.task{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eef2ee;align-items:flex-start}.task:last-child{border:0}.task input{width:21px;height:21px;accent-color:#2e9055}.task span{font-weight:600;font-size:14px}.btn{border:0;border-radius:13px;padding:13px 17px;background:#2b8953;color:white;font-weight:750}.btn.secondary{background:#e6f1e7;color:#267247}.btn.danger{background:#fff0ef;color:#a63c39}.btn.full{width:100%}.btn:disabled{opacity:.5}.nav{position:fixed;bottom:0;width:min(100%,460px);display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid #e2eae3;padding:8px 4px max(10px,env(safe-area-inset-bottom));z-index:3}.nav button{border:0;background:none;color:#87978a;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:4px}.nav button span{font-size:22px}.nav .active{color:#22804c;font-weight:800}.field{margin:14px 0}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}.field input,.field select{border:1px solid #d4e4d8;border-radius:12px;padding:12px;background:#fcfefc;width:100%;color:#213d2b}.note{font-size:12px;color:#76877a;line-height:1.6}.notice{background:#fff7e5;padding:12px;border-radius:12px;font-size:12px;color:#7b612b}.lesson{padding:13px 0;border-bottom:1px solid #ebf1eb}.lesson:last-child{border:0}.lesson b{font-size:14px}.lesson p{margin:7px 0 2px;font-size:13px;color:#576a5c}.lesson .day{display:inline-grid;place-items:center;background:#e8f4e9;color:#34754c;width:32px;height:32px;border-radius:11px;font-weight:800;margin-right:9px}.chart{width:100%;height:auto}.entry{padding:11px 0;border-bottom:1px solid #edf2ed;font-size:13px}.entry:last-child{border:0}.link{border:0;background:none;color:#2b8653;font-weight:700}.auth{max-width:460px;margin:auto;padding:50px 22px}.auth h1{font-size:36px;line-height:1.12}.auth p{color:#6f8174}.auth .card{margin-top:25px}.auth .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;margin:19px 0}.auth .consent input{width:20px;height:20px;flex-shrink:0;accent-color:#2f8f57}.badge{color:#277e49;font-weight:700;font-size:11px}.center{text-align:center}.error{background:#fff0ed;color:#a43a34;border-radius:12px;padding:10px;margin:10px 0;font-size:13px}.empty{text-align:center;padding:25px 8px;color:#849487}.loader{padding:80px 20px;text-align:center}.toast{position:fixed;z-index:8;bottom:100px;left:50%;transform:translateX(-50%);background:#25533a;color:#fff;border-radius:12px;padding:10px 18px;max-width:400px;font-size:13px;box-shadow:0 5px 25px #0002}@media(min-width:700px){.app{margin:18px auto;min-height:calc(100dvh - 36px);border-radius:25px;overflow:hidden}.nav{bottom:18px;border-radius:0 0 25px 25px}}

.lesson-image{display:block;max-width:100%;height:auto;border-radius:12px;margin:12px 0}.field textarea{width:100%;font:inherit;padding:10px;border:1px solid #cad8cc;border-radius:10px}

.app{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.nav{padding:6px 5px calc(6px + env(safe-area-inset-bottom));gap:2px}
.nav button{min-height:54px;justify-content:center;gap:1px;padding:3px 1px;border-radius:12px;color:#536d5b}
.nav button span{line-height:1.1}
.nav .active{background:#e7f4e9;color:#165d36}
.field input,.field select,.field textarea{min-width:0;font-size:16px}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.task input{flex-shrink:0}
.toast{width:max-content;max-width:calc(100vw - 28px);bottom:calc(83px + env(safe-area-inset-bottom))}
.today-progress{width:100%;height:12px;accent-color:#83d49b}
.task-summary{margin:12px 0 0}
@media(max-width:360px){.content{padding:12px}.card{padding:14px}.nav button{font-size:9px}}
