:root{--navy:#123d59;--navy2:#0b2d46;--ink:#10283e;--bg:#f4f7f9;--green:#43c982;--green-soft:#d6f7e5;--orange:#f3a64b;--orange-soft:#fff0db;--red:#dc5b65;--red-soft:#ffe2e5;--blue:#246fd2;--line:#dce5ea}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-shell{max-width:520px;margin:auto;min-height:100vh;background:linear-gradient(180deg,#fff,#f5f8fa)}.hero{background:linear-gradient(135deg,var(--navy2),#2b6b83);color:#fff;padding:calc(24px + env(safe-area-inset-top)) 22px 30px;display:flex;align-items:center;justify-content:space-between;border-radius:0 0 42% 8%/0 0 18px 18px}.hero.compact{border-radius:0;padding-bottom:20px}.hero.compact a{color:#fff;text-decoration:none;font-size:34px}.hero.centered{justify-content:center}.hero h1{font-size:20px;margin:0}.brand{font-size:27px;font-weight:800;letter-spacing:-1px}.brand.dark{color:var(--navy);font-size:18px}.tagline{font-size:13px;opacity:.94}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#fdc98c,#e99174);display:grid;place-items:center;font-weight:800;border:3px solid #ffffff80}.avatar.large{width:58px;height:58px}.today{padding:12px 20px}.date{text-align:center;font-size:14px}.timer-ring{width:min(78vw,340px);aspect-ratio:1;margin:18px auto 28px;border-radius:50%;padding:14px;background:conic-gradient(var(--green) 74%,#d5f6e3 0);box-shadow:0 12px 35px #1d496118}.timer-ring.break{background:conic-gradient(var(--orange) 38%,#ffecd2 0)}.timer-ring.off{background:#eaf0f3}.timer-ring>div{height:100%;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.state-label{font-weight:700}.timer-ring strong{font-size:42px;letter-spacing:-2px;margin:8px 0}.timer-ring small{color:#738491}.actions{display:grid;gap:12px}.button,.primary{border:0;border-radius:18px;padding:17px;font-size:18px;font-weight:750;width:100%;cursor:pointer}.come{background:var(--green-soft);color:#097541}.pause{background:var(--orange-soft);color:#9b5709}.leave{background:var(--red-soft);color:#b12e3a}.mini-summary{display:flex;justify-content:space-between;padding:20px 4px;color:#657784}.mini-summary b{display:block;color:var(--ink);font-size:18px}.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#ffffffee;backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:10}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#8998a3;font-size:11px;gap:4px}.tabbar a span{font-size:22px}.tabbar a.active{color:var(--blue);font-weight:700}.month-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.month-summary div{background:#edf2f5;border-radius:14px;padding:12px 8px}.month-summary div.good{background:#e4f8ed}.month-summary div.bad{background:#ffe8e9}.month-summary small,.month-summary b{display:block}.month-summary b{margin-top:5px}.day-list{padding:0 14px 18px}.day-row{display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line);padding:9px;border-radius:10px}.day-row.vacation{color:var(--blue);background:#f2f7ff}.day{width:34px;text-align:center}.day small{display:block}.day-main{display:flex;justify-content:space-between;align-items:center;flex:1}.day-main .muted{color:#9aa8b2}.day-row form button{border:0;background:transparent;color:#8da0ad;font-size:16px}.card{margin:16px;padding:20px;background:#fff;border-radius:22px;box-shadow:0 8px 28px #163a5010}.auth-hero{min-height:220px;align-items:flex-end}.auth-card{margin-top:-30px;position:relative}.card h1{font-size:24px}label{display:block;font-size:13px;font-weight:700;margin:14px 0}input{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:13px;font-size:16px}.primary{background:linear-gradient(135deg,var(--navy),#1b6078);color:#fff;margin-top:8px}.switch{text-align:center;font-size:14px}.switch a{color:var(--blue)}.report-preview{min-height:350px;border:1px solid var(--line);border-radius:18px;padding:24px;background:linear-gradient(180deg,#fff 70%,#e7f2f6);position:relative}.report-preview h2{margin-top:54px}.mountains{position:absolute;bottom:30px;right:20px;font-family:cursive;font-size:19px;transform:rotate(-5deg)}.profile-card{display:flex;align-items:center;gap:14px}.profile-card small{display:block;color:#758793;margin-top:3px}.logout{display:block;text-align:center;color:var(--red);text-decoration:none;margin:28px}.flash{margin:10px 16px;padding:12px;border-radius:12px;background:#e7f6ed}.flash.error{background:#ffe5e7;color:#9c2631}@media(min-width:700px){body{padding-top:20px}.app-shell{border-radius:28px;overflow:hidden;box-shadow:0 20px 60px #0d304526}}