:root{font-family:system-ui,-apple-system,'Microsoft YaHei',sans-serif;color:#263c31;background:#f6f4ee}*{box-sizing:border-box}body{margin:0}header,main{max-width:760px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center}h1{font-size:22px}h2{font-size:19px}section,form,article{background:#fff;border:1px solid #e1e5dc;border-radius:14px;padding:18px;margin:14px 0}label{display:block;margin:12px 0}input,textarea,select,button{font:inherit;border:1px solid #d6dfd3;border-radius:9px;padding:11px;max-width:100%}input,textarea,select{width:100%;margin-top:6px}textarea{min-height:110px}button{background:#edf2e9;color:#345441;margin:4px;cursor:pointer}button.primary{background:#476854;color:white}button:disabled{opacity:.5}small,.muted{color:#657265;line-height:1.6}nav{display:flex;flex-wrap:wrap;gap:5px}.error{color:#a4473c}.notice{background:#e5efe0;padding:12px;border-radius:9px;white-space:pre-wrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}details{margin:10px 0}.row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eee;padding:10px 0}.status{font-size:13px}a{color:#476854}dialog{max-width:92%;border:1px solid #ccc;border-radius:14px}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.heat span{border:1px dashed #ccc;text-align:center;padding:10px}.completed{background:#c1d9ae}.partial{background:#fae7b9}.failed{background:#f2c9c4}.rest{background:#d7e5f4}
.heat{grid-template-columns:repeat(7,minmax(0,1fr))}.heat span{min-width:0;padding:8px 1px;font-size:11px;overflow-wrap:anywhere}input,textarea,select{min-width:0}.row>*{min-width:0;overflow-wrap:anywhere}header{gap:12px}header span{font-size:13px}section,article{overflow-wrap:anywhere}
.heat button{margin:0;min-width:0;padding:8px 1px;font-size:11px;border-radius:5px}.density-0{background:#f2f3ef}.density-1{background:#e1edd8}.density-2{background:#b8d6a3}.density-3{background:#78ae62;color:#16371b}
.paired-head,.paired-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.paired-head>*{padding:8px;font-size:13px}.paired-row>div{min-width:0;overflow-wrap:anywhere;padding:10px;border:1px solid #e1e5dc;font-size:13px}.plan-text{color:#41474c}.actual-text{color:#1e4d82}.paired-row p{white-space:pre-wrap}.unrecorded{background:#f4f4f1;border-style:dashed}.goal-node{padding:10px;margin:8px 0}.goal-node .goal-node{margin-left:6px}main{padding:12px}button,input,select{min-height:44px}
.mobile-timeline{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);height:520px;overflow:auto;border:1px solid #dce3d6;border-radius:10px}.mobile-timeline.single{grid-template-columns:40px minmax(0,1fr)}.time-ruler,.time-column{position:relative;height:1296px;min-width:0}.time-ruler{background:#faf9f5}.time-ruler span{position:absolute;left:3px;font-size:10px}.time-column{border-left:1px solid #dce3d6;background:repeating-linear-gradient(to bottom,transparent 0,transparent 53px,#e3e7dd 53px,#e3e7dd 54px)}.time-event{position:absolute;display:block;min-height:0;margin:0;padding:1px 4px;min-width:0;border-radius:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.35;text-align:left}.time-event.plan-text{background:#ffe7c7;border:1px solid #e9bc88;color:#6d4322}.time-event.actual-text{background:#dceafc;border:1px solid #9cbadb;color:#204e81}.home-modules{display:grid;gap:10px}.needs-record{color:#a53d38;background:#fff1ed;border-color:#dca7a1}.assessed-targets>div{border-bottom:1px solid #e2e7df;padding:12px 0}.metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-list article{margin:0;padding:12px;font-size:14px}.metric-list h3{font-size:15px;margin:0 0 12px}.metric-list strong{font-size:22px}.preserve{white-space:pre-wrap}progress{width:100%;height:12px;accent-color:#73947c}progress::-webkit-progress-bar{background:#e2e9df;border-radius:6px}progress::-webkit-progress-value{background:#73947c;border-radius:6px}summary{line-height:1.9;cursor:pointer}.future{background:#f5f5f2;color:#8d958a}.update-banner{position:sticky;top:0;z-index:5;background:#fff3cf;border:1px solid #dec281;padding:12px;max-width:760px;margin:auto}nav button{margin:1px;font-size:14px;padding:9px}section p{line-height:1.8}.home-modules button{margin:0}select[multiple]{min-height:120px}
.check-parent{display:flex;gap:10px;align-items:center}.check-parent input{width:20px;min-height:20px;margin:0}.assessed-targets strong{font-size:17px}

[hidden]{display:none!important}progress{appearance:none;-webkit-appearance:none;border:0;border-radius:6px;background:#e2e9df}

.link-warning{color:#a13e34;font-size:14px;line-height:1.7;margin:8px 0}.plan-link-alerts{border-color:#dfb6a8}.plan-link-alerts li{margin:8px 0}.pending-links{background:#eef3e8}.monthly-mobile-item{border:0;border-bottom:1px solid #e4e8df;border-radius:0;padding:10px 0;margin:0}.monthly-mobile-item button{min-height:44px}.check-parent input{flex:0 0 20px}
/* Phone handbook: match the Windows paper, green accents and card hierarchy. */
:root{color:#303b36;background:#f6f7f3;font-family:"Segoe UI",-apple-system,"Microsoft YaHei",sans-serif;--paper:#fffefa;--green:#496e58;--line:#e8ebe4}body{line-height:1.6}header{padding:20px 18px 14px;border-bottom:1px solid var(--line);background:#fbfcf8}header h1{font-size:23px;letter-spacing:-.6px;color:#324c3c;margin:0}header span{font-size:11px;color:#859087;text-align:right}main{padding:14px 16px 32px}h2{font-size:19px;line-height:1.5;color:#35483b}h3{font-size:16px}section,article,form{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;margin:16px 0;box-shadow:0 2px 8px #344b3503}form form,section>form{box-shadow:none}p{line-height:1.8}button{background:var(--paper);color:#536057;border-color:#e0e6dd;border-radius:8px;line-height:1.5}button.primary{background:var(--green);border-color:var(--green)}input,textarea,select{background:var(--paper);color:#354039;border-color:#e0e5dc;font-size:16px}label{color:#616c63;font-size:14px}textarea{line-height:1.8}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b5cbb4;outline-offset:2px}nav{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:8px 0 12px;scrollbar-width:thin;overscroll-behavior-x:contain;border-bottom:1px solid var(--line)}nav button{flex:0 0 auto;border:0;background:transparent;padding:10px 14px;font-size:14px;white-space:nowrap}nav button.primary{background:#e9f0e4;color:#456744}#status{font-size:12px;color:#71816e;margin:0 0 6px}#message:empty{display:none}#message{font-size:14px;line-height:1.7}.notice{background:#edf3e7;border:1px solid #dce7d4;color:#486344}.mobile-page-heading{margin:24px 0 16px}.mobile-page-heading span{font-size:10px;letter-spacing:1.7px;color:#8b9986}.mobile-page-heading h2{margin:8px 0 0;font-size:24px;font-weight:600}.home-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.home-modules button{position:relative;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;min-height:112px;text-align:left;padding:20px 16px 20px 18px;font-size:16px;font-weight:600;border:1px solid var(--line);border-top:3px solid #a5b99a;border-radius:10px;background:var(--paper);white-space:normal;overflow-wrap:anywhere}.home-modules button:first-child{background:#eff4e8;border-color:#dce6d1}.home-modules button:after{content:'↗';position:absolute;right:12px;bottom:10px;font-size:16px;color:#899d7f}.home-modules .needs-record{color:#a53d38;border-top-color:#cf8f82;background:#fff7f2}.row{gap:14px;padding:14px 0}.metric-list{gap:12px}.metric-list article{padding:16px}.metric-list strong{font-size:25px}.heat button{font-size:13px;min-height:48px}.heat span{font-size:13px}.time-event{font-size:12px}.mobile-timeline{height:560px;background:var(--paper)}.check-parent{line-height:1.8;padding:8px 0}.monthly-mobile-item{padding:16px 0}small,.muted{color:#7d897d;font-size:12px}.link-warning{color:#a13e34}dialog{background:var(--paper);padding:20px;max-height:85dvh;overflow:auto}body{padding-bottom:env(safe-area-inset-bottom)}@media(min-width:700px){.home-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:360px){main{padding-left:12px;padding-right:12px}section,article,form{padding:14px}.home-modules button{padding:16px 12px;font-size:15px}}
/* Approved phone handbook layout. Desktop styles are separate. */
header{height:72px;padding:20px 24px;border:0;background:#f7f8f3}.phone-brand{font-size:21px;font-weight:700;letter-spacing:-.8px}.phone-brand b{font-size:10px;background:#e7ecdf;padding:4px 5px;border-radius:4px;letter-spacing:0}.header-meta{display:flex;align-items:center;gap:10px}.header-meta span{font-size:10px}.mobile-version{color:#9aa58f}#header-sync{color:#788b74}#header-sync:not(:empty):before{content:'';display:inline-block;width:5px;height:5px;background:#849d70;border-radius:50%;margin-right:5px}main{padding:18px 24px 110px;background:#f7f8f3}.logged-in #status{font-size:11px;margin-bottom:12px}.on-home #status,.sync-description,.on-home .mobile-page-heading{display:none}.module-menu{display:flex;gap:6px;margin:0 0 12px auto;font-size:12px;border:0;background:transparent;padding:5px 0}.module-menu svg{width:20px;height:20px;fill:none;stroke:currentColor}.on-home .module-menu{position:absolute;right:24px;top:72px}.on-home .home-screen{padding-top:0}.home-screen .eyebrow{font-size:9px;letter-spacing:2px;color:#8b9a7d;font-weight:600}.home-date{font-size:12px;color:#89917d;margin-top:12px}.home-screen h1{font-size:27px;letter-spacing:-1px;line-height:1.5;margin:7px 0;font-weight:600}.home-sub{font-size:12px;color:#8b9386;margin:0;line-height:1.8}.today-card{position:relative;overflow:hidden;background:#eaf0e1;border:1px solid #dde6d0;border-radius:16px;margin:25px 0 26px;padding:23px 22px 20px;box-shadow:none}.today-card:after{content:'';position:absolute;right:-34px;top:-23px;width:130px;height:130px;border:1px solid #cbd8bf;border-radius:50%;pointer-events:none}.today-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.today-top strong{font-size:16px;font-weight:600}.count{font-size:11px;color:#7b8b70}.count b{font-size:22px;color:#4c6943;font-weight:500}.today-card progress{display:block;height:4px;margin-bottom:15px;accent-color:#829a69}.today-card progress::-webkit-progress-bar{background:#d6e0cb}.today-card progress::-webkit-progress-value{background:#829a69}.checks{display:flex;gap:12px;font-size:11px;color:#6f8065;margin-bottom:22px}.checks .missing{color:#b47757}.checks b{font-size:10px;border:1px solid #9cb08c;border-radius:50%;display:inline-grid;place-items:center;width:14px;height:14px;margin-right:4px;font-weight:400}.checks .missing b{border-color:#d0a68b}.today-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.today-bottom>span{font-size:11px;color:#7c8b71}.today-bottom button{font-size:12px;padding:10px 14px;margin:0;white-space:nowrap}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.section-title h2{font-size:15px;margin:0;font-weight:600}.section-title>span{font-size:9px;letter-spacing:1px;color:#9ba28f}.handbook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.handbook-tile{position:relative;display:block;text-align:left;background:#fffefa;border:1px solid #e4e8dd;border-radius:12px;padding:17px 16px 15px;color:#344c3b;min-height:141px;margin:0}.handbook-tile svg{width:21px;height:21px;stroke:#6e8660;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.module-number{position:absolute;right:15px;top:17px;font-size:10px;color:#b8bfaf}.handbook-tile h3{font-size:15px;margin:13px 0 5px;font-weight:600}.handbook-tile p{font-size:10px;color:#909987;line-height:1.7;margin:0}.tile-arrow{position:absolute;right:15px;bottom:12px;font-size:14px;color:#a6b49b}.handbook-tile.featured{border-color:#cbd9be;background:#f3f6ed}.handbook-tile .link-warning{font-size:11px;padding-right:10px}.home-quote{font-size:10px;color:#9da592;text-align:center;padding:15px 0 0}.home-screen #tomorrow{display:block;margin:18px 0 0;font-size:12px;color:#718266;border:0;background:transparent;padding-left:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom));padding:10px 20px calc(12px + env(safe-area-inset-bottom));background:#fbfcf8f5;border-top:1px solid #e5eadd;display:flex;justify-content:space-around;z-index:15;backdrop-filter:blur(12px);overflow:visible}.bottom-nav button{border:0;background:transparent;min-width:50px;min-height:40px;color:#929e89;font-size:10px;display:grid;gap:5px;justify-items:center;margin:0;padding:0}.bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.bottom-nav .active{color:#486a50;font-weight:600}#module-dialog{padding:22px;width:calc(100% - 40px);max-width:440px}#module-dialog::backdrop{background:#243b3155}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.menu-heading h2{margin:0}.menu-heading button{font-size:12px}#module-dialog nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding-top:20px}#module-dialog nav button{background:#eef3e7;white-space:normal;margin:0}#module-dialog nav button.primary{background:#496e58;color:white}@media(max-width:360px){main{padding-left:18px;padding-right:18px}.checks{gap:7px;font-size:10px}.handbook-tile{padding:15px 12px}.home-screen h1{font-size:25px}.today-card{padding:18px 16px}}

.on-home .module-menu{display:none}
.interval-time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.interval-time-inputs label{min-width:0}.interval-time-inputs input[type=time]{display:block;min-height:50px;width:100%;padding:10px 8px;color:#354039;background:#fffefa;font-size:18px;text-align:left}.interval-time-inputs input::-webkit-date-and-time-value{text-align:left}.new-actual{display:block;margin:6px 0 0;padding:8px 6px;min-height:40px;font-size:12px;color:#204e81;background:#e5effc;border-color:#b8cde8;white-space:normal}
.time-event.pending-event{border-style:dashed;border-width:2px}.time-event.pending-failed{border-color:#b85d4e;background:#fff0e9;color:#9b4337}
.interval-original{padding:10px 12px;background:#eef3e7;border-left:3px solid #a6bb95;border-radius:6px;color:#52694b;font-size:14px;line-height:1.7}.interval-time-inputs input[type=date]{width:100%;min-width:0;min-height:50px;padding:10px 6px;font-size:15px}
