/* Responsive planner — Figma LfSKG2JIT2aO1EJdhjRl9S */
:root{--ink:#253a32;--muted:#74827b;--green:#246b56;--pale:#eaf3ee;--bg:#f7f9f8;--white:#fff;--line:#e4eae6;--done:#edeff0;--red:#a84d5a;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:0;color:inherit}a{color:var(--green)}button:disabled,input:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7fb79d;outline-offset:3px}
.topbar{max-width:1240px;padding:22px 28px 14px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font-size:18px;font-weight:650}.brand-symbol{display:block;width:34px;height:34px;background:url(icon.svg) center/contain no-repeat;font-size:0}.brand small{display:inline-block;font-size:11px;font-weight:400;color:var(--muted);margin-left:10px}.header-right{display:flex;align-items:center;gap:10px}.sync{font-size:11px;color:var(--muted)}.sync:before{content:"";width:6px;height:6px;border-radius:50%;background:#adb6af;display:inline-block;margin-right:6px}.sync.online:before{background:#438a68}.sync.error{color:var(--red)}.icon-btn{width:34px;height:34px;border-radius:10px;background:var(--pale);color:var(--green);font-size:22px}
.shell{max-width:1240px;padding:0 28px 32px;margin:auto}.tabs{display:flex;gap:5px;padding:5px;background:var(--pale);border-radius:12px;margin:6px 0 18px}.tabs button{flex:1;border-radius:9px;background:transparent;padding:11px;text-align:left;font-size:13px;color:var(--muted);font-weight:600}.tabs button span{font-size:10px;opacity:.65;margin-right:8px}.tabs .active{background:var(--white);color:var(--green)}
.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;padding:20px 24px;background:var(--pale);border-radius:14px}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:1px;margin:0 0 8px}.age{display:flex;align-items:baseline;gap:10px}.age strong{font-size:38px;font-weight:600;letter-spacing:-1px;line-height:1.2;color:var(--green)}.age h1{font-size:21px;color:var(--green);font-weight:500;margin:0}.hero .sub{font-size:12px;color:var(--muted);margin:8px 0 0}.hero-side{display:flex;flex-direction:column;justify-content:center;max-width:300px}.hero-side>small{font-size:10px;color:var(--muted)}.due{font-size:25px;font-variant-numeric:tabular-nums;color:var(--green);margin:6px 0 10px}.progress-track{height:4px;border-radius:4px;background:#d6e5dc;overflow:hidden}.progress-track>span{display:block;height:100%;background:var(--green);border-radius:4px}.progress-caption{font-size:10px;color:var(--muted);margin-top:5px}.destinations{display:flex;gap:14px;flex-wrap:wrap;margin:13px 0 18px}.destination{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}.destination strong{font-weight:500;color:#50685b}.destination+.destination{border-left:1px solid var(--line);padding-left:14px}
.overview-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px}.current-column,.upcoming-column{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 12px}.section-heading h2{font-size:18px;font-weight:600;margin:0}.section-heading p{font-size:11px;color:var(--muted);margin:7px 0 0}.text-button{background:none;color:var(--green);font-size:12px;padding:6px 0;text-align:left}.task-list{display:grid;gap:9px}.task{border:1px solid var(--line);border-left:3px solid #b9cbbb;border-radius:12px;overflow:hidden;background:var(--white)}.task.p5{border-left-color:#c56a78}.task.p4{border-left-color:#c6a467}.task.p3{border-left-color:#80a98f}.task summary{list-style:none;display:grid;grid-template-columns:22px minmax(150px,1fr) 165px 145px 95px 16px 36px;gap:10px;align-items:center;padding:14px}.task summary::-webkit-details-marker{display:none}.task summary::marker{content:""}.num{font-size:10px;color:#9aa59e;font-variant-numeric:tabular-nums}.task-title{font-size:14px;font-weight:600;line-height:1.6}.task-micro{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:4px}.importance{font-size:9px;border-radius:5px;padding:2px 5px;background:var(--pale);color:var(--green);white-space:nowrap}.p5 .importance{background:#f9eaed;color:#a84d5a}.p4 .importance{background:#fbf2e2;color:#937335}.p0 .importance{background:#f0f2f4;color:#7a8187}.participant{font-size:10px;color:var(--muted)}.dates{font-size:11px;line-height:1.7;font-variant-numeric:tabular-nums}.dates small{display:block;font-size:10px;color:var(--muted)}.meta-line{display:contents}.place{font-size:11px;color:var(--muted);line-height:1.6}.task-status,.prepcounter{display:block;font-size:10px;color:var(--muted);line-height:1.8}.task-status.current{color:var(--green)}.task-status.overdue{color:#a76c35}.chevron{font-size:16px;color:#98a39b;transition:transform .2s}.task[open] .chevron{transform:rotate(180deg)}.row-check{width:28px;height:28px;cursor:pointer;accent-color:var(--green);margin:0;justify-self:center;border-radius:5px}.task.completed{background:var(--done);border-color:#dde1e3;border-left-color:#a5ada9}.task.completed .task-title,.task.completed .dates,.task.completed .place,.task.completed .task-status,.task.completed .prepcounter{color:#7b8480}.task.completed .importance{background:#e1e4e5;color:#818885}.task.completed .task-detail{background:var(--done);border-color:#dde1e3}
.task-detail{padding:17px 19px;background:#fcfdfc;border-top:1px solid var(--line)}.full-name{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail-grid h4{font-size:12px;margin:0 0 10px;font-weight:600}.detail-grid p{font-size:12px;color:#68776e;line-height:1.9;margin:12px 0 0}.prep-list{display:flex;gap:8px;flex-wrap:wrap}.prep-tag{display:inline-flex;align-items:center;gap:7px;padding:9px 10px;border-radius:9px;border:1px solid transparent;font-size:11px;line-height:1.6;cursor:pointer}.prep-tag input{width:19px;height:19px;flex-shrink:0;margin:0;accent-color:var(--green)}.prep-tag.id{background:#e4f3e5;color:#3c6f47;border-color:#d3e9d4}.prep-tag.insurance{background:#e8f1fb;color:#466d91;border-color:#d8e7f4}.prep-tag.report{background:#f0ecfa;color:#71628b;border-color:#e4dff2}.prep-tag.supplies{background:#fff0e2;color:#976d48;border-color:#f4e0ce}.prep-tag.action{background:#eef2eb;color:#63745b;border-color:#e0e7da}.prep-tag:has(input:checked){opacity:.7}.prep-tag:has(input:checked) span{text-decoration:line-through}.after-list{list-style:none;padding:0;margin:0}.after-list li{font-size:12px;color:#68776e;line-height:1.9;margin:6px 0;padding-left:12px;position:relative}.after-list li:before{content:"";position:absolute;left:0;top:10px;width:3px;height:3px;border-radius:50%;background:#8fa697}.task-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.subtle{font-size:10px;color:var(--muted)}.outline-btn{background:var(--white);border:1px solid #d8e3db;color:var(--green);padding:8px 11px;font-size:11px;border-radius:8px;white-space:nowrap}
.current-column .task summary{grid-template-columns:18px minmax(0,1fr) 16px 36px;gap:5px 9px}.current-column .task summary>div{grid-column:2;grid-row:1}.current-column .num{grid-row:1;align-self:start;padding-top:3px}.current-column .dates{grid-column:2;grid-row:2}.current-column .dates small{display:inline;margin-left:9px}.current-column .meta-line{display:flex;grid-column:2;grid-row:3;justify-content:space-between;gap:9px;flex-wrap:wrap}.current-column .statusblock{display:flex;gap:9px}.current-column .chevron{grid-column:3;grid-row:1}.current-column .row-check{grid-column:4;grid-row:1/4}.current-column .detail-grid{grid-template-columns:1fr}.next-stages{display:grid;gap:12px}.next-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:17px}.next-card .label{color:var(--green);font-size:10px}.next-card h3{font-size:15px;font-weight:600;margin:8px 0 6px}.next-card .week{font-size:10px;line-height:1.7;color:var(--muted);margin:0 0 10px}.next-card ul{list-style:none;padding:0;margin:0}.next-card li{display:flex;gap:10px;justify-content:space-between;border-top:1px solid #f0f3f0;padding:8px 0;font-size:12px;line-height:1.7}.next-card li small{font-size:10px;color:var(--muted);text-align:right}.next-card button{font-size:11px;margin-top:7px}.notice{font-size:11px;color:#8b7962;line-height:1.8;margin:16px 0}.reminder-box{font-size:12px;background:#fff7e9;color:#8e6b36;border:1px solid #f0e5d0;border-radius:10px;padding:11px 14px;margin:12px 0}.reminder-box ul{list-style:none;margin:10px 0 0;padding:0}.reminder-box li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #efe3ce;padding:6px 0}.reminder-box small{font-size:10px;align-self:center}
.plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 18px}.plan-head h1{font-size:25px;font-weight:600;margin:0 0 7px}.plan-head p{font-size:11px;color:var(--muted);margin:0}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;background:var(--white);border:1px solid var(--line);border-radius:12px}.search,.filters select{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--white);color:var(--ink);font-size:12px}.search{flex:1;min-width:180px}.filters select{max-width:230px}.chip{padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;font-size:11px;white-space:nowrap}.chip.selected{background:var(--pale);color:var(--green);border-color:#bfd7c9}.legend{display:flex;flex-wrap:wrap;gap:9px 16px;font-size:10px;color:var(--muted);margin:16px 0}.legend b{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}.stage-note{color:var(--muted);font-size:11px}.stage-note:empty{display:none}.plan-group{margin:0 0 23px}.group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--pale);padding:11px 14px;border-radius:9px;margin:14px 0 9px;scroll-margin-top:20px}.group-heading h2{font-size:13px;font-weight:600;margin:0}.group-heading h2 span{font-size:11px;color:var(--muted);font-weight:400;margin-left:10px}.group-heading small{font-size:10px;color:var(--muted);white-space:nowrap}.empty,.loading{padding:36px 20px;text-align:center;font-size:13px;color:var(--muted);line-height:1.8}.empty{background:var(--pale);border-radius:12px}.offline-banner{background:#fff7e9;border:1px solid #eddfc5;color:#8d6b3a;border-radius:10px;padding:12px 14px;font-size:12px;margin-bottom:15px}
footer{font-size:10px;color:#89948d;line-height:1.9;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}footer p{margin:3px 0}footer details{margin-top:9px}footer summary{color:var(--muted);font-size:11px}footer ul{padding-left:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.settings-grid form{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.settings-grid input{padding:8px;border:1px solid var(--line);border-radius:7px;font-size:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);background:var(--green);color:#fff;padding:12px 18px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.task summary{grid-template-columns:18px minmax(0,1fr) 16px 36px;gap:5px 9px}.task summary>div{grid-column:2;grid-row:1}.task .num{grid-row:1;align-self:start;padding-top:3px}.task .dates{grid-column:2;grid-row:2}.task .dates small{display:inline;margin-left:8px}.task .meta-line{grid-column:2;grid-row:3;display:flex;gap:5px 12px;flex-wrap:wrap;justify-content:space-between}.task .statusblock{display:flex;gap:9px}.task .chevron{grid-column:3;grid-row:1}.task .row-check{grid-column:4;grid-row:1/4}.overview-columns{grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr)}.detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.overview-columns{grid-template-columns:1fr}.upcoming-column .section-heading{margin-top:8px}.next-stages{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1.2fr 1fr}.settings-grid{grid-template-columns:1fr}.topbar{padding:18px 20px 12px}.shell{padding:0 20px 28px}.filters select{max-width:none}}
@media(max-width:480px){.brand{font-size:16px;gap:7px}.brand-symbol{width:28px;height:28px}.brand small{font-size:10px;margin-left:6px}.header-right{gap:5px}.sync{font-size:10px}.icon-btn{width:30px;height:30px}.tabs button{padding:10px;font-size:12px}.hero{padding:18px;gap:14px;border-radius:12px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.age{gap:6px;white-space:nowrap}.age strong{font-size:29px}.age h1{font-size:14px}.hero .sub{font-size:11px;line-height:1.7}.due{font-size:17px;white-space:nowrap;margin:7px 0 12px}.eyebrow{font-size:9px;letter-spacing:.5px}.hero-side>small{font-size:9px}.destinations{gap:6px;margin:12px 0 15px}.destination{font-size:10px;gap:5px}.destination+.destination{padding-left:0;border:0}.section-heading h2{font-size:17px}.section-heading p{font-size:10px;line-height:1.7}.task summary,.current-column .task summary{padding:12px 10px;grid-template-columns:16px minmax(0,1fr) 12px 32px;gap:4px 6px}.task-title{font-size:13px}.task-micro{gap:5px}.importance{font-size:8px}.participant{font-size:9px}.dates{font-size:10px;line-height:1.8}.dates small,.current-column .dates small{font-size:9px;display:block;margin-left:0}.task .meta-line{font-size:10px;gap:4px 8px}.place{font-size:10px}.prepcounter,.task-status{font-size:9px}.row-check{width:26px;height:26px}.task-detail{padding:15px 14px}.prep-tag{font-size:11px;padding:9px 8px}.next-stages{grid-template-columns:1fr}.next-card{padding:16px}.next-card h3{font-size:14px}.next-card li{font-size:12px}.plan-head h1{font-size:22px}.filters{padding:10px}.search{min-width:0;flex-basis:100%}.filters select{flex-basis:100%;width:100%}.chip{flex:1;padding:10px 7px}.group-heading h2 span{display:block;margin:4px 0 0}.group-heading h2{font-size:12px}.reminder-box li{display:block}.reminder-box small{display:block}.subtle{font-size:9px}.task-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.topbar,.tabs,.filters,footer,.task-actions,.no-print{display:none}.shell{max-width:none;padding:0}.task{break-inside:avoid}.task-detail,.task:not([open])>div{display:block!important}.task summary{grid-template-columns:20px 1fr 160px 135px 100px 16px 28px}.plan-group{break-inside:auto}.overview-columns{display:block}.next-stages{grid-template-columns:1fr 1fr}}
