:root{color:#10231c;background:#f6f7f5;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #10231c;--muted: #64736d;--line: #dfe7e2;--soft: #f1f5f2;--panel: #ffffff;--green: #0f7f61;--green-dark: #095b45;--amber: #a46616;--amber-soft: #fff7e6;--blue: #2666a3;--shadow: 0 14px 36px rgba(16, 35, 28, .08);--shadow-soft: 0 8px 22px rgba(16, 35, 28, .05)}*{box-sizing:border-box}body{margin:0;min-width:1024px;background:#f6f7f5}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side-nav{border-right:1px solid var(--line);background:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-size:22px;letter-spacing:0}.brand-lockup small,.side-summary small,.product-info p,.share-day small,.resource-list small,.itinerary-tab small{color:var(--muted)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;color:var(--green);background:#dff4eb}.nav-stack{display:grid;gap:8px}.nav-stack button,.itinerary-tab,.resource-list button,.search-results button{border:1px solid transparent;background:transparent;color:var(--ink);text-align:left}.nav-stack button{height:48px;border-radius:8px;padding:0 14px;display:flex;align-items:center;gap:10px;font-weight:700}.nav-stack button.active,.nav-stack button:hover{color:var(--green-dark);background:#e7f5ef;border-color:#c8e7db}.side-summary{margin-top:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8fbf9}.side-summary span,.eyebrow{color:var(--green);font-weight:800;font-size:13px}.side-summary strong{display:block;font-size:30px;margin:4px 0}.workspace{min-width:0;padding:28px 32px 42px;max-width:1480px}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px}.workspace-header h1,.list-toolbar h2,.section-head h2,.planner-title input,.modal-header h2{margin:0;color:var(--ink)}.workspace-header h1{font-size:30px;line-height:1.15}.workspace-header p{margin:6px 0 0;color:var(--muted)}.header-actions,.row-actions,.preview-actions{display:flex;gap:10px}.header-actions{align-items:center}.primary,.ghost,.danger-ghost,.icon-button,.text-link{min-height:40px;border-radius:8px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-weight:800;text-decoration:none;white-space:nowrap}.primary{color:#fff;background:var(--green);border-color:var(--green)}.primary:hover{background:var(--green-dark)}.ghost,.text-link{color:var(--green-dark);background:#fff}.ghost:hover,.text-link:hover,.toolbar-controls button:hover,.section-head button:hover,.icon-button:hover{border-color:#b9d5ca;background:#f5fbf8}.danger-ghost{color:#9f2d20;background:#fff;border-color:#f0c9c3}.ghost:disabled{opacity:.45;cursor:not-allowed}.notice{min-height:46px;margin-bottom:18px;padding:0 14px;border:1px solid #cce5d9;border-radius:8px;background:#edf8f2;color:var(--green-dark);display:flex;align-items:center;gap:10px}.notice button{margin-left:auto;border:0;background:transparent;color:var(--green-dark);font-weight:800}.search-panel,.list-toolbar,.product-list,.itinerary-list,.planner-board,.resource-panel,.preview-modal,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px}.search-panel{max-width:1040px;padding:18px;box-shadow:var(--shadow-soft)}.search-box{min-height:68px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:14px;padding:0 18px;border:1px solid #c6d9d0;border-radius:8px;background:#fff}.search-box input,.mini-search input,.planner-title input,.day-card input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search-box input{font-size:22px;font-weight:800}.search-box button{border:0;background:transparent;color:var(--green);font-weight:800}.search-results{margin-top:12px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.search-results button{width:100%;min-height:68px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:#f2faf6}.search-results strong,.search-results small{display:block}.search-results p{margin:0;padding:18px;color:var(--muted)}.list-toolbar{max-width:1040px;margin-top:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-soft)}.list-toolbar span{color:var(--muted);font-weight:700}.toolbar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toolbar-controls button{min-height:32px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--green-dark);background:#fff;font-weight:800}.toolbar-controls button.active,.toolbar-controls .create-product-inline{color:#fff;border-color:var(--green);background:var(--green)}.product-list{max-width:1040px;margin-top:12px;padding:0;display:grid;gap:0;overflow:hidden;box-shadow:var(--shadow-soft)}.product-row{min-height:124px;display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}.product-row:last-child{border-bottom:0}.product-row:hover{background:#fbfdfb}.product-cover{height:92px;border-radius:8px;padding:12px;color:#fff;background:linear-gradient(135deg,#0d634d,#163c33);display:flex;flex-direction:column;justify-content:space-between}.product-cover span{color:#d7f2e8;font-weight:800}.product-cover strong{font-size:24px}.row-title{display:flex;align-items:center;gap:10px}.row-title h3{margin:0;font-size:19px}.product-info{min-width:0}.product-info p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tag-line span,.tag-line button,.status{min-height:28px;border:1px solid #cfe2da;border-radius:999px;padding:4px 10px;color:var(--green-dark);background:#f3faf6;font-weight:800;font-size:13px}.row-actions{justify-content:flex-end;flex-wrap:wrap;max-width:280px}.tag-line button{cursor:pointer}.status.draft{color:var(--amber);background:var(--amber-soft);border-color:#f1d9a9}.status.published{color:var(--green-dark)}.planner-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:16px;align-items:start;max-width:1340px}.itinerary-list,.planner-board,.resource-panel{padding:16px;box-shadow:var(--shadow-soft)}.section-head.compact{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.section-head button,.icon-button{width:40px;height:40px;padding:0;border-radius:8px;border:1px solid var(--line);color:var(--green-dark);background:#fff}.itinerary-list{display:grid;gap:8px}.itinerary-tab{padding:12px;border-radius:8px;background:#fff;border-color:var(--line)}.itinerary-tab strong,.itinerary-tab small{display:block}.itinerary-tab.active{border-color:var(--green);background:#ecf8f2}.planner-title{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.planner-title input{font-size:24px;font-weight:900}.planner-title p{margin:4px 0 0;color:var(--muted)}.day-switcher{margin:14px 0;display:flex;gap:8px;flex-wrap:wrap}.day-switcher button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px;color:var(--green-dark);font-weight:800}.day-switcher button.active{color:#fff;border-color:var(--green);background:var(--green)}.day-cards{display:grid;gap:12px}.day-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.day-card.active{border-color:var(--green)}.day-card header{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:12px;background:#f6faf7;border-bottom:1px solid var(--line)}.day-card header span{height:34px;border-radius:8px;display:grid;place-items:center;color:#fff;background:var(--green);font-weight:900}.day-card input{font-size:18px;font-weight:800}.day-items{display:grid;gap:10px;padding:12px}.day-item{display:grid;grid-template-columns:62px 1fr 36px;gap:10px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:10px}.day-item span{min-height:26px;display:grid;place-items:center;border-radius:6px;color:var(--green-dark);background:#e8f5ef;font-weight:800}.day-item strong,.day-item p{display:block;margin:0}.day-item p,.empty-day{color:var(--muted)}.day-item button{border:0;background:transparent;color:var(--muted)}.mini-search{height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:8px}.resource-list{max-height:calc(100vh - 250px);overflow:auto;display:grid;gap:8px;margin-top:12px}.resource-panel,.resource-list button{min-width:0}.resource-list strong,.resource-list small{overflow-wrap:anywhere}.resource-list button{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.resource-list button:hover{border-color:var(--green)}.resource-list span,.resource-list strong,.resource-list small{display:block}.resource-list span{color:var(--green);font-weight:800;font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:28px;background:#0c191473}.confirm-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:#0c19147a}.confirm-dialog{width:min(460px,calc(100vw - 44px));padding:22px;display:grid;grid-template-columns:auto 1fr;gap:14px;box-shadow:var(--shadow)}.confirm-dialog h2{margin:4px 0 8px;font-size:22px}.confirm-dialog p{margin:0;color:var(--muted);line-height:1.65}.danger-icon{width:42px;height:42px;border-radius:8px;color:var(--danger);background:#fff4f1;display:inline-flex;align-items:center;justify-content:center}.confirm-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px}.preview-modal{width:min(1180px,calc(100vw - 56px));max-height:calc(100vh - 56px);overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:var(--shadow)}.modal-header{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.icon-button{font-size:24px;font-weight:700}.preview-layout{min-height:0;display:grid;grid-template-columns:1fr 260px}.preview-layout .invitation{max-height:calc(100vh - 150px);overflow:auto}.preview-actions{flex-direction:column;padding:18px;border-left:1px solid var(--line);background:#f9fbfa;max-height:calc(100vh - 150px);overflow:auto}.preview-actions p,.preview-actions small{color:var(--muted)}.preview-actions label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.preview-actions input,.preview-actions textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--ink);background:#fff;outline:0;resize:vertical}.preview-actions input:focus,.preview-actions textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0f7f611f}.day-editor-list{display:grid;gap:8px}.day-editor-list>strong{display:flex;align-items:center;gap:6px}.day-editor-list details{border:1px solid var(--line);border-radius:8px;background:#fff}.day-editor-list summary{padding:10px;color:var(--green-dark);font-weight:900;cursor:pointer}.day-editor-list details label{margin:0 10px 10px}.edit-details{border:1px solid var(--line);border-radius:8px;background:#fff}.edit-details summary{min-height:42px;padding:0 12px;display:flex;align-items:center;gap:8px;color:var(--green-dark);font-weight:900;cursor:pointer}.edit-form{display:grid;gap:10px;padding:0 12px 12px}.edit-warning{margin:0;padding:10px 12px;border:1px solid #ead7a4;border-radius:8px;color:#745312;background:#fff9e8;font-size:13px;font-weight:800;line-height:1.55}.invitation{background:#fff}.invitation-hero{min-height:420px;padding:44px;color:#fff;background:linear-gradient(135deg,#0d5f49f0,#12352df5 58%,#564220f5),radial-gradient(circle at 85% 20%,rgba(255,232,184,.22),transparent 38%);display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:end}.hero-copy{min-width:0}.invitation-hero p{margin:0 0 10px;color:#d9f4eb;font-weight:800}.invitation-hero h1{margin:0;font-size:46px;line-height:1.08;max-width:760px}.invitation-hero span{margin-top:14px;font-size:18px;color:#eff8f3}.invitation-hero small{margin-top:10px;max-width:680px;color:#d9f4eb;font-size:15px;line-height:1.7}.hero-metrics{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px}.hero-metrics div{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff1a}.hero-metrics strong,.hero-metrics small{display:block}.hero-metrics strong{overflow:hidden;color:#fff;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.hero-metrics small{margin-top:4px;color:#d9f4eb;font-size:12px}.hero-visual{align-self:end;height:330px;min-height:0;display:grid;grid-template-rows:1fr 1fr;gap:12px}.hero-visual img{width:100%;min-height:0;height:100%;object-fit:cover;border:1px solid rgba(255,255,255,.24);border-radius:8px;box-shadow:0 18px 42px #00000038}.invitation section{padding:28px 54px;border-bottom:1px solid var(--line)}.invitation h2{margin:0 0 14px}.invitation-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f8fbf9}.invitation-summary div{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff}.invitation-summary span,.service-notes span{display:block;margin-bottom:6px;color:var(--green);font-size:13px;font-weight:900}.invitation-summary strong{line-height:1.7}.service-gallery{display:grid;grid-template-columns:minmax(240px,1fr) 220px 220px;gap:18px;align-items:stretch;background:#fbf7ee}.service-gallery>div{align-self:center}.service-gallery span{display:block;margin-bottom:8px;color:var(--amber);font-size:13px;font-weight:900}.service-gallery h2,.service-gallery p{margin:0}.service-gallery p{margin-top:10px;color:var(--muted);line-height:1.8}.service-gallery figure{margin:0;overflow:hidden;border:1px solid #ead9b8;border-radius:8px;background:#fff}.service-gallery img{width:100%;height:180px;display:block;object-fit:cover}.service-gallery figcaption{padding:10px 12px;color:var(--green-dark);font-weight:900}.share-day{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.share-day:last-child{border-bottom:0}.share-day>span{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--green);font-weight:900}.share-day h3,.share-day p{margin:0 0 6px}.share-day b{display:block;margin-bottom:6px;color:var(--green-dark)}.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fee-grid p,.service-notes p{margin:8px 0;color:var(--muted)}.brand-panel{background:#f6faf7;display:grid;justify-items:start;gap:10px}.brand-panel p{margin:0;color:var(--ink);font-weight:800}.brand-panel small{color:var(--muted)}.share-shell{min-height:100vh;padding-bottom:92px;background:#fff}.share-shell .invitation{max-width:920px;margin:0 auto;min-height:100vh;box-shadow:0 0 0 1px var(--line)}.share-contact-bar{position:fixed;right:24px;bottom:20px;left:24px;z-index:10;width:min(860px,calc(100vw - 48px));min-height:64px;margin:0 auto;padding:10px 12px 10px 18px;border:1px solid #c6d9d0;border-radius:8px;background:#fffffff5;box-shadow:0 16px 38px #10231c29;display:flex;align-items:center;justify-content:space-between;gap:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.share-contact-bar span{min-width:0;overflow:hidden;color:var(--muted);display:grid;gap:2px}.share-contact-bar strong,.share-contact-bar small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-contact-bar strong{color:var(--ink);font-size:15px;font-weight:900}.share-contact-bar small{color:var(--muted);font-size:12px;font-weight:800}.share-contact-bar a{min-height:44px;padding:0 18px;border-radius:8px;color:#fff;background:var(--green);display:inline-flex;align-items:center;justify-content:center;font-weight:900;text-decoration:none;white-space:nowrap}.share-contact-bar a:hover{background:var(--green-dark)}.share-state,.empty-state{min-height:280px;display:grid;place-content:center;text-align:center;padding:40px}.share-state p,.empty-state p{color:var(--muted)}@media(max-width:900px){body{min-width:0}.app-shell,.planner-grid,.preview-layout,.product-row,.fee-grid,.invitation-summary,.invitation-hero,.service-gallery{grid-template-columns:1fr}.side-nav{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav-stack{grid-template-columns:1fr 1fr}.side-summary{display:none}.workspace{padding:18px}.workspace-header,.planner-title,.list-toolbar{flex-direction:column;align-items:stretch}.header-actions,.row-actions{flex-wrap:wrap}.product-row{align-items:stretch}.product-cover{height:56px;flex-direction:row;align-items:center}.product-cover strong{font-size:18px}.product-row .row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.product-row .row-actions button{width:100%;padding-left:8px;padding-right:8px}.preview-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.invitation-hero,.invitation section{padding-left:24px;padding-right:24px}.invitation-hero{min-height:auto;padding-top:32px;padding-bottom:32px;gap:24px}.invitation-hero h1{font-size:34px}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-metrics div{padding:10px 8px}.hero-metrics strong{font-size:15px}.hero-visual{height:auto;min-height:auto;grid-template-rows:none;grid-template-columns:1fr 1fr}.hero-visual img{height:150px}.service-gallery img{height:210px}.share-shell{padding-bottom:104px}.share-contact-bar{right:12px;bottom:12px;left:12px;width:calc(100vw - 24px);min-height:76px;padding:10px}.share-contact-bar span{max-width:170px}.share-contact-bar a{min-height:48px;padding:0 14px}}
