/* Ritmo 2 · mobile first SaaS interface */
:root{color-scheme:dark;--bg:#101116;--paper:#1a1c24;--ink:#f0f1f5;--muted:#a2a6b7;--line:#30323e;--navy:#121318;--purple:#b4a6ff;--lime:#cefa83;--red:#ffa2ac;--radius:22px;--shadow:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:var(--bg);font-size:15px}h1,h2,h3{color:var(--ink)}button,input,select,textarea{color:var(--ink)}input,select,textarea{background:#20222c;border-color:#3b3e4d;border-radius:12px;color-scheme:dark}input::placeholder,textarea::placeholder{color:#8b90a3}.btn{background:#242630;border:1px solid #3a3d49;border-radius:12px;color:var(--ink);font-weight:600;min-height:44px}.btn:hover{background:#303440}.btn.primary{background:var(--lime);color:#182013;border-color:var(--lime)}.btn.primary:hover{background:#e0ffb3}.btn.active,.view-tabs .btn.active{background:#b4a6ff1f;color:#d0c6ff;border-color:#b4a6ff60}.text-link{color:#d2caff;font-weight:600;min-height:40px;display:inline-flex;align-items:center;gap:8px}.icon-btn:hover{background:#ffffff14}.panel,.stat,.project-card{background:var(--paper);border-color:var(--line);box-shadow:none}.tag{background:#30313c;color:#ced0df}.note,.metric-help{color:var(--muted)}.danger{color:var(--red)}.shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{background:#15161c;border-right:1px solid #2a2c35;padding:34px 18px;min-width:0}.brand{letter-spacing:-.065em;font-size:34px;color:#f4f3f8;font-weight:800;display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:35px;height:35px}.brand small{letter-spacing:.1em;font-size:9px;line-height:1.5;color:#9094a7;max-width:145px;overflow-wrap:anywhere}.sidebar .brand{padding:0 14px}.nav-label{font-size:10px;letter-spacing:.14em;color:#878b9c;margin:34px 14px 12px}.navitem{border-radius:12px;font-size:13px;min-height:48px;color:#a9adbf;gap:12px}.sidebar .navitem{margin-bottom:7px;padding:14px}.sidebar .navitem.active{background:#282c22;color:#dcf6bc;border:1px solid #39452c}.navitem .icon{width:19px;height:19px}.sidebar .side-end{font-size:12px;color:#8f94a8}.subscription-pill{border:1px solid #3a4032;background:#22271d;color:#d7edbc;border-radius:12px;text-decoration:none;display:flex;align-items:center;justify-content:space-between;padding:14px 10px;margin-bottom:26px;font-size:12px;font-weight:650}.subscription-pill i,.live-pill i{width:6px;height:6px;background:var(--lime);border-radius:50%}.subscription-pill .icon{width:16px}.main{padding:0 34px 50px;max-width:2000px;width:100%;margin:auto}.topbar{border-bottom:1px solid var(--line);min-height:84px;margin-bottom:28px}.crumb{color:#969bae;font-size:12px}.person-select{background:#21232c;border:1px solid #353844;padding:3px 8px 3px 4px;border-radius:30px;max-width:210px}.person-select select{background:transparent;font-size:13px;min-height:34px;padding:4px 3px;border:0;max-width:150px}.person-select select option{background:#21232c}.avatar{width:30px;height:30px;font-size:10px;color:#151622}.sync{font-size:10px;color:#b7c3ad}.report-tabs{margin-bottom:30px;gap:7px;flex-wrap:wrap}.view-tabs .btn{border-radius:9px;font-size:12px;padding:8px 16px;min-height:38px;background:transparent}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.report-heading .eyebrow{color:#c9e8a6;font-size:10px;letter-spacing:.16em}.report-heading h1{font-size:clamp(26px,2.6vw,44px);margin:8px 0 10px;font-weight:650;line-height:1.12;letter-spacing:-.055em}.report-heading h1 span{color:var(--lime)}.report-heading p{color:var(--muted);font-size:13px}.report-heading>.btn{font-size:12px;padding:12px 16px;white-space:nowrap}.report-controls{display:flex;gap:12px;align-items:center;margin-bottom:24px}.date-control{display:flex;align-items:center;gap:12px}.date-control label{font-size:12px;color:#a5a9ba}.date-control input{font-size:13px;padding:7px 10px;min-height:38px;width:156px;border-color:#3a3d49}.report-controls>select{width:145px;min-height:38px;padding:6px 10px;font-size:13px}.pill{display:inline-flex;align-items:center;gap:8px;letter-spacing:.09em;font-size:9px;font-weight:650;border:1px solid #45483f;color:#d6e7c0;background:#262b22;padding:6px 10px;border-radius:99px}.live-pill{margin-left:auto;letter-spacing:0;font-size:10px}.modern-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-tile{padding:19px 21px;border:1px solid var(--line);border-radius:18px;background:#1b1d25;min-width:0;display:flex;flex-direction:column}.metric-tile>div{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;color:#bfc2d0;min-height:32px}.metric-tile .icon{width:15px;height:15px;color:#a7ae96}.metric-tile>strong{font-size:clamp(24px,2.2vw,38px);letter-spacing:-.06em;font-weight:650;line-height:1.35;margin:10px 0}.metric-tile>strong small{font-size:17px;color:#848a9b;letter-spacing:-.02em}.metric-tile>small{font-size:10px;color:#9197aa;line-height:1.5}.metric-0{background:linear-gradient(130deg,#293126,#1b211b);border-color:#3a4a32}.metric-0>strong{color:#d4f8a0}.metric-2 .icon{color:#b4a6ff}.metric-3 .icon{color:#ffbe91}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:20px}.day-visual{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:#1a1c24;overflow:hidden}.visual-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 24px 0}.visual-heading h2{font-size:17px;font-weight:600;margin-top:6px;letter-spacing:-.025em}.visual-eyebrow{color:#9a9eb2;font-size:9px;letter-spacing:.12em;font-weight:600}.visual-total{font-size:10px;color:#a9ae9d;background:#2b3026;border:1px solid #3b4232;border-radius:7px;padding:4px 8px;white-space:nowrap}.visual-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding:12px 22px 18px;gap:14px;align-items:center}.day-wheel{width:100%;max-width:245px;min-width:0;margin:auto;aspect-ratio:1}.day-wheel svg{width:100%;height:auto;display:block;filter:none}.wheel-center{inset:22%;gap:3px}.wheel-center span{font-size:10px;color:#a8aebd}.wheel-center strong{font-size:clamp(22px,2.25vw,40px);color:#f5f7ee;font-weight:650;letter-spacing:-.055em}.wheel-center small{font-size:9px;color:#9299a7;line-height:1.4;text-align:center}.visual-instruction{font-size:9px;color:#9ba0b1;margin:0 0 8px}.visual-category{padding:7px 0;border:0;border-radius:5px;gap:8px;background:transparent;width:100%}.visual-category:hover,.visual-category.is-selected{background:#ffffff09}.visual-category-label{font-size:10px;color:#c3c7d5}.visual-category-label small{font-size:8px;color:#8f96a9}.visual-category>strong{font-size:10px;color:#d6d9e4;white-space:nowrap}.visual-dot{width:7px;height:7px;border:0}.visual-foot{background:#181a21;border-top:1px solid #30333e;padding:12px 24px;gap:10px;font-size:9px;color:#a6adbc;min-height:45px}.visual-foot strong{color:#d3d8df}.visual-foot-note{color:#969caa;font-size:9px}.visual-foot .text-link{font-size:9px;min-height:30px}.weekly-card{padding-bottom:20px;display:flex;flex-direction:column}.weekly-card .visual-heading select{width:85px;min-height:34px;padding:5px 7px;font-size:11px}.weekly-summary{padding:20px 24px 14px;display:flex;align-items:center;gap:16px}.weekly-summary>strong{font-size:30px;letter-spacing:-.05em;font-weight:600}.weekly-summary small{font-size:14px;font-weight:400;color:#a2a8b7}.weekly-summary>span{font-size:10px;color:#9399ad;max-width:65px;line-height:1.5}.stacked-chart{height:164px;display:flex;gap:13px;padding:0 24px;margin:8px 0 14px;align-items:stretch}.stacked-day{display:flex;flex:1;min-width:0;padding:0;flex-direction:column;gap:8px;align-items:center;border-radius:8px}.stack-column{display:flex;flex-direction:column-reverse;height:135px;border-radius:7px;overflow:hidden;width:100%;background:#282b35;border:2px solid transparent}.selected .stack-column{border-color:#edf8d7}.stack-column i{display:block;width:100%;min-height:0}.stack-label{font-size:9px;color:#a9aebe}.stacked-day:hover .stack-column{outline:1px solid #d7e9bd}.thirty{gap:4px}.thirty .stack-column{border-radius:3px;border-width:1px}.thirty .stack-label{font-size:7px}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;padding:0 24px}.chart-legend span{font-size:9px;color:#c2c6d3;display:flex;align-items:center;gap:5px}.chart-legend i{display:inline-block;width:6px;height:6px;border-radius:3px}.chart-note{font-size:9px;color:#989eaf;padding:10px 24px 0;margin-top:auto}.timeline-card{margin-bottom:20px;padding-bottom:20px}.timeline-card .panel-head{padding:22px 24px 18px;border-bottom:0}.timeline-card h2{font-size:17px}.timeline-card .text-link{font-size:11px}.timeline-card .day-band{margin:0 24px;height:33px;display:flex;border-radius:9px;overflow:hidden}.day-band button{padding:0;min-width:0;border:0}.timeline-card .day-axis{margin:8px 24px 0;font-size:9px;color:#939aab}.report-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.project-time .panel-head{border:0;padding:24px}.project-time h2{font-size:17px;margin-top:4px}.rank-list{padding:0 24px 26px}.rank-item{margin-bottom:18px}.rank-item:last-child{margin-bottom:0}.rank-item>div:first-child{display:flex;justify-content:space-between;gap:18px;margin-bottom:9px;font-size:11px}.rank-item strong{font-size:11px;font-weight:550;color:#b7bdcd}.rank-track{height:7px;background:#2c2f3a;border-radius:6px;overflow:hidden}.rank-track i{display:block;height:100%;border-radius:6px}.empty-copy{font-size:12px;color:#9da4b6;padding:16px 0;line-height:1.8}.insight-card{background:#24262f;border-radius:22px;padding:24px;border:1px solid #3b3d48;position:relative}.insight-card .visual-eyebrow{color:#bfb1e7}.insight-card h2{font-size:23px;font-weight:550;letter-spacing:-.035em;max-width:290px;margin:12px 0 21px;line-height:1.2}.insight-line{display:flex;align-items:center;gap:18px;margin-bottom:14px}.insight-line strong{min-width:70px;color:#d3c4ff;font-size:23px;font-weight:550;letter-spacing:-.04em}.insight-line p{font-size:11px;color:#b1b5c5;max-width:225px}.insight-card .text-link{font-size:11px;margin-top:6px}.trial-footer{margin:26px 0 0;text-align:center;color:#929aaa;font-size:11px}.trial-footer a{color:#d1dfbe;margin-left:8px}.access-banner,.notice{padding:16px 20px;border:1px solid #76683d;background:#302c20;color:#f0dba3;border-radius:14px;margin:0 0 22px;font-size:13px}.access-banner a{color:white}.field{gap:8px}.page-head h1{font-weight:600}.page-head p{color:var(--muted)}.toolbar{background:transparent}.stat-top,.stat-note{color:var(--muted)}.stat-value{color:#eff1f9}.tabs{background:#252831}.tab.active{background:#44405d;color:white}.focus-strip{background:linear-gradient(120deg,#2c2940,#202634);border:1px solid #454257}.focus-strip .clock{color:white}.focus-strip p{color:#b6b8ce}.task-row,.catalog-row,.project-line,.family-row{border-color:#303440}.task-title{color:#e0e4ec}.task-meta{color:#a0a8b7}.check{border-color:#696d7e;background:#252831}.check.done{background:var(--lime);color:#142010}.project-card:hover{border-color:#8a85ac}.progress{background:#353844}.progress i{background:var(--lime)}.day-row{background:transparent;color:#d0d5df;border-color:#333743}.day-row small,.day-time small{color:#999fb2}.day-row:hover{background:#ffffff08}.day-time{color:#bac1d2}.day-duration{color:#c4cbd7}.day-axis{color:#a5adbe}.coverage{background:#293224;border-color:#46593b;color:#d5e8c2}.day-legend span{color:#bbc2d0}.day-summary-grid{margin-top:20px}.day-report-page>.day-visual{margin-bottom:20px}.day-report-page>.day-visual .visual-body{grid-template-columns:1fr 1fr;max-width:820px;margin:auto}.day-report-page .day-wheel{max-width:310px}.day-report-page .visual-category{padding:12px;font-size:14px}.day-report-page .visual-category-label,.day-report-page .visual-category>strong{font-size:13px}.day-report-page .wheel-center strong{font-size:40px}.ring-inner{background:var(--paper)}.ring strong{color:var(--ink)}.bar-labels{color:#a5adbe}.personal-options{border-color:#45495b;background:#23252e}.personal-options summary{color:#d4d8e3}.mode-choice{background:#272633;border-color:#4b445e}dialog{background:#1e2029;color:#ecedf4;border:1px solid #424554;border-radius:22px;max-width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}dialog::backdrop{background:#07080dbd;backdrop-filter:blur(7px)}.modal-head{border-color:#353946}.modal-content p{overflow-wrap:anywhere}.detail-metrics>div{background:#2b2e3a}.modal-actions{border-color:#353946}.form-error{color:#ffacb5}.form-error:empty{display:none}.success-message{color:#d0f4ad;font-size:13px;line-height:1.6}.success-message:empty{display:none}#toast{background:#e0edce;color:#182316;border-radius:13px;max-width:calc(100% - 30px)}.account-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.account-status h2{margin:16px 0 6px;font-size:26px}.account-status>div:last-child{display:flex;flex-direction:column}.account-status strong{font-size:44px;color:var(--lime);letter-spacing:-.055em}.account-status strong small{font-size:20px;color:#8a92a3}.account-status span:not(.pill){font-size:11px;color:#a0a6b8}.section-title{margin-bottom:20px}.section-title h2{font-size:22px;font-weight:550;margin-bottom:8px}.section-title p{font-size:13px;color:#a5adbe}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.plan-card{background:#1b1d25;border:1px solid var(--line);padding:26px 22px;border-radius:22px;min-width:0;display:flex;flex-direction:column}.plan-card.featured{background:linear-gradient(135deg,#2d3426,#1c231b);border-color:#728755}.plan-card>.eyebrow{font-size:9px;color:#c3cfb0}.plan-card h3{font-size:24px;margin:14px 0 18px;letter-spacing:-.04em}.plan-price{font-size:30px;font-weight:650;letter-spacing:-.04em;display:flex;flex-wrap:wrap;gap:7px;align-items:baseline}.plan-price small{font-size:11px;color:#b2b9a8;letter-spacing:0}.plan-card ul{padding:0;list-style:none;font-size:12px;color:#b6bdce;line-height:2.2;margin:22px 0}.plan-card li::before{content:'✓';color:#c4e9a0;margin-right:7px}.plan-card .btn{width:100%;font-size:12px;margin-top:9px}.plan-card .btn.primary{margin-top:auto}.plan-card .pill{margin-top:auto;align-self:flex-start}.billing-section{margin-bottom:36px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-row,.order-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.member-row>div,.order-row>div{flex:1;min-width:0}.member-row strong,.order-row strong{font-size:13px;display:block;overflow-wrap:anywhere}.member-row small,.order-row small{display:block;font-size:11px;color:#a0a8ba;overflow-wrap:anywhere}.member-row .avatar{width:35px;height:35px}.member-row .text-link{font-size:11px}.catalog-section{font-size:11px;color:#a7afbe;text-transform:uppercase;letter-spacing:.12em;margin:20px 0 7px}.orders-panel,.account-tools{margin-top:22px}.order-row .btn{font-size:12px}.auth-layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:#101116}.auth-story{padding:40px 55px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 30% 70%,#373946 0,transparent 60%),#191a23;overflow:hidden}.brand-dot{color:var(--lime);font-size:10px;align-self:flex-end;margin:0 0 11px -5px}.auth-copy{margin:60px 0 20px;position:relative}.auth-copy>.eyebrow{color:#b9b8cd;font-size:10px;letter-spacing:.18em}.auth-copy h1{font-size:clamp(48px,5.8vw,82px);font-weight:600;line-height:1.03;letter-spacing:-.065em;margin:24px 0}.auth-copy em{font-style:normal;color:var(--lime)}.auth-copy p{max-width:320px;color:#b0b2c4;font-size:15px;line-height:1.7}.auth-story footer{color:#868ba0;font-size:11px;margin-top:30px}.auth-orbit{width:190px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#d0f981 0 33%,#b6a6ff 33% 67%,#464755 67% 100%);margin:40px 0 10px;padding:20px;transform:rotate(-20deg);box-shadow:0 0 90px #c8b4ff0d}.auth-orbit>div{background:#262833;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(20deg)}.auth-orbit span{font-size:7px;color:#a8aec0;letter-spacing:.12em}.auth-orbit strong{font-size:44px;color:#e8efdf;font-weight:500;letter-spacing:-.08em;line-height:1.5}.auth-side{display:flex;align-items:center;justify-content:center;padding:48px 35px}.auth-card{width:100%;max-width:400px}.auth-card h2{font-size:32px;font-weight:550;letter-spacing:-.05em;margin:22px 0 10px;line-height:1.15}.auth-card>.muted{font-size:13px;line-height:1.7;margin-bottom:30px}.auth-card form{display:flex;flex-direction:column;gap:18px}.auth-card .field{font-size:12px;color:#b5bdce}.auth-card input{font-size:16px;min-height:50px}.auth-card .auth-submit{margin-top:10px;min-height:50px;justify-content:space-between;padding:12px 20px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:#b2bacb;line-height:1.6;flex-wrap:wrap}.consent input{min-height:20px;width:18px;flex:0 0 18px;margin:0}.consent small{color:#929aad}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 14px;margin-top:22px}.auth-links button{font-size:11px;color:#c7bded;padding:8px 0}.auth-benefits{display:flex;flex-wrap:wrap;gap:6px 16px;border-top:1px solid #30333e;margin-top:30px;padding-top:20px;color:#8992a7;font-size:10px}.auth-benefits span::before{content:'✓';color:#d0f08a;margin-right:5px}.tv .main{max-width:none;padding:30px 3vw}.tv .report-grid{grid-template-columns:1fr 1fr}.tv .modern-report h1{font-size:clamp(30px,2.3vw,80px)}.tv .metric-tile>strong{font-size:clamp(28px,2.5vw,85px)}.tv .metric-tile>div,.tv .metric-tile>small,.tv .report-heading p{font-size:clamp(12px,.85vw,28px)}.tv .visual-heading h2,.tv .timeline-card h2,.tv .project-time h2{font-size:clamp(18px,1.3vw,46px)}.tv .visual-eyebrow{font-size:clamp(9px,.65vw,22px)}.tv .day-wheel{max-width:clamp(240px,19vw,580px)}.tv .wheel-center strong{font-size:clamp(28px,3vw,92px)}.tv .wheel-center span,.tv .wheel-center small,.tv .visual-category-label,.tv .visual-category>strong{font-size:clamp(11px,.9vw,30px)}.tv .visual-body{padding:1.4vw 2vw}.tv .visual-category{padding:.65vw 0}.tv .visual-foot,.tv .visual-category-label small,.tv .visual-instruction,.tv .chart-note,.tv .chart-legend span,.tv .stack-label{font-size:clamp(10px,.75vw,24px)}.tv .stacked-chart{height:clamp(160px,15vw,450px)}.tv .stack-column{height:100%}.tv .weekly-summary>strong{font-size:clamp(30px,2.5vw,75px)}.tv .weekly-summary span,.tv .weekly-summary small{font-size:clamp(11px,.85vw,28px);max-width:none}.tv .weekly-card .visual-heading select{width:auto;font-size:clamp(12px,.9vw,28px)}.tv .rank-item>div:first-child,.tv .rank-item strong,.tv .insight-line p,.tv .text-link{font-size:clamp(12px,1vw,32px)}.tv .insight-card h2{font-size:clamp(24px,1.8vw,60px);max-width:none}.tv .insight-line strong{font-size:clamp(24px,1.7vw,58px)}.tv .insight-line p{max-width:none}.tv .timeline-card .day-band{height:clamp(30px,2.2vw,70px)}.tv .day-axis{font-size:clamp(10px,.8vw,26px)}
@media(min-width:2100px){.main{max-width:2300px}.shell{grid-template-columns:250px minmax(0,1fr)}.modern-kpis{gap:24px}.report-grid,.report-bottom{gap:24px}.metric-tile{padding:25px 30px}.report-grid .day-wheel{max-width:340px}.visual-category-label,.visual-category>strong{font-size:14px}.visual-category-label small{font-size:11px}.visual-category{padding:10px}.wheel-center span{font-size:13px}.wheel-center small{font-size:12px}.stacked-chart{height:240px}.stack-column{height:210px}}
@media(max-width:1200px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:28px 12px}.main{padding-left:24px;padding-right:24px}.modern-kpis{gap:10px}.metric-tile{padding:16px}.visual-body{grid-template-columns:1fr;padding:14px 24px}.report-grid .day-wheel{max-width:210px}.visual-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.visual-instruction{grid-column:1/-1}.visual-foot{flex-wrap:wrap}.weekly-card{justify-content:space-between}.stacked-chart{height:200px}.stack-column{height:170px}.plan-grid{gap:12px}.plan-card{padding:22px 16px}.plan-price{font-size:25px}}
@media(max-width:820px){.shell{display:block}.sidebar{display:none}.main{padding:0 18px calc(105px + env(safe-area-inset-bottom));max-width:none}.topbar{min-height:70px;margin-bottom:22px}.top-controls{min-width:0}.topbar .sync{display:none}.crumb{font-size:23px;font-weight:700;letter-spacing:-.06em;color:#e4e7ee}.person-select select{font-size:12px;max-width:135px}.report-heading{align-items:flex-start;gap:12px;margin-bottom:20px}.report-heading h1{font-size:31px;max-width:370px;line-height:1.08}.report-heading p{font-size:12px}.report-heading>.btn{font-size:0;padding:10px;min-width:44px;margin-top:24px}.report-heading>.btn .icon{width:22px;height:22px}.report-tabs{margin-bottom:23px}.view-tabs .btn{font-size:11px;padding:7px 10px}.modern-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-tile{padding:16px}.metric-tile>strong{font-size:30px}.metric-tile>div{font-size:11px;align-items:flex-start;min-height:30px}.metric-tile>small{font-size:10px}.report-grid,.report-bottom{grid-template-columns:minmax(0,1fr);gap:16px}.visual-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px 18px;gap:12px}.visual-heading{padding:22px 20px 0}.visual-heading h2{font-size:16px}.visual-breakdown{display:block}.visual-category{padding:8px 0}.visual-category-label{font-size:11px}.visual-category>strong{font-size:10px}.visual-heading .visual-total{font-size:9px}.report-grid .day-wheel{max-width:240px}.wheel-center strong{font-size:27px}.visual-foot{padding:14px 20px;font-size:10px}.visual-foot-note{font-size:9px}.report-controls{flex-wrap:wrap;gap:10px;margin-bottom:20px}.report-controls .live-pill{display:none}.report-controls>select{flex:1;max-width:155px;min-width:80px}.date-control input{width:148px;font-size:16px}.date-control label{display:none}.report-controls>select{font-size:16px}.weekly-card .visual-heading select{font-size:16px;width:90px}.weekly-summary{padding:20px}.stacked-chart{padding:0 20px;gap:16px;height:200px}.stack-column{height:168px}.stack-label{font-size:10px}.thirty{gap:3px}.thirty .stack-label{font-size:7px}.chart-legend{padding:0 20px;gap:12px}.chart-legend span{font-size:10px}.chart-note{font-size:10px;padding:14px 20px 0}.timeline-card .panel-head{padding:22px 20px 12px;gap:8px}.timeline-card .day-band{margin:0 20px;height:35px}.timeline-card .day-axis{margin:9px 20px 0}.timeline-card .text-link{font-size:10px}.insight-card h2{font-size:27px;max-width:none}.insight-line p{font-size:12px}.rank-item>div:first-child,.rank-item strong{font-size:12px}.mobile-nav{background:#191b23f5;border-color:#373b48;backdrop-filter:blur(20px);padding-top:8px;gap:0}.mobile-nav .navitem{font-size:10px;min-width:0;flex:1;padding:6px 3px;gap:5px;min-height:50px}.mobile-nav .navitem.active{background:#d5fbb015;color:#d4f3a7}.mobile-nav .icon{width:20px;height:20px}.page-head h1{font-size:29px}.head-actions .btn{font-size:12px;min-width:0}.day-report-page>.day-visual .visual-body{grid-template-columns:1fr}.day-report-page .day-wheel{max-width:275px}.day-report-page .visual-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.day-report-page .visual-category{padding:9px 0}.day-report-page .visual-category-label,.day-report-page .visual-category>strong{font-size:11px}.day-time{font-size:11px}.day-duration{font-size:11px}.day-row strong{font-size:12px}.day-row small{font-size:9px}.day-summary-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.plan-card{padding:26px}.plan-price{font-size:35px}.plan-card ul{font-size:13px}.plan-card .btn{font-size:14px;min-height:48px}.plan-card .eyebrow{font-size:10px}.settings-grid{grid-template-columns:1fr}.account-status{align-items:flex-start;padding:22px}.account-status h2{font-size:22px}.account-status p{font-size:12px}.account-status strong{font-size:36px}.account-status>div:last-child{min-width:73px}.order-row{flex-wrap:wrap}.order-row>div{flex-basis:100%}.account-tools .detail-actions .btn{width:100%;font-size:12px}.auth-layout{grid-template-columns:1fr}.auth-story{padding:25px 25px 30px;min-height:0}.auth-story .brand{font-size:29px}.auth-copy{margin:28px 0 0}.auth-copy>.eyebrow{font-size:8px}.auth-copy h1{font-size:42px;margin:15px 0 10px;line-height:1.04}.auth-copy h1 br:nth-of-type(1){display:none}.auth-copy p{font-size:12px;max-width:245px}.auth-orbit{position:absolute;right:0;bottom:2px;width:95px;padding:10px;margin:0}.auth-orbit strong{font-size:24px}.auth-orbit span{font-size:4px}.auth-story footer{display:none}.auth-side{padding:32px 25px 50px;align-items:flex-start}.auth-card{max-width:440px}.auth-card h2{font-size:29px;margin-top:19px}.auth-card>.muted{margin-bottom:25px}.auth-benefits{margin-top:22px}.tv .report-grid,.tv .report-bottom{grid-template-columns:1fr}.tv .main{padding:22px 16px}.tv .visual-body{grid-template-columns:1fr 1fr}.tv .stacked-chart{height:200px}.tv .stack-column{height:168px}}
@media(max-width:370px){.main{padding-left:12px;padding-right:12px}.report-heading h1{font-size:28px}.modern-kpis{gap:8px}.metric-tile{padding:13px}.metric-tile>strong{font-size:26px}.visual-body{gap:9px;padding:14px}.visual-heading{padding:20px 16px 0}.visual-heading h2{font-size:15px}.visual-total{display:none}.visual-category-label{font-size:10px}.visual-category>strong{font-size:9px}.wheel-center strong{font-size:23px}.wheel-center span,.wheel-center small{font-size:8px}.auth-orbit{width:77px;padding:8px}.auth-copy p{max-width:205px}.view-tabs .btn{font-size:10px;padding:6px 8px}.report-controls>select{width:90px}.weekly-card .visual-heading{align-items:flex-start}.account-status{flex-direction:column}.account-status>div:last-child{flex-direction:row;align-items:center;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Intrinsic sizing: margins must not add to the 100% timeline width. */
.timeline-card .day-band{width:auto;max-width:none}.report-grid .visual-category{min-height:38px}.report-grid .visual-category-label small{font-size:9px}.report-grid .visual-category-label{font-size:11px}.report-grid .visual-category>strong{font-size:11px}.report-grid .visual-instruction{font-size:10px}.report-grid .visual-foot{font-size:10px}
@media(max-width:820px){.report-tabs .tv-report-button{margin-left:auto;width:auto}.report-tabs{gap:6px}.report-tabs .tv-report-button .icon{width:16px}.report-heading{margin-bottom:18px}.report-grid .visual-category-label,.report-grid .visual-category>strong{font-size:10px}.report-grid .visual-category{min-height:42px}.timeline-card .day-band{width:auto}}
@media(max-width:820px){input,select,textarea,.person-select select{font-size:16px}.view-tabs .btn{min-height:44px}.person-select select{max-width:135px}}
@media(min-width:1400px){
.tv .main{padding:24px 2.4vw}.tv .report-tabs{margin-bottom:20px}.tv .report-heading{margin-bottom:18px}.tv .report-heading h1{font-size:2.2vw}.tv .report-controls{margin-bottom:18px}.tv .report-grid{align-items:stretch}.tv .report-grid .day-wheel{max-width:min(100%,570px);width:100%}.tv .report-grid .visual-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.3vw;padding:22px 1.8vw}.tv .report-grid .visual-category{min-height:0;padding:.4vw 0}.tv .report-grid .visual-category-label,.tv .report-grid .visual-category>strong{font-size:clamp(15px,.85vw,30px)}.tv .report-grid .visual-category-label small,.tv .report-grid .visual-instruction,.tv .report-grid .visual-foot,.tv .report-grid .visual-foot-note{font-size:clamp(11px,.58vw,21px)}.tv .wheel-center{inset:25%;gap:6px}.tv .wheel-center strong{font-size:clamp(40px,2.3vw,80px);line-height:1.1}.tv .wheel-center span{font-size:clamp(13px,.7vw,24px)}.tv .wheel-center small{font-size:clamp(11px,.55vw,19px)}.tv .modern-kpis{margin-bottom:18px}.tv .metric-tile{padding:16px 24px}.tv .metric-tile>strong{margin:6px 0}.tv .stacked-chart{height:clamp(170px,11vw,370px)}.tv .weekly-summary{padding:12px 24px}.tv .report-bottom .panel-head,.tv .insight-card{padding:20px 24px}.tv .insight-card h2{margin:8px 0 14px;font-size:clamp(24px,1.4vw,45px)}.tv .insight-line{margin-bottom:8px}.tv .rank-item{margin-bottom:12px}.tv .rank-list{padding-bottom:18px}.tv .insight-card .text-link{min-height:30px}.tv .metric-tile>strong small{font-size:1.1vw}.tv .visual-total{font-size:.65vw}
}
.day-visual{padding:0}
@media(min-width:1400px){.tv .day-visual{padding:0}.tv .report-grid .visual-category{padding:6px 0;line-height:1.15}.tv .report-grid .visual-category-label{font-size:clamp(15px,.72vw,28px);line-height:1.2}.tv .report-grid .visual-category-label small{font-size:clamp(11px,.47vw,18px);line-height:1.3}.tv .report-grid .visual-heading h2{line-height:1.2}.tv .report-grid .visual-instruction{margin-bottom:10px}.tv .visual-breakdown{align-self:center}.tv .report-grid .day-wheel{max-width:min(100%,530px)}}
@media(min-width:1400px){.tv .main{padding-top:10px;padding-bottom:8px}}

.home-return{margin-left:auto;color:var(--lime);font-size:24px;min-width:44px;min-height:44px;display:grid;place-items:center;text-decoration:none}

/* Responsive layout contract: controls must shrink inside their grid tracks,
   including Safari's native date/datetime editors. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.shell,.main,#page,.panel,.field,.report-heading>div,.visual-heading>div,.date-control,.task-body,.auth-side,.auth-card{min-width:0}
input,select,textarea{min-width:0;min-inline-size:0;max-inline-size:100%;font-size:16px}
input[type=date],input[type=datetime-local],input[type=time]{display:block;width:100%;min-width:0;min-inline-size:0;max-width:100%;text-align:left;line-height:1.4}
input::-webkit-date-and-time-value{min-height:1.4em;text-align:left;white-space:nowrap}
input::-webkit-datetime-edit{min-width:0;padding:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.field>input,.field>select,.field>textarea{width:100%;max-width:100%;flex-shrink:1}
.view-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.report-heading>.btn{flex-shrink:0;white-space:normal}
.report-heading p,.page-head p,.note,.coverage,.notice,.access-banner,.pill{overflow-wrap:anywhere}
.report-controls{display:grid;grid-template-columns:minmax(180px,220px) minmax(160px,220px) minmax(0,1fr);align-items:end}
.report-controls .date-control{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.report-controls .field{font-size:12px;color:var(--muted)}
.report-controls .date-control label{display:block;font-size:12px;color:var(--muted)}
.report-controls input,.report-controls select{width:100%;max-width:none;min-height:48px;padding:10px 12px}
.report-controls .live-pill{align-self:center;justify-self:end}
.map-toolbar{display:grid;grid-template-columns:minmax(0,240px) minmax(0,240px) minmax(0,1fr) auto;align-items:end}
.map-toolbar>.field{min-width:0;max-width:none}.map-toolbar>.spacer{min-width:0}
.map-toolbar>.btn{align-self:end;white-space:normal}
.day-report-page .map-toolbar>.field{min-width:0;max-width:none}
.visual-category,.visual-category-label,.visual-breakdown{min-width:0}.visual-category-label{overflow-wrap:anywhere}
.rank-item>div>span,.project-title,.task-meta>span{min-width:0;overflow-wrap:anywhere}
.visual-foot{flex-wrap:wrap}.visual-foot-note{white-space:normal}
.task-row .check,.task-row .play,.icon-btn,.text-link{min-height:44px}.task-row .check{width:32px;min-height:32px}.task-row .play{width:44px}
.modal-open{overflow:hidden}
dialog{margin:auto;overflow:auto;overscroll-behavior:contain;scroll-padding:20px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
.modal-head{position:sticky;top:0;background:#1e2029;z-index:2;padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.modal-head h2{min-width:0;overflow-wrap:anywhere}.modal-head h2:focus{outline:none}
.modal-content{padding-top:20px}.modal-actions .btn{white-space:normal;text-align:center;min-height:48px}
.inline-check input,.consent input{flex-shrink:0;accent-color:var(--lime)}
.auth-card .consent{flex-wrap:nowrap}.consent>span{flex:1;min-width:0}.consent small{display:block}
.auth-card input{scroll-margin:24px}.auth-links button{min-height:44px;font-size:13px}
.readonly-note{font-size:13px;color:var(--muted);margin:12px 0}
@media(max-width:1100px){.report-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.report-controls .live-pill{display:none}.map-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.map-toolbar>.spacer{display:none}.map-toolbar>.btn{justify-self:start}}
@media(max-width:820px){
 .main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.top-controls{max-width:100%;min-width:0}.person-select{max-width:min(210px,55vw)}
 .person-select select{font-size:16px;width:100%;min-width:0;max-width:100%;min-height:40px}
 .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:8px max(4px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}
 .mobile-nav .navitem{width:100%;min-width:0;margin:0;padding:6px 1px;font-size:10px;min-height:54px;justify-content:center}.mobile-nav .navitem span{white-space:nowrap;overflow-wrap:normal}
 .mobile-nav .icon{width:22px;height:22px}
 .view-tabs{gap:6px;margin-bottom:22px}.view-tabs .btn{padding:10px 12px;font-size:12px;min-height:44px}
 .report-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.report-tabs>.btn{width:100%;min-width:0;padding-inline:5px;white-space:normal}
 .report-tabs .tv-report-button{grid-column:1/-1;justify-self:end;width:auto;margin:2px 0 0;padding-inline:12px}
 .report-heading{flex-wrap:wrap}.report-heading>div{flex:1 1 240px}.report-heading>.btn{font-size:13px;min-width:44px;min-height:44px;padding:10px 14px;margin:0}.report-heading h1{font-size:clamp(27px,7.2vw,34px);max-width:none;line-height:1.12}
 .report-heading p,.page-head p{font-size:14px;line-height:1.6}
 .report-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.report-controls input,.report-controls select{font-size:16px;min-height:50px}
 .map-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.map-toolbar>.field{min-width:0;max-width:100%;font-size:14px}.map-toolbar input,.map-toolbar select{min-height:50px}.map-toolbar>.btn{grid-column:1/-1;justify-self:start}
 .head-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.head-actions .btn{width:100%;min-height:48px;font-size:13px;white-space:normal;padding:10px}
 .visual-body{grid-template-columns:minmax(0,1fr)}.report-grid .day-wheel{max-width:280px}.report-grid .visual-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.visual-instruction{grid-column:1/-1}
 .report-grid .visual-category{grid-template-columns:9px minmax(0,1fr);min-height:48px;gap:6px;padding:9px 0}.report-grid .visual-category>strong{grid-column:2;font-size:15px}.report-grid .visual-category-label{font-size:12px}.report-grid .visual-category-label small{font-size:10px}
 .visual-heading{flex-wrap:wrap}.visual-heading>div{flex:1 1 150px}.weekly-card .visual-heading select{width:100px;min-height:44px;flex-shrink:0}
 .metric-tile>div{font-size:12px}.metric-tile>small{font-size:11px}.metric-tile>strong{font-size:clamp(24px,7vw,32px);overflow-wrap:anywhere}
 .account-status{flex-wrap:wrap}.account-status>div:first-child{flex:1 1 200px}.account-status>div:last-child{flex-direction:row;align-items:center;gap:12px}
 .auth-story{padding:24px}.auth-copy h1{font-size:clamp(34px,9vw,44px)}.auth-orbit{display:none}.auth-copy p{max-width:none;font-size:14px}.auth-side{padding:28px 24px calc(32px + env(safe-area-inset-bottom))}
 .auth-card .pill{line-height:1.5}.auth-card>.muted{font-size:14px}.auth-card .field{font-size:14px}.auth-benefits{font-size:12px}
 .order-row .btn{width:100%;white-space:normal}.member-row{flex-wrap:wrap}.member-row .text-link{flex-shrink:0}
 .day-row strong{font-size:14px}.day-row small{font-size:12px}.day-time,.day-duration{font-size:12px}
 .modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-actions .btn:last-child{grid-column:1/-1}.modal-actions .btn:only-child{grid-column:1/-1}
 .modal-content{padding:20px}.modal-head{padding:16px 20px}.modal-head h2{font-size:20px}
 .tv .report-heading>.btn{display:inline-flex}.tv .mobile-nav{display:none}
}
@media(max-width:520px){.form-grid{grid-template-columns:minmax(0,1fr)}.field.wide,.personal-options.wide{grid-column:1/-1}.form-grid .inline-check{align-items:flex-start}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-actions .btn{min-width:0;white-space:normal;min-height:48px}.auth-submit{white-space:normal}.report-heading>div{flex-basis:100%}}
@media(max-width:360px){.head-actions{grid-template-columns:minmax(0,1fr)}.map-toolbar,.report-controls{grid-template-columns:minmax(0,1fr)}.report-tabs .btn{font-size:11px}.mobile-nav .navitem{font-size:9px}.report-heading>.btn{width:100%}.detail-metrics{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1400px){.tv .report-controls{grid-template-columns:minmax(240px,360px) minmax(240px,360px) minmax(0,1fr)}.tv .report-controls input,.tv .report-controls select,.tv .report-controls label{font-size:clamp(16px,.8vw,28px);min-height:48px}.tv .report-tabs .btn{font-size:clamp(14px,.8vw,26px);min-height:48px}}

/* First use: inline guidance, no forced overlay or sample user data. */
.first-use{margin:0 0 26px;padding:clamp(20px,3vw,32px);border:1px solid #b9a7ff55;border-radius:24px;background:linear-gradient(125deg,#242136,#171b23);min-width:0}
.first-use-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.first-use-top .text-link{font-size:12px;color:var(--muted);min-height:44px}
.first-use h2{font-size:clamp(22px,3vw,32px);line-height:1.15;letter-spacing:-.7px;margin:12px 0}.first-use p{color:var(--muted);line-height:1.6;max-width:64ch}.first-use .first-use-task{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.first-use-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:24px 0;gap:12px}.first-use-steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);min-width:0}.first-use-steps span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid #ffffff25;border-radius:50%;font-size:12px}.first-use-steps .current{color:#d8cbff}.first-use-steps .current span{background:#9f87ff22;border-color:#ac95ff}.first-use-steps .done span{background:#cefa83;color:#182015;border-color:#cefa83}
.first-use-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.first-use-actions .btn{white-space:normal;min-height:48px}.first-use-clock{font-variant-numeric:tabular-nums;font-size:32px}.first-use .first-use-note{font-size:12px;margin-bottom:0}
.email-check-layout{display:block;min-height:100dvh}.email-check-layout .auth-side{min-height:100dvh;padding:32px 20px}.email-check-layout .auth-card{display:flex;flex-direction:column;gap:16px}.email-check-layout .auth-card h1{font-size:clamp(30px,5vw,44px);line-height:1.1;letter-spacing:-1px}.email-check-layout .auth-card .brand{margin-bottom:24px}.email-check-layout .auth-card p{margin:0;overflow-wrap:anywhere}.email-check-layout .btn{width:100%;min-height:48px;white-space:normal}.email-check-steps{padding-left:22px;line-height:1.7;color:var(--muted)}.email-check-steps li{padding-left:6px;margin-bottom:10px}
@media(max-width:520px){.first-use-steps{grid-template-columns:1fr;gap:10px}.first-use-actions{align-items:stretch;flex-direction:column}.first-use-actions .btn{width:100%}.first-use-top{gap:4px}.first-use-top .eyebrow{font-size:10px}.first-use{border-radius:20px}.first-use-clock{text-align:center}}

/* Cross-device baseline: Android/iOS, touch, keyboard, split-screen and landscape. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
img,video,canvas{max-width:100%;height:auto}button,input,select,textarea{font-family:inherit}
input,select,textarea{min-inline-size:0;max-inline-size:100%}input[type=date],input[type=time],input[type=datetime-local]{color-scheme:dark}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #d4f786;outline-offset:3px}
@supports not (height:100dvh){dialog{max-height:calc(100vh - 32px)}.auth-layout,.email-check-layout,.email-check-layout .auth-side{min-height:100vh}}
@supports not (backdrop-filter:blur(1px)){.mobile-nav{background:#191b24}.site-nav{background:#111218}}
@media(pointer:coarse){button,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,summary{touch-action:manipulation}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}.icon-btn{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.shell,.main,#page,.auth-layout,.auth-side,.auth-card,.project-card,.settings-grid>*{min-width:0}
.auth-layout,.email-check-layout,.email-check-layout .auth-side{min-height:100vh;min-height:100dvh}
.task-title,.project-title,.catalog-name,.order-row>div,.entry-row>div,.auth-card,.account-status>div{overflow-wrap:anywhere}
.task-title{text-align:left}.task-body,.entry-row>div,.order-row>div{min-width:0}
dialog{max-height:calc(100vh - 32px);max-height:min(calc(100dvh - 32px),calc(var(--ritmo-visual-height,100dvh) - 32px));max-width:calc(100% - 24px)}
body.keyboard-open dialog[open]{position:fixed;top:calc(var(--ritmo-visual-top,0px) + 12px);bottom:auto;margin-top:0;margin-bottom:0}
body.keyboard-open .mobile-nav{visibility:hidden}
#toast{bottom:calc(28px + var(--ritmo-cookie-height,0px));overflow-wrap:anywhere}
@media(pointer:coarse){.task-row .check{width:44px;min-height:44px;flex-shrink:0}.task-row .play{width:44px;min-height:44px}.tab,.view-tabs .btn,.text-link{min-height:44px}}
@media(max-width:820px){#toast{bottom:calc(100px + env(safe-area-inset-bottom,0px) + var(--ritmo-cookie-height,0px))}.main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
@media(max-height:500px) and (max-width:1100px){.auth-story{display:none}.auth-layout{grid-template-columns:minmax(0,1fr)}.auth-side{padding:24px}.auth-card{margin-inline:auto}.modal-head{padding-block:12px}.modal-content{padding-top:12px}.mobile-nav .navitem{min-height:44px}.main{padding-bottom:90px}}
@media(forced-colors:active){.btn,.panel,.stat,.metric-tile,dialog{border:1px solid CanvasText}.progress>i,.bar-col>i{forced-color-adjust:none}}

/* Product forms: contain native WebKit date fields inside their grid cells. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.field,.date-control,.report-controls>*{min-width:0;max-width:100%}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{box-sizing:border-box;min-width:0;width:100%;max-width:100%}
input[type=date],input[type=time],input[type=datetime-local]{display:block;min-inline-size:0;inline-size:100%;max-inline-size:100%;text-align:left;overflow:hidden}
input::-webkit-date-and-time-value{min-width:0;text-align:left}
input::-webkit-datetime-edit{min-width:0;padding:0}
.map-toolbar .field input,.map-toolbar .field select,.report-controls .date-control input,.report-controls .field select{width:100%;min-width:0;max-width:100%}
.note{background:#252834;border:1px solid #414655;color:#d2d5e2;line-height:1.65;overflow-wrap:anywhere}
.tag.neutral{background:#303440;color:#d7dbe7}.tag.red{background:#47252e;color:#ffb0b9}
.task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px}
.task-row .task-body{grid-column:2}.task-row .task-time{grid-column:3}.task-edit{align-self:start}
.task-row>.play,.task-row>span.icon-btn{grid-column:4}
.task-row .play{background:#333047;color:#e1d8ff}.task-row .play.active{background:#b4a6ff;color:#191522}
.btn.primary,.btn.lime{color:#182013}.btn.primary:disabled{color:#24331a;opacity:.75}
.head-actions .btn.primary,.report-heading>.btn.primary{color:#182013}
.tabs{max-width:100%;flex-wrap:wrap}.tab{white-space:normal;min-height:44px}
@media(max-width:820px){
 .map-toolbar,.report-controls{grid-template-columns:minmax(0,1fr);align-items:stretch}
 .map-toolbar>.btn{grid-column:1;width:100%;justify-self:stretch}
 .map-toolbar>.field,.report-controls>.field,.report-controls>.date-control{width:100%}
 .toolbar>.tabs{flex:1 0 100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .toolbar>select{flex:1 1 100%;width:100%;max-width:100%}
 .task-row{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px}
 .task-row>.check{grid-column:1;grid-row:1;align-self:start}
 .task-row>.task-body{grid-column:2;grid-row:1}
 .task-row>.play,.task-row>span.icon-btn{grid-column:3;grid-row:1;align-self:start}
 .task-row>.task-time{display:none}
 .tv .main{padding:20px 16px 40px}.tv .page-head{flex-direction:column;align-items:stretch}
 .tv .head-actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.tv .tv-clock{align-self:center;font-size:24px}
 .tv .perf-grid,.tv .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .tv .perf-card,.tv .stat{padding:20px 16px}.tv .perf-value{font-size:clamp(28px,8vw,40px)}
}
@media(max-width:520px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid>.field,.form-grid>.personal-options{grid-column:1/-1}}

.task-row .check:disabled,.task-row .play:disabled{opacity:.5;cursor:default}

/* Two-action dialogs keep Cancel and Save aligned; a single action fills the row. */
@media(max-width:820px){.modal-actions .btn:last-child:nth-child(2){grid-column:auto}.modal-actions .btn{width:100%}}

/* Edit is visible beside the title; the remaining row opens activity actions. */
.task-row[data-task-id]{cursor:pointer;border-radius:12px}
.task-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;margin-bottom:4px;min-width:0;min-height:44px}
.task-heading .task-title{min-width:0;margin:0;text-align:left}
.task-heading .task-edit{position:relative;width:32px;min-width:32px;height:32px;min-height:32px;padding:8px;border:0;background:transparent;box-shadow:none;color:#c4b5ed;border-radius:8px}
.task-heading .task-edit::before{content:"";position:absolute;inset:-6px}
.task-heading .task-edit .icon{width:16px;height:16px;flex-shrink:0}
.task-heading .task-edit:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.task-row:focus-within{background:#ffffff05}
@media(hover:hover){.task-row[data-task-id]:hover{background:#ffffff05}.task-heading .task-edit:hover{background:#ffffff0a;color:#eee7ff}}

/* Meu dia: one primary action, explicit past/future choices and live feedback. */
.today-entry{margin-bottom:28px}.today-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px}.today-heading>div{min-width:0}.today-heading h1{margin-top:8px;font-size:clamp(28px,3vw,42px)}.today-heading p{margin-top:10px;color:var(--muted)}
.today-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 1 440px;min-width:320px}.today-primary-actions .btn{min-height:52px;white-space:normal;padding:12px 16px}.today-primary-actions .btn.primary{color:#182013}.today-primary-actions small{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
.today-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.today-shortcut{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:18px;min-height:92px}.today-shortcut>span{flex:1;min-width:0}.today-shortcut strong{display:block;font-size:14px;overflow-wrap:anywhere}.today-shortcut small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}.today-shortcut>.icon{color:var(--lime)}.today-shortcut>.icon:last-child{width:17px;color:var(--muted)}.today-shortcut:hover{border-color:#77718d}.today-sleep{min-width:0;display:flex;flex-direction:column;gap:2px}.today-sleep .text-link{align-self:flex-start;padding:8px 12px;min-height:44px}.today-section-copy{font-size:13px;color:var(--muted);margin:-8px 0 20px;max-width:760px}.today-live{margin-bottom:18px}.today-live .focus-right{flex-wrap:wrap}.today-view-tabs{padding-top:4px}.quick-start-hint{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 20px}.map-filter-hint{align-self:center;color:var(--muted);font-size:12px;line-height:1.5;max-width:250px}.day-report-page .map-toolbar{grid-template-columns:minmax(0,240px) minmax(0,240px) minmax(0,1fr)}
@media(max-width:1050px){.today-heading{align-items:stretch;flex-direction:column;gap:18px}.today-primary-actions{flex:auto;min-width:0;max-width:560px}.today-primary-actions small{text-align:left}}
@media(max-width:820px){.today-heading h1{font-size:30px}.today-shortcuts{grid-template-columns:minmax(0,1fr);gap:10px}.today-shortcut{padding:16px;min-height:80px}.today-primary-actions{max-width:none}.today-primary-actions .btn:first-child{grid-column:1/-1;min-height:54px;font-size:16px}.today-primary-actions .btn:nth-child(2){grid-column:1/-1;min-height:46px}.today-primary-actions small{font-size:11px}.today-entry{margin-bottom:20px}.day-report-page .map-toolbar{grid-template-columns:minmax(0,1fr)}.map-filter-hint{max-width:none}.today-live .focus-right{gap:12px}}

/* Constrain the expanded details grid and Safari's native date/time editors.
   Width constraints apply before clipping, so controls keep their full usable area. */
dialog .modal-head,dialog .modal-content,dialog form,dialog .form-grid,dialog .personal-options{min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
dialog .modal-content>form,dialog .personal-options,dialog .personal-options>.form-grid{inline-size:100%}
dialog .personal-options{contain:inline-size}
dialog .form-grid>.field{min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
dialog input[type=date],dialog input[type=time],dialog input[type=datetime-local]{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;margin-inline:0;padding:12px;overflow:hidden}
dialog input::-webkit-date-and-time-value{display:block;min-inline-size:0;max-inline-size:100%;margin:0;text-align:left}
dialog input::-webkit-datetime-edit{display:block;min-inline-size:0;max-inline-size:100%;padding:0;margin:0}
dialog{overflow-x:hidden;overflow-y:auto}
