:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--canvas: #efedf2;--surface: #ffffff;--surface-soft: #f8f6fa;--ink: #31313b;--muted: #75717d;--line: #e0dbe4;--line-strong: #c9c2cf;--forest: #4b4658;--primary: #6d83a1;--primary-soft: #e7edf5;--coral: #dd806f;--coral-soft: #f9e8e4;--gold: #bd914d;--gold-soft: #f7eedc;--blue: #6e8db3;--blue-soft: #e7edf6;--rose: #bf7087;--rose-soft: #f7e7ed;--aqua: #5f8c8c;--aqua-soft: #e3eeee;--lavender: #8175a3;--lavender-soft: #ece8f3;--stage-prenatal: #d97d6d;--stage-newborn: #be7894;--stage-one-three: #688eae;--stage-three-six: #8175a3;--stage-later: #8a8494;--stage-prenatal-soft: #fff7f4;--stage-newborn-soft: #fff7fa;--stage-one-three-soft: #f5f9fc;--stage-three-six-soft: #f8f6fc;--stage-later-soft: #f7f6f8;--status-want: #c46f83;--status-compare: #b98b3e;--status-ordered: #6687b2;--status-arrived: #5f8c8c;--shadow: 0 16px 40px rgba(67, 62, 78, .11)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas);color:var(--ink)}button,input,select,textarea{font:inherit;letter-spacing:0;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}h1,h2,p{margin:0}a{color:inherit;text-decoration:none}.app-shell{width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:24px 24px 118px}.startup-shell,.login-shell{min-height:100vh;min-height:100dvh}.startup-shell{display:grid;width:min(520px,100%);margin:0 auto;align-content:center;gap:20px;padding:28px}.startup-brand{display:flex;align-items:center;gap:14px}.startup-brand>span,.brand-mark{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--forest);color:#fff;box-shadow:0 12px 28px #433e4e2e}.startup-brand svg,.brand-mark svg{width:27px;height:27px}.startup-brand>.startup-app-icon{background:transparent;box-shadow:none}.startup-app-icon img{width:56px;height:56px;border-radius:14px;box-shadow:0 12px 28px #496f8c29}.startup-brand strong{display:block;font-size:22px;line-height:1.2}.startup-brand p{margin-top:5px;color:var(--muted);font-size:14px}.startup-progress{overflow:hidden;height:3px;background:#ddd9e3}.startup-progress span{display:block;width:38%;height:100%;background:var(--coral);animation:startup-progress 1.1s ease-in-out infinite alternate}.startup-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.startup-skeleton i{height:76px;border:1px solid rgba(215,221,217,.9);border-radius:8px;background:#ffffff94}@keyframes startup-progress{to{transform:translate(165%)}}.login-shell{display:grid;place-items:center;padding:24px;background:var(--canvas)}.login-panel{width:min(430px,100%);padding:30px;border:1px solid var(--line);border-top:4px solid var(--coral);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.login-panel h1{margin-top:20px;font-size:28px;line-height:1.15}.login-panel>p{margin-top:7px;color:var(--muted);font-size:14px}.login-form{display:grid;gap:14px;margin-top:24px}.login-form label,.field{display:grid;min-width:0;gap:7px;color:#5f5a68;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:16px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input,select{height:46px;padding:0 13px}textarea{min-height:92px;resize:vertical;padding:12px 13px;line-height:1.5}input::placeholder,textarea::placeholder{color:#aaa3af}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3d705c24}.primary-button,.secondary-button,.icon-button,.status-chip,.floating-add{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-weight:750}.primary-button{border:1px solid var(--forest);padding:0 18px;background:var(--forest);color:#fff;box-shadow:0 10px 22px #4b46582e}.primary-button:hover{background:#3e394b}.secondary-button{border:1px solid var(--line-strong);padding:0 16px;background:var(--surface);color:var(--ink)}.secondary-button:hover,.icon-button:hover,.status-chip:hover{border-color:var(--line-strong);background:var(--surface-soft)}.icon-button{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);color:#5f5b68}.icon-button.compact{width:36px;height:36px;min-height:36px}.icon-button.subtle{margin-left:auto;border-color:transparent;background:transparent;color:#938e99}.icon-button.subtle:hover{color:var(--rose)}.primary-button svg,.secondary-button svg,.icon-button svg,.status-chip svg,.floating-add svg{width:19px;height:19px;flex:0 0 auto}.form-error{margin-top:12px;color:var(--rose);font-size:14px}.topbar{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.eyebrow{color:var(--coral);font-size:12px;font-weight:800;text-transform:uppercase}.topbar h1{margin-top:3px;font-size:30px;line-height:1.08}.topbar-actions{display:flex;align-items:center;gap:8px}.sync-cluster{display:grid;justify-items:end;gap:3px}.sync-cluster small{color:var(--muted);font-size:10px;font-weight:650}.mode-pill,.hero-badge,.channel-tag{display:inline-flex;align-items:center;gap:7px;border-radius:999px;white-space:nowrap}.mode-pill{height:36px;padding:0 12px;border:1px solid #cbd6e2;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:750}.mode-pill.local{border-color:#e0cba6;background:var(--gold-soft);color:#8b6729}.mode-pill.development{border-color:#c7d4df;background:var(--blue-soft);color:var(--blue)}.mode-pill.offline{border-color:#dfc39c;background:var(--gold-soft);color:#845e24}.mode-pill svg,.hero-badge svg,.channel-tag svg{width:16px;height:16px}.hero-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:24px;margin-bottom:14px;padding:24px;border-radius:8px;background:var(--forest);color:#fff}.hero-copy{display:grid;min-width:0;align-content:center;gap:12px}.hero-badge{width:fit-content;padding:6px 9px;background:#ffffff1a;color:#f0edf4;font-size:12px;font-weight:750}.hero-copy h2{overflow-wrap:anywhere;font-size:27px;line-height:1.18}.hero-copy p{color:#d2cdd8;font-size:14px;font-weight:600}.progress-track{overflow:hidden;width:min(520px,100%);height:7px;border-radius:999px;background:#ffffff21}.progress-track span{display:block;min-width:7px;max-width:100%;height:100%;border-radius:inherit;background:var(--coral)}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.hero-metrics>div{display:grid;min-width:0;align-content:center;gap:8px;padding:10px 18px;border-left:1px solid rgba(255,255,255,.14)}.hero-metrics svg{width:18px;height:18px;color:#e5b15a}.hero-metrics span{color:#c9c3d1;font-size:12px;font-weight:700}.hero-metrics strong{overflow-wrap:anywhere;font-size:25px;line-height:1}.notice{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 12px;border:1px solid #e4b9b5;border-radius:8px;background:#fbefed;color:#8d413e;font-size:14px}.notice svg{width:19px;height:19px}.notice button{display:grid;width:30px;height:30px;margin-left:auto;place-items:center;border:0;background:transparent;color:inherit}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.summary-tile{display:flex;min-height:90px;min-width:0;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.summary-tile>span{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:8px}.summary-tile svg{width:20px;height:20px}.summary-tile p{color:var(--muted);font-size:12px;font-weight:700}.summary-tile strong{display:block;margin-top:5px;overflow-wrap:anywhere;font-size:20px;line-height:1.12}.summary-tile.rose>span{background:var(--rose-soft);color:var(--status-want)}.summary-tile.rose{border-color:#ead2da;background:#fbf3f6}.summary-tile.blue>span{background:var(--blue-soft);color:var(--blue)}.summary-tile.blue{border-color:#cfdae7;background:#f1f5fa}.summary-tile.aqua>span{background:var(--aqua-soft);color:var(--status-arrived)}.summary-tile.aqua{border-color:#cedede;background:#f0f6f5}.summary-tile.amber>span{background:var(--gold-soft);color:var(--gold)}.summary-tile.amber{border-color:#e5d8bd;background:#faf6ed}.summary-tile.rose strong{color:var(--status-want)}.summary-tile.blue strong{color:var(--status-ordered)}.summary-tile.aqua strong{color:var(--status-arrived)}.summary-tile.amber strong{color:#9a7133}.toolbar,.filters{display:flex;align-items:center;gap:9px;margin-bottom:10px}.toolbar-search-row{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:8px}.list-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.filter-toggle{position:relative;display:none;flex:0 0 auto}.filter-toggle.has-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.filter-count{position:absolute;top:-5px;right:-5px;display:grid;width:19px;height:19px;place-items:center;border:2px solid var(--canvas);border-radius:50%;background:var(--coral);color:#fff;font-size:10px;line-height:1}.clear-filter-button{height:42px;min-height:42px;flex:0 0 auto;padding:0 12px}.list-meta{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:10px;margin-top:3px;color:var(--muted);font-size:12px;font-weight:650}.saving-label{display:inline-flex;align-items:center;gap:5px;color:var(--primary)}.saving-label svg{width:14px;height:14px}.search-box{display:flex;flex:1 1 auto;min-width:0;height:46px;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:#fbfafc;color:#7a8580}.search-box svg,.filters svg{width:18px;height:18px;flex:0 0 auto}.search-box input{height:44px;min-width:0;padding:0;border:0;background:transparent}.search-box input:focus{box-shadow:none}.select-filter{position:relative;display:flex;min-width:150px;height:42px;align-items:center;gap:8px;padding-left:11px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8;color:#65606d}.select-filter select{height:40px;padding:0 32px 0 0;border:0;background:transparent;font-size:14px;appearance:none}.select-filter select:focus{box-shadow:none}.select-filter>svg:last-child{position:absolute;right:9px;pointer-events:none}.item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.item-card{position:relative;display:grid;min-width:0;gap:11px;overflow:hidden;padding:15px 15px 13px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.item-card.is-pending:after{position:absolute;top:0;left:4px;width:32%;height:3px;background:var(--coral);content:"";animation:pending-slide .9s ease-in-out infinite alternate}@keyframes pending-slide{to{transform:translate(200%)}}.item-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--line-strong);content:""}.item-card:hover{border-color:var(--line-strong);box-shadow:0 10px 26px #433e4e17;transform:translateY(-1px)}.item-card[data-stage=产前必备]:before{background:var(--stage-prenatal)}.item-card[data-stage=产前必备]{border-color:#ead7d2;background:var(--stage-prenatal-soft)}.item-card[data-stage=出生后0-1月]:before{background:var(--stage-newborn)}.item-card[data-stage=出生后0-1月]{border-color:#e7d5dc;background:var(--stage-newborn-soft)}.item-card[data-stage="1-3月"]:before{background:var(--stage-one-three)}.item-card[data-stage="1-3月"]{border-color:#d2dfe8;background:var(--stage-one-three-soft)}.item-card[data-stage="3-6月"]:before{background:var(--stage-three-six)}.item-card[data-stage="3-6月"]{border-color:#ddd7e7;background:var(--stage-three-six-soft)}.item-card[data-stage=以后再说]:before{background:var(--stage-later)}.item-card[data-stage=以后再说]{border-color:#ddd9e0;background:var(--stage-later-soft)}.item-main{display:flex;width:100%;min-height:56px;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px;border:0;padding:0;background:transparent;color:inherit;text-align:left}.item-main:disabled{cursor:default;opacity:1}.item-main>div:first-child{min-width:0}.item-title-row{display:flex;min-width:0;align-items:center;gap:6px}.item-title-row h2{min-width:0;overflow-wrap:anywhere;font-size:17px;line-height:1.3}.item-title-row svg{width:17px;height:17px;flex:0 0 auto}.item-meta,.item-note,.money-stack span{color:var(--muted);font-size:12px}.item-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:6px;line-height:1.45}.stage-tag{display:inline-flex;min-height:22px;align-items:center;border:1px solid transparent;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:750;line-height:1}.stage-tag[data-stage=产前必备]{border-color:#edc5bd;background:#fbede9;color:#a95849}.stage-tag[data-stage=出生后0-1月]{border-color:#e7c3d1;background:#f9ebf0;color:#96536f}.stage-tag[data-stage="1-3月"]{border-color:#c6d8e6;background:#eaf2f7;color:#4f7593}.stage-tag[data-stage="3-6月"]{border-color:#d2cae3;background:var(--lavender-soft);color:#66598b}.stage-tag[data-stage=以后再说]{border-color:#d9d4dd;background:#f1eff3;color:#6f6977}.money-stack{min-width:82px;text-align:right}.money-stack strong{display:block;overflow-wrap:anywhere;color:var(--forest);font-size:18px}.gift-icon{color:var(--gold)}.risk-icon{color:var(--rose)}.safe-icon{color:var(--status-arrived)}.item-note{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.55}.candidate-summary{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;border:1px solid #d9dce8;border-radius:8px;background:#f0f1f7}.candidate-summary>svg{width:20px;height:20px;color:var(--primary)}.candidate-summary>div:nth-child(2){display:grid;min-width:0;gap:3px}.candidate-summary strong,.candidate-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-summary strong{font-size:13px}.candidate-summary span{color:var(--muted);font-size:12px}.candidate-summary b{color:var(--forest);font-size:14px}.candidate-summary-actions{display:flex;gap:5px}.purchase-summary{display:grid;gap:9px;padding:10px;border:1px solid #d7dfeb;border-radius:8px;border-color:#d3e0e2;background:#eef4f5}.purchase-summary-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.purchase-summary-head>svg{width:20px;height:20px;color:var(--status-ordered)}.purchase-summary-head>div{display:grid;min-width:0;gap:2px}.purchase-summary-head strong,.purchase-summary-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-summary-head strong{font-size:13px}.purchase-summary-head span,.purchase-summary-row>span,.purchase-more{color:var(--muted);font-size:11px}.purchase-summary-head>b{color:var(--forest);font-size:14px}.purchase-summary-list{display:grid;gap:6px;padding-top:8px;border-top:1px solid #e1e5ed}.purchase-summary-row{display:grid;grid-template-columns:auto auto auto minmax(48px,1fr) auto;min-width:0;align-items:center;gap:7px}.purchase-summary-row>b{justify-self:end;color:var(--ink);font-size:12px}.purchase-summary-row .channel-tag{height:26px;padding:0 8px}.purchase-status{border-radius:999px;padding:3px 7px;background:var(--blue-soft);color:var(--status-ordered)!important;font-weight:700}.purchase-summary-row.status-已到货 .purchase-status{background:var(--aqua-soft);color:var(--status-arrived)!important}.purchase-summary-row.status-已退货{opacity:.62}.purchase-summary-row.status-已退货 .purchase-status{background:#eeebef;color:#746e79!important}.purchase-more{padding-left:2px}.purchase-row{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:8px}.purchase-actions{display:flex;align-items:center;gap:6px}.channel-tag{min-width:0;height:30px;padding:0 10px;border:1px solid #d4dcd7;background:var(--surface-soft);color:#625d68;font-size:12px;font-weight:750}.channel-tag[data-channel=淘宝]{border-color:#e8c3b7;background:#fbede8;color:#a8573f}.channel-tag[data-channel=京东]{border-color:#e4bcbc;background:#faeaea;color:#a94c4a}.channel-tag[data-channel=拼多多]{border-color:#e8c2bb;background:#fbede9;color:#b15947}.channel-tag[data-channel=闲鱼]{border-color:#decda7;background:#faf3df;color:#886b2d}.status-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 38px;align-items:center;gap:5px;padding-top:10px;border-top:1px solid #ebe7ed}.status-chip{min-height:34px;border:1px solid var(--line);border-radius:999px;min-width:0;padding:0 5px;background:var(--surface);color:#716c78;font-size:12px}.status-row .icon-button{width:38px;height:36px;min-height:36px;margin:0}.status-chip.active[data-status=想买]{border-color:var(--status-want);background:var(--status-want);color:#fff}.status-chip.active[data-status=比价中]{border-color:var(--status-compare);background:var(--status-compare);color:#fff}.status-chip.active[data-status=已下单]{border-color:var(--status-ordered);background:var(--status-ordered);color:#fff}.status-chip.active[data-status=已到货]{border-color:var(--status-arrived);background:var(--status-arrived);color:#fff}.empty-state{display:grid;min-height:300px;place-items:center;gap:12px;margin-top:14px;border:1px dashed var(--line-strong);border-radius:8px;background:#ffffff85;text-align:center}.no-results{display:grid;min-height:250px;place-items:center;align-content:center;gap:10px;margin-top:12px;border:1px dashed var(--line-strong);border-radius:8px;background:#ffffff70;text-align:center}.no-results>svg{width:32px;height:32px;color:var(--primary)}.no-results h2{font-size:17px}.no-results p{color:var(--muted);font-size:13px}.empty-state>svg{width:36px;height:36px;color:var(--primary)}.floating-add{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:10;width:56px;height:56px;border:1px solid var(--coral);border-radius:50%;background:var(--coral);color:#fff;box-shadow:0 14px 30px #dd806f47}.toast{position:fixed;bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px));left:50%;z-index:30;display:flex;width:max-content;max-width:calc(100vw - 32px);min-height:44px;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:var(--forest);color:#fff;box-shadow:var(--shadow);font-size:13px;font-weight:700;transform:translate(-50%)}.toast svg{width:18px;height:18px}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;align-items:end;padding-top:max(16px,env(safe-area-inset-top));background:#2d2a348f}.editor{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(92dvh,880px);margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:8px 8px 0 0;background:var(--surface);box-shadow:0 -22px 50px #2d2a3433}.editor header,.editor footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-header,.editor-footer{position:relative;z-index:1;background:var(--surface)}.editor-header{min-height:66px;padding:11px 18px;border-bottom:1px solid var(--line)}.editor-header:before{position:absolute;bottom:-1px;left:18px;width:48px;height:3px;background:var(--coral);content:""}.editor h2{font-size:19px}.editor-body{display:grid;gap:13px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px;background:var(--surface-soft);-webkit-overflow-scrolling:touch}.editor-footer{min-height:68px;padding:11px 18px max(11px,env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -8px 22px #433e4e0f}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.field.wide{grid-column:1 / -1}.quantity-stepper{display:grid;height:46px;grid-template-columns:42px minmax(42px,1fr) 42px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.quantity-stepper button{display:grid;place-items:center;border:0;background:var(--surface-soft);color:var(--primary)}.quantity-stepper button:first-child{border-right:1px solid var(--line)}.quantity-stepper button:last-child{border-left:1px solid var(--line)}.quantity-stepper button:active{background:var(--primary-soft)}.quantity-stepper svg{width:18px;height:18px}.quantity-stepper output{display:grid;min-width:0;place-items:center;color:var(--ink);font-size:16px;font-weight:800}.toggle-line{display:flex;min-height:44px;align-items:center;gap:10px;padding:0 2px;color:#5a5562;font-size:14px;font-weight:700}.toggle-line input{width:20px;height:20px;accent-color:var(--primary)}.link-control{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}.link-control .icon-button{height:46px}.candidate-editor{display:grid;gap:11px;padding-top:14px;border-top:1px solid var(--line)}.purchase-source-hint{padding:9px 11px;border-left:3px solid var(--status-ordered);background:var(--blue-soft);color:#536987;font-size:12px;line-height:1.45}.purchase-batch-editor{display:grid;gap:11px;padding-top:14px;border-top:1px solid var(--line)}.purchase-batch-editor>header,.purchase-batch>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.purchase-batch-editor h3{margin:0;font-size:16px}.purchase-batch-editor>header p{margin-top:4px;color:var(--muted);font-size:12px}.purchase-add{min-height:40px}.purchase-empty{display:flex;min-height:64px;align-items:center;justify-content:center;gap:8px;border:1px dashed #b9c8da;border-radius:8px;background:#eff4fab8;color:var(--status-ordered);font-weight:750}.purchase-empty svg{width:20px;height:20px}.purchase-batch-list{display:grid;gap:10px}.purchase-batch{display:grid;gap:11px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--status-ordered);border-radius:8px;background:var(--surface)}.purchase-batch.status-已到货{border-left-color:var(--status-arrived)}.purchase-batch.status-已退货{border-left-color:var(--line-strong);background:#f5f3f6;opacity:.78}.purchase-batch>header>div{display:grid;min-width:0;gap:2px}.purchase-batch>header span{color:var(--status-ordered);font-size:11px;font-weight:800}.purchase-batch>header strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.purchase-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.compact-stepper{grid-template-columns:38px minmax(36px,1fr) 38px}.candidate-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.candidate-editor h3{margin:0;font-size:16px}.candidate-editor>header p{margin-top:4px;color:var(--muted);font-size:12px}.candidate-add{min-height:40px}.candidate-empty{display:flex;min-height:64px;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--line-strong);border-radius:8px;background:#ffffff8a;color:var(--primary);font-weight:750}.candidate-empty svg{width:20px;height:20px}.candidate-list{display:grid;gap:10px}.candidate-item{display:grid;gap:11px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;background:var(--surface)}.candidate-item.decision-首选{border-left-color:var(--coral);box-shadow:0 8px 20px #dd806f17}.candidate-item.decision-排除{border-left-color:var(--line-strong);background:#f5f3f6;opacity:.78}.candidate-item>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.candidate-item>header>div{display:grid;min-width:0;gap:2px}.candidate-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}.candidate-use{min-height:36px;padding:0 10px;color:var(--primary);font-size:12px}.candidate-use svg{width:16px;height:16px}.candidate-item>header span{color:var(--coral);font-size:11px;font-weight:800}.candidate-item>header strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.candidate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.candidate-decision{display:grid;height:40px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.candidate-decision button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;font-weight:750}.candidate-decision button:last-child{border-right:0}.candidate-decision button.active{background:var(--forest);color:#fff}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.app-shell{padding:16px 16px 98px}.hero-panel{grid-template-columns:1fr;gap:18px}.hero-metrics>div:first-child{padding-left:0;border-left:0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-list{grid-template-columns:1fr}.toolbar,.filters{flex-wrap:wrap}.toolbar-search-row{flex-basis:100%}.select-filter{flex:1 1 140px}}@media (max-width: 560px){input,select,textarea{min-height:44px;font-size:16px!important}.app-shell{padding:12px 12px 92px}.login-panel{padding:24px}.topbar{min-height:52px;align-items:flex-start;margin-bottom:11px}.topbar h1{font-size:27px}.topbar-actions{flex-direction:row;align-items:flex-end}.mode-pill{height:31px;padding:0 9px}.hero-panel{gap:11px;margin-bottom:9px;padding:14px 15px}.hero-copy{gap:8px}.hero-badge{padding:4px 7px;font-size:11px}.hero-copy h2{font-size:20px}.hero-copy p{font-size:12px}.progress-track{height:5px}.hero-metrics{padding-top:1px}.hero-metrics>div{display:flex;align-items:baseline;justify-content:center;gap:5px;padding:2px 10px}.hero-metrics svg{display:none}.hero-metrics span{font-size:10px}.hero-metrics strong{font-size:17px}.summary-grid{grid-template-columns:.76fr .76fr .76fr 1.5fr;gap:0;overflow:hidden;margin-bottom:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.summary-tile{display:block;min-height:61px;padding:10px 8px;border:0;border-right:1px solid var(--line);border-radius:0}.summary-tile:last-child{border-right:0}.summary-tile>span{display:none}.summary-tile p{font-size:10px}.summary-tile strong{margin-top:3px;font-size:16px}.summary-tile.amber strong{font-size:14px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-bottom:8px}.toolbar-search-row,.list-actions{width:100%}.filter-toggle{display:inline-flex;width:46px;height:46px;min-height:46px}.list-actions .secondary-button{flex:1 1 auto}.filters{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.filters.is-open{display:grid}.select-filter{width:100%;min-width:0}.filters .select-filter:nth-child(3){grid-column:1 / -1}.filters.has-active .select-filter:nth-child(3){grid-column:1}.filters .clear-filter-button{grid-column:2;grid-row:2;width:100%}.list-meta{min-height:24px}.item-list{gap:8px;margin-top:8px}.item-card{gap:9px;padding:14px 12px 12px 16px}.item-main{gap:9px}.candidate-summary{grid-template-columns:auto minmax(0,1fr) auto}.candidate-summary-actions{grid-column:2 / -1;justify-content:flex-end}.money-stack{min-width:70px}.status-chip{font-size:11px}.modal-backdrop{padding-top:max(8px,env(safe-area-inset-top))}.editor{width:100%;height:100%;max-height:none}.editor-header{min-height:58px;padding:8px 13px}.editor-header:before{left:13px}.editor-header .icon-button{width:40px;height:40px;min-height:40px}.editor-body{gap:11px;padding:12px 13px}.editor-body .field{gap:5px}.field-grid{gap:9px}.candidate-item{padding:10px}.quantity-stepper{grid-template-columns:38px minmax(36px,1fr) 38px}.editor-footer{min-height:64px;padding:8px 13px max(8px,env(safe-area-inset-bottom))}.editor-footer button{flex:1 1 0}}.overview-view{display:grid;gap:12px}.planning-dashboard{display:grid;gap:10px;margin-bottom:2px}.planning-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;padding:22px;border-radius:8px;background:var(--forest);color:#fff}.planning-hero-main{display:grid;align-content:center;gap:8px}.planning-badge,.alert-count,.deadline-tag{display:inline-flex;width:fit-content;align-items:center;gap:5px;border-radius:999px;font-weight:750}.planning-badge{padding:5px 8px;background:#ffffff1c;color:#f3eff5;font-size:11px}.planning-badge svg,.planning-date svg,.alert-count svg{width:15px;height:15px}.planning-hero h2{font-size:28px;line-height:1.1}.planning-hero-main>p{color:#d9d4de;font-size:13px;font-weight:650}.pregnancy-track{overflow:hidden;border-radius:999px}.pregnancy-track{width:min(480px,100%);height:6px;margin-top:3px;background:#ffffff24}.pregnancy-track span{display:block;height:100%;border-radius:inherit;background:var(--coral)}.planning-date{display:grid;min-width:186px;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 9px;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:12px 13px;background:#ffffff14;color:#fff;text-align:left}.planning-date>span{color:#d3ced8;font-size:11px;font-weight:700}.planning-date>strong{grid-column:1 / -1;font-size:17px}.planning-date>svg:last-child{grid-column:3;grid-row:1;color:#c4bdc9}.planning-metrics{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.13);padding-top:13px}.planning-metrics>div{display:flex;align-items:baseline;justify-content:center;gap:7px;border-right:1px solid rgba(255,255,255,.13)}.planning-metrics>div:last-child{border-right:0}.planning-metrics span{color:#cfc9d4;font-size:11px;font-weight:700}.planning-metrics strong{font-size:20px}.planning-panels{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:10px}.deadline-panel,.stage-panel{min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px}.deadline-panel{background:#fff8f6}.stage-panel{background:#f2f5f9}.deadline-panel>header,.stage-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.section-kicker{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:750}.deadline-panel h3,.stage-panel h3{margin:0;font-size:16px}.alert-count{padding:4px 7px;background:#f8e4e6;color:#a64f61;font-size:11px}.deadline-list,.stage-progress-list{display:grid}.deadline-list>button{display:grid;width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;border:0;border-top:1px solid rgba(203,184,183,.34);padding:10px 0;background:transparent;color:inherit;text-align:left}.deadline-list>button>svg{width:16px;height:16px;color:#aaa2ac}.deadline-dot{width:7px;height:7px;border-radius:50%;background:var(--primary)}.deadline-dot.tone-overdue,.deadline-dot.tone-urgent{background:var(--rose)}.deadline-dot.tone-soon{background:var(--gold)}.deadline-copy{display:grid;min-width:0;gap:2px}.deadline-copy strong,.deadline-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deadline-copy strong{font-size:13px}.deadline-copy small{color:var(--muted);font-size:10px}.deadline-label{font-size:11px;font-weight:800}.deadline-label.tone-overdue,.deadline-label.tone-urgent{color:#a64f61}.deadline-label.tone-soon{color:#9b712b}.deadline-label.tone-scheduled{color:var(--primary)}.planning-empty{display:flex;min-height:80px;align-items:center;justify-content:center;gap:8px;color:var(--status-arrived);font-size:13px;font-weight:700}.planning-empty svg{width:18px;height:18px}.stage-progress-row{display:grid;gap:7px;border-top:1px solid rgba(178,189,203,.34);padding:10px 0}.stage-progress-row>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.stage-progress-row strong{font-size:12px}.stage-progress-row span{color:var(--muted);font-size:10px}.stage-progress-track{height:4px;background:#dce4ed}.stage-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.stage-progress-row[data-stage=产前必备] .stage-progress-track span{background:var(--stage-prenatal)}.stage-progress-row[data-stage=出生后0-1月] .stage-progress-track span{background:var(--stage-newborn)}.stage-progress-row[data-stage="1-3月"] .stage-progress-track span{background:var(--stage-one-three)}.stage-progress-row[data-stage="3-6月"] .stage-progress-track span{background:var(--stage-three-six)}.stage-progress-row[data-stage=以后再说] .stage-progress-track span{background:var(--stage-later)}.item-tags,.item-facts,.item-timing{display:flex;min-width:0;flex-wrap:wrap;align-items:center}.item-tags{gap:5px;margin-top:7px}.item-facts{gap:0;margin-top:6px;color:#68636f;font-size:11px;font-weight:650}.item-facts span+span:before{margin:0 7px;color:#b5afb9;content:"·"}.deadline-tag{min-height:22px;border:1px solid transparent;padding:2px 8px;font-size:10px;line-height:1}.deadline-tag.tone-overdue,.deadline-tag.tone-urgent{border-color:#e8bdc5;background:#f9e8eb;color:#a54f61}.deadline-tag.tone-soon{border-color:#e7d5b4;background:#faf2df;color:#956b27}.deadline-tag.tone-scheduled,.deadline-tag.tone-none{border-color:#ccd8e5;background:#edf2f7;color:#587796}.item-note{padding:9px 10px;border-radius:6px;background:#ffffff94;color:#625d68;-webkit-line-clamp:3}.item-timing{justify-content:space-between;gap:6px 12px;color:var(--muted);font-size:10px}.purchase-summary-row{grid-template-columns:auto auto auto minmax(54px,1fr) auto auto}.purchase-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.startup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.startup-steps span{display:flex;min-height:54px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:#ffffff80;color:var(--muted);font-size:11px;font-weight:700}.startup-steps svg{width:17px;height:17px;color:var(--primary)}.settings-editor{width:min(420px,calc(100% - 24px));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.settings-editor>header,.settings-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.settings-editor>header{border-bottom:1px solid var(--line)}.settings-editor>header>div{display:flex;align-items:center;gap:9px}.settings-editor h2{font-size:18px}.settings-editor>header svg{width:20px;height:20px;color:var(--primary)}.settings-body{display:grid;width:100%;min-width:0;gap:20px;padding:20px 16px 24px}.settings-body .field,.settings-body input[type=date]{width:100%;min-width:0;max-width:100%}.field small{color:var(--muted);font-size:11px;font-weight:550;line-height:1.5}.field input:disabled{background:#f0eef2;color:#575260;opacity:1;-webkit-text-fill-color:#575260}.backup-setting{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.backup-setting strong{font-size:14px}.backup-setting p{max-width:38ch;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.6}.backup-setting .secondary-button{width:100%}.settings-editor>footer{border-top:1px solid var(--line)}.mobile-tab-bar{display:none}@media (max-width: 720px){.app-shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.floating-add{bottom:calc(74px + env(safe-area-inset-bottom))}.planning-hero{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px}.planning-hero h2{font-size:22px}.planning-date{min-width:132px;padding:10px}.planning-date>strong{font-size:14px}.planning-metrics{gap:0;padding-top:10px}.planning-metrics>div{display:grid;justify-items:center;gap:3px}.planning-metrics strong{font-size:17px}.planning-panels{grid-template-columns:1fr}.deadline-panel,.stage-panel{padding:13px}.app-shell[data-mobile-view=overview] .list-view,.app-shell[data-mobile-view=list] .overview-view,.app-shell[data-mobile-view=overview] .floating-add{display:none}.mobile-tab-bar{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px max(18px,env(safe-area-inset-left)) max(7px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));border-top:1px solid rgba(201,194,207,.86);background:#faf8fbf5;backdrop-filter:blur(14px)}.mobile-tab-bar button{display:grid;min-height:49px;place-items:center;gap:2px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:750}.mobile-tab-bar button.active{color:var(--forest)}.mobile-tab-bar svg{width:21px;height:21px}.mobile-tab-bar button.active svg{color:var(--coral)}.filters .select-filter:nth-child(3),.filters.has-active .select-filter:nth-child(3),.filters .select-filter:nth-child(4){grid-column:auto}.filters .clear-filter-button{grid-column:1 / -1;grid-row:auto}.purchase-summary-row{grid-template-columns:auto auto auto minmax(46px,1fr) auto}.purchase-date{display:none}}@media (max-width: 390px){.planning-hero{grid-template-columns:1fr}.planning-date{width:100%;grid-template-columns:auto 1fr auto}.planning-date>strong{grid-column:2;grid-row:1;text-align:right}.deadline-list>button{grid-template-columns:auto minmax(0,1fr) auto}.deadline-list>button>svg{display:none}}
