:root{--navy:#1d2938;--navy2:#172231;--gold:#c58b27;--gold2:#d7a23e;--paper:#fff;--bg:#f6f7f9;--text:#22272d;--muted:#8a9098;--line:#e7e9ed;--danger:#db5a55;--green:#47a66b;--blue:#2e6db5;--shadow:0 7px 24px rgba(29,41,56,.06)}
.app-shell,.content-shell{background:var(--bg)}.main-content{background:var(--bg);color:var(--text)}.main-content table{background:var(--paper)}.metric .template-route{margin-top:7px;color:var(--muted);font-size:12px}.sidebar nav button:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px}
*{box-sizing:border-box}html{color-scheme:light}html,body{margin:0;min-height:100%;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}button{border:0;cursor:pointer}.primary{border-radius:4px;padding:11px 24px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#fff;font-weight:700;box-shadow:0 3px 8px rgba(197,139,39,.24)}.primary:hover{filter:brightness(1.04)}.secondary{border:1px solid #dfe2e6;border-radius:4px;padding:10px 18px;background:#fff;color:#41464d;font-weight:650}.ghost{background:transparent;color:#606873;padding:8px 10px}.danger{color:var(--danger)!important}.button-link{display:inline-flex;align-items:center;border-radius:4px;padding:10px 17px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#fff;text-decoration:none;font-size:13px;font-weight:700}.toast{position:fixed;z-index:100;top:22px;right:24px;padding:12px 18px;border-radius:5px;background:var(--navy);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#ad3e3a}
.login-shell{width:min(1160px,94vw);height:min(760px,90vh);min-height:620px;margin:5vh auto;display:grid;grid-template-columns:56% 44%;overflow:hidden;background:#fff;border:1px solid #eceef1;border-radius:7px;box-shadow:0 12px 40px rgba(23,34,49,.09)}.login-brand{background:url('/assets/login-pyramids.jpg') center/cover no-repeat}.login-card{display:flex;flex-direction:column;justify-content:center;padding:9% 14%;background:#fff}.login-card h2{margin:0 0 13px;text-align:center;font-size:32px}.login-card>div>p{text-align:center;margin:0}.mobile-logo{display:none}.stack{display:grid;gap:22px;margin-top:42px}.stack label{display:grid;gap:9px;font-size:14px;font-weight:650;color:#3c4148}.stack input{height:52px;border:1px solid #e1e3e7;border-radius:3px;padding:0 15px;outline:none}.stack input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,139,39,.1)}.login-options{display:flex;align-items:center;justify-content:space-between}.login-options label{display:flex;align-items:center;gap:8px;font-weight:500}.login-options input{width:18px;height:18px;accent-color:var(--gold)}.text-link{background:transparent;color:#b47d22}.primary.large{height:54px;font-size:16px}
.password-change-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,var(--navy2),var(--navy))}.password-change-card{width:min(540px,100%);padding:34px 42px;border:1px solid var(--line);border-top:5px solid var(--gold2);border-radius:12px;background:var(--paper);box-shadow:0 20px 60px rgba(10,20,31,.28)}.password-change-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.password-logo{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border-radius:14px;background:var(--paper)}.password-logo img{display:block;width:100%;height:100%;object-fit:contain}.password-change-brand strong,.password-change-brand small{display:block}.password-change-brand strong{font-size:19px}.password-change-brand small{margin-top:4px;color:var(--muted);font-size:12px}.password-security-mark{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:50%;background:#e8f6ed;color:var(--green);font-size:25px;font-weight:900}.password-change-card h1{margin:0 0 10px;font-size:27px}.password-change-card>p{margin:0;color:var(--muted);line-height:1.7}.password-change-card .password-account{margin-top:16px;padding:11px 13px;border-radius:7px;background:var(--bg);color:var(--text)}.password-change-card .stack{margin-top:24px;gap:17px}.password-policy{margin:0;padding:10px 12px;border-left:3px solid var(--gold2);background:#fff9ed;color:#6e5a38;font-size:12px;line-height:1.65}.password-change-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:12px}.password-change-actions button{width:100%}
@media(max-width:560px){.password-change-shell{padding:0;background:var(--paper)}.password-change-card{min-height:100vh;padding:30px 22px;border:0;border-top:5px solid var(--gold2);border-radius:0;box-shadow:none}.password-change-card h1{font-size:23px}.password-change-actions{grid-template-columns:1fr}.password-change-actions .primary{grid-row:1}}
.app-shell{min-height:100vh;display:grid;grid-template-columns:210px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:210px;display:flex;flex-direction:column;padding:28px 0 22px;color:#fff;background:linear-gradient(180deg,var(--navy2),var(--navy))}.side-brand{display:flex;align-items:center;height:70px;padding:0 19px 27px;border-bottom:1px solid rgba(255,255,255,.08)}.side-brand img{display:block;width:160px;height:auto;mix-blend-mode:screen}.logo{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font-weight:800}.logo.small{width:42px;height:42px}.side-brand strong,.side-brand small{display:block}.side-brand strong{font-size:18px}.side-brand small{margin-top:3px;font-size:9px;letter-spacing:1px;color:#d4d8dd}.sidebar nav{display:grid;padding:18px 0}.sidebar nav button{position:relative;display:flex;align-items:center;gap:13px;padding:14px 25px;background:transparent;color:#d7dbe0;text-align:left;font-weight:650}.sidebar nav button span{width:19px;font-size:17px}.sidebar nav button:hover,.sidebar nav button.active{background:linear-gradient(90deg,rgba(197,139,39,.52),rgba(197,139,39,.27));color:#fff}.sidebar nav button.active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gold2)}.side-user{margin-top:auto;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:18px 18px 0;border-top:1px solid rgba(255,255,255,.1)}.avatar,.top-avatar{display:grid;place-items:center;border-radius:50%;background:#d8aa5a;color:#1d2938;font-weight:800}.avatar{width:34px;height:34px}.side-user strong,.side-user small{display:block;font-size:12px}.side-user small{margin-top:2px;color:#9fa8b2}.side-user button{background:transparent;color:#abb3bd}.content-shell{grid-column:2;min-width:0;min-height:100vh;background:var(--bg)}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fff;border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:22px}.top-actions{display:flex;align-items:center;gap:10px;color:#5a6068;font-size:13px}.top-avatar{width:36px;height:36px}.icon-btn{display:none;background:transparent;font-size:22px}.eyebrow{margin:0;color:var(--muted);font-size:11px}.main-content{max-width:1500px;min-height:calc(100vh - 76px);margin:0 auto;padding:28px 30px 50px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{min-height:132px;padding:22px 26px;background:#fff;border:1px solid #eceef1;border-radius:6px;box-shadow:var(--shadow)}.metric>span{font-size:14px;font-weight:650}.metric .num{margin:14px 0 5px;font-size:32px;font-weight:800;color:#171b20}.metric small{color:var(--muted)}.metric .sub{margin-top:7px;color:var(--green);font-size:12px}.panel{margin-top:20px;padding:22px;background:#fff;border:1px solid #eceef1;border-radius:6px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-head h2{margin:0;font-size:17px}.dashboard-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:18px}.chart{width:100%;height:225px}.chart text{font-size:10px;fill:#949ba3}.chart .grid{stroke:#eceff2;stroke-width:1}.chart .line{fill:none;stroke:#2f6fb7;stroke-width:3}.chart .point{fill:#2f6fb7}.donut-wrap{height:225px;display:grid;grid-template-columns:160px 1fr;align-items:center;justify-content:center;gap:25px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#2f6fb7 0 65%,#d87955 65% 85%,#e3a832 85%);position:relative}.donut:after{content:"";position:absolute;inset:37px;border-radius:50%;background:#fff}.legend{display:grid;gap:14px;font-size:13px}.legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:9px;background:#2f6fb7}.legend span:nth-child(2):before{background:#d87955}.legend span:nth-child(3):before{background:#e3a832}.empty{padding:45px;text-align:center;color:var(--muted)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:14px 12px;border-bottom:1px solid #eceef2;text-align:left;white-space:nowrap}th{background:#fafbfc;color:#666d75;font-size:12px;font-weight:700}td strong{color:#2d333a}.status{display:inline-flex;padding:4px 10px;border-radius:2px;font-size:11px;font-weight:700}.status.draft{background:#f1f1f1;color:#555}.status.formal{background:#e9f5ed;color:#348156}.status.archived{background:#ececec;color:#666}.row-actions{display:flex;align-items:center;gap:4px}.row-actions button{background:transparent;color:#626b75;padding:5px 7px}.row-actions select{width:auto;min-width:105px;padding:6px;border:1px solid #e0e3e7}.search-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-row input,.search-row select{min-width:150px;width:auto}.search-row input:first-child{min-width:230px}
.wizard{background:#fff;border:1px solid #eceef1;border-radius:6px;box-shadow:var(--shadow)}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 50px;border-bottom:1px solid var(--line)}.wizard-step{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;color:#959ba3;font-size:14px;font-weight:650}.wizard-step:not(:last-child):after{content:"";position:absolute;left:68%;right:-32%;height:1px;background:#e4e7ea}.step-no{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border:1px solid #dfe2e6;border-radius:50%;background:#fff}.wizard-step.active{color:#32373d}.wizard-step.active .step-no{border-color:var(--gold);background:var(--gold);color:#fff}.wizard-step.done .step-no{border-color:#b8dcc4;color:var(--green)}.wizard-step.done .step-no:before{content:"✓";font-size:18px}.wizard-step.done .step-no{font-size:0}.wizard-body{padding:32px 46px 20px}.wizard-panel{display:none}.wizard-panel.active{display:block}.section-title{margin:0 0 24px;font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:21px 38px}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:9px;color:#3c4249;font-size:13px;font-weight:650}.required:after{content:" *";color:#d74f4a}input,textarea,select{width:100%;border:1px solid #e0e3e7;border-radius:3px;background:#fff;padding:11px 13px;color:#2c3238;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,139,39,.09)}textarea{min-height:220px;resize:vertical;line-height:1.7}.span-2{grid-column:span 2}.people-row{display:flex;align-items:center;gap:14px}.people-row input{width:78px}.wizard-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 46px 28px}.save-state{margin-right:auto;color:var(--muted);font-size:12px}.itinerary-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.itinerary-table input{padding:8px;font-size:12px}.itinerary-table .day-title{min-width:220px}.itinerary-table .hotel{min-width:170px}.icon-action{background:transparent;padding:5px;color:#6f7881}.quote-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.quote-columns textarea{border-color:#d6bd8b}.price-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:26px}.payment-row{margin-top:20px}.preview-stage{padding:2px;background:#f2f3f5;border-radius:4px}.preview-frame{display:block;width:210mm;min-height:297mm;margin:0;border:0;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.12);transform-origin:top left}.preview-frame-wrap{overflow-x:hidden;overflow-y:auto;min-height:620px;max-height:calc(100vh - 250px)}.notice{padding:12px 15px;border-radius:4px;background:#fff7e7;color:#795b20;font-size:13px}.success-card{max-width:850px;margin:25px auto;padding:42px 60px;background:#fff;border:1px solid #eceef1;border-radius:6px;text-align:center;box-shadow:var(--shadow)}.success-doc{position:relative;width:110px;height:130px;margin:0 auto 22px;border:1px solid #e0e4e8;background:#f7f9fb}.success-icon{position:absolute;right:-24px;bottom:6px;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#3fa95d;color:#fff;font-size:38px}.success-card h2{font-size:29px}.success-card dl{max-width:640px;margin:28px auto;text-align:left;border-top:1px solid var(--line)}.success-card dl div{display:grid;grid-template-columns:150px 1fr;padding:13px;border-bottom:1px solid var(--line)}.success-card dt{font-weight:700}.success-card dd{margin:0}.success-actions{display:flex;justify-content:center;gap:16px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setting-form{display:grid;gap:14px}.inline-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}
.compact-grid{margin-top:25px}.valid-row{width:calc(33.333% - 25px);margin-top:21px}.itinerary-table tr.selected td{background:#fffaf0}.day-detail-list{margin-top:24px}.day-detail-list-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:4px}.day-detail-list-head h3{margin:0;font-size:17px}.day-detail-list-head span{color:var(--muted);font-size:12px}.day-detail-editor{margin-top:14px;padding:18px 20px;border:1px solid #e8d8b8;border-radius:5px;background:#fffdfa;scroll-margin-top:90px}.day-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.day-detail-head span{max-width:70%;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.day-detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.day-detail-grid textarea{min-height:110px}.day-detail-grid input{align-self:start}.price-row-four{grid-template-columns:repeat(4,1fr)}.price-row-four label:nth-child(2){grid-template-columns:1.2fr .8fr}.price-row-four label:nth-child(2)>input:first-of-type{grid-column:1}.price-row-four label:nth-child(2)>input:last-of-type{grid-column:2}
.itinerary-table input[name=date][readonly]{background:var(--bg);color:var(--muted);cursor:default}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.admin-grid{grid-template-columns:1fr}.quote-columns{grid-template-columns:1fr}.price-row-four{grid-template-columns:repeat(2,1fr)}.wizard-body{padding:28px}.wizard-steps{padding:24px 18px}.wizard-step{font-size:12px}.wizard-step:not(:last-child):after{display:none}}
@media(max-width:760px){.login-shell{width:100%;height:auto;min-height:100vh;margin:0;grid-template-columns:1fr;border:0}.login-brand{height:240px}.login-card{padding:42px 8%}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.22s}.sidebar.open{transform:none}.content-shell{margin:0}.topbar{padding:0 18px}.icon-btn{display:block}.topbar>div:first-of-type{margin-right:auto;margin-left:10px}.top-actions #todayText{display:none}.main-content{padding:18px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:110px;padding:17px}.metric .num{font-size:25px}.dashboard-grid{display:block}.panel{padding:16px}.donut-wrap{grid-template-columns:140px 1fr}.wizard-steps{grid-template-columns:repeat(4,1fr);padding:16px 4px}.wizard-step{display:grid;justify-items:center;text-align:center;gap:4px;font-size:10px}.step-no{width:28px;height:28px}.wizard-body{padding:20px 16px}.form-grid,.form-grid.three,.price-row,.day-detail-grid{grid-template-columns:1fr}.valid-row{width:100%}.span-2{grid-column:auto}.wizard-footer{padding:16px;flex-wrap:wrap}.save-state{width:100%}.search-row input:first-child,.search-row input,.search-row select{min-width:100%;width:100%}.success-card{padding:30px 18px}.success-actions{flex-wrap:wrap}.success-card dl div{grid-template-columns:1fr;gap:5px}}

/* 报价与团队生命周期：报价单、行程单共用同一套列表与操作样式。 */
.quote-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #edf0f2;border-radius:7px}
.quote-table-wrap .quote-list-table{min-width:820px;table-layout:fixed;font-size:11px}
.quote-table-wrap .quote-list-table th,.quote-table-wrap .quote-list-table td{padding:11px 6px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.quote-table-wrap .quote-list-table th:nth-child(1){width:112px}.quote-table-wrap .quote-list-table th:nth-child(2){width:104px}.quote-table-wrap .quote-list-table th:nth-child(3){width:44px}.quote-table-wrap .quote-list-table th:nth-child(4){width:62px}.quote-table-wrap .quote-list-table th:nth-child(5){width:74px}.quote-table-wrap .quote-list-table th:nth-child(6){width:66px}.quote-table-wrap .quote-list-table th:nth-child(7),.quote-table-wrap .quote-list-table th:nth-child(8){width:50px}.quote-table-wrap .quote-list-table th:nth-child(9),.quote-table-wrap .quote-list-table th:nth-child(10){width:48px}.quote-table-wrap .quote-list-table th:nth-child(11){width:78px}.quote-table-wrap .quote-list-table th:nth-child(12){width:98px}
.quote-table-wrap .quote-list-table th:nth-child(7),.quote-table-wrap .quote-list-table th:nth-child(8),.quote-table-wrap .quote-list-table th:nth-child(9),.quote-table-wrap .quote-list-table th:nth-child(10),.quote-table-wrap .quote-list-table td:nth-child(7),.quote-table-wrap .quote-list-table td:nth-child(8),.quote-table-wrap .quote-list-table td:nth-child(9),.quote-table-wrap .quote-list-table td:nth-child(10){text-align:center}
.quote-cell-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-owner{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis}
.quote-lifecycle-row{transition:background .16s}.quote-lifecycle-row.is-arranged{background:#f8fcf9}.quote-lifecycle-row.is-completed{background:#f6fafc}.quote-lifecycle-row.is-canceled{background:#fff9f8}.quote-lifecycle-row.is-canceled td{color:#92989e}.quote-lifecycle-row.is-superseded{background:color-mix(in srgb,var(--muted) 5%,var(--paper))}.quote-lifecycle-row.is-superseded td{color:var(--muted)}.quote-lifecycle-row:hover{background:#f7fafc}
.status.arranged{background:#e8f6ed;color:#278650}.status.completed{background:#e7f1f8;color:#216f9b}.status.canceled{background:#fdeceb;color:#bd4a45}.status.superseded{background:color-mix(in srgb,var(--muted) 14%,var(--paper));color:var(--muted)}
.field-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent)!important}
.payment-checkbox{position:relative;display:inline-grid;place-items:center;cursor:pointer}.payment-checkbox input{position:absolute;width:1px;height:1px;opacity:0}.payment-checkbox span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #aebac1;border-radius:5px;background:#fff;color:transparent;font-size:18px;font-weight:900;line-height:1;transition:border-color .16s,background .16s,box-shadow .16s}.payment-checkbox:hover span{border-color:#758a96}.payment-checkbox input:checked+span{border-color:#36a563;background:#36a563;color:#fff;box-shadow:0 0 0 3px rgba(54,165,99,.12)}.payment-checkbox input:focus-visible+span{outline:2px solid #087abd;outline-offset:2px}.payment-checkbox input:disabled+span{border-color:#d0d6da;background:#f0f2f3;color:transparent;box-shadow:none;cursor:not-allowed;opacity:.75}.payment-checkbox input:checked:disabled+span{border-color:#86b99a;background:#86b99a;color:#fff}
.unified-row-actions{display:block}.unified-row-actions select{width:100%;min-width:0;height:32px;padding:4px 22px 4px 7px;border-radius:5px;background-color:#fff;color:#52606a;font-size:10px}.unified-row-actions select:disabled{background:#f3f4f5;color:#a4abb1;cursor:not-allowed}.unified-row-actions select:focus{border-color:#087abd;box-shadow:0 0 0 2px rgba(8,122,189,.1)}
@media(max-width:1100px) and (min-width:561px){.quote-table-wrap .quote-list-table{width:100%;min-width:0;font-size:9px}.quote-table-wrap .quote-list-table th,.quote-table-wrap .quote-list-table td{padding:9px 3px}.quote-table-wrap .quote-list-table th{font-size:9px}.quote-table-wrap .quote-list-table th:nth-child(1){width:14%}.quote-table-wrap .quote-list-table th:nth-child(2){width:13%}.quote-table-wrap .quote-list-table th:nth-child(3){width:5%}.quote-table-wrap .quote-list-table th:nth-child(4){width:7%}.quote-table-wrap .quote-list-table th:nth-child(5){width:9%}.quote-table-wrap .quote-list-table th:nth-child(6){width:8%}.quote-table-wrap .quote-list-table th:nth-child(7),.quote-table-wrap .quote-list-table th:nth-child(8),.quote-table-wrap .quote-list-table th:nth-child(9),.quote-table-wrap .quote-list-table th:nth-child(10){width:5%}.quote-table-wrap .quote-list-table th:nth-child(11){width:10%}.quote-table-wrap .quote-list-table th:nth-child(12){width:14%}.quote-table-wrap .table-action{padding:5px 2px;font-size:9px}.quote-table-wrap .status{padding:4px 5px;font-size:9px}.quote-table-wrap .payment-checkbox span{width:23px;height:23px}.quote-table-wrap .unified-row-actions select{height:29px;padding:3px 16px 3px 4px;font-size:9px}}
@media(max-width:560px){.quote-table-wrap .quote-list-table{min-width:790px}.quote-table-wrap .quote-list-table th,.quote-table-wrap .quote-list-table td{padding:10px 5px}.itinerary-entry .panel-head{align-items:flex-start;flex-direction:column}.deal-count{align-self:flex-start}}
.quote-detail{display:grid;gap:24px}.quote-detail .panel-head{align-items:flex-start}.quote-detail .success-actions{justify-content:flex-start;margin-top:0;flex-wrap:wrap}.quote-detail-kicker{display:block;color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.03em;margin-bottom:6px}.quote-detail .panel-head h2{margin:0 0 6px}.quote-detail .panel-head p{margin:0}.quote-readonly-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--muted) 28%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--muted) 7%,var(--paper));color:var(--muted)}.quote-readonly-notice strong{flex:none;color:var(--text)}.quote-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.quote-detail-grid>div{display:grid;gap:7px;background:var(--paper);padding:16px}.quote-detail-grid span{color:var(--muted);font-size:13px}.quote-detail-grid strong{overflow-wrap:anywhere;white-space:normal}.quote-detail-itinerary,.quote-detail-arrangements,.quote-detail-terms,.quote-detail-versions{border-top:1px solid var(--line);padding-top:20px}.quote-detail-itinerary h3,.quote-detail-arrangements h3,.quote-detail-terms h3,.quote-detail-versions h3{margin:0}.quote-detail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.quote-detail-section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.quote-detail-section-head>span{flex:none;padding:5px 10px;border-radius:999px;background:#fff6df;color:#a86d0b;font-weight:800}.quote-detail-day{display:grid;gap:14px;margin-bottom:14px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.quote-detail-day:last-child{margin-bottom:0}.quote-detail-day header{display:flex;align-items:center;justify-content:space-between;gap:16px}.quote-detail-day header>div{display:flex;align-items:center;gap:12px}.quote-detail-day header b{color:var(--gold);font-size:17px}.quote-detail-day header span{color:var(--muted);font-size:13px}.quote-detail-day h4{margin:0;color:var(--text);font-size:17px}.quote-detail-day>p{margin:0;color:var(--text);font-size:15px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap}.quote-detail-day footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-detail-day footer span{display:flex;gap:10px;min-width:0;padding:10px 12px;border-radius:8px;background:var(--bg);overflow-wrap:anywhere}.quote-detail-day footer b{flex:none;color:#087abd}.quote-detail-day-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-detail-day-fields .span-2{grid-column:1/-1}.quote-detail-day-fields textarea{min-height:130px}.quote-detail-edit-summary{display:grid;gap:14px}.quote-detail-edit-summary h3{margin:0}.quote-arrangement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-arrangement-card{display:grid;align-content:start;gap:14px;padding:17px;border:1px solid var(--line);border-left:4px solid #d8a234;border-radius:12px;background:var(--paper)}.quote-arrangement-card.is-complete{border-left-color:#36a563}.quote-arrangement-card.is-not-required{border-left-color:#8e979f}.quote-arrangement-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quote-arrangement-card header h4{margin:0 0 5px;font-size:17px}.quote-arrangement-card header span,.quote-arrangement-card header small{color:var(--muted);font-size:12px}.quote-arrangement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quote-arrangement-fields .span-2{grid-column:1/-1}.quote-arrangement-fields textarea{min-height:76px}.quote-arrangement-single{align-self:start}.quote-arrangement-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.quote-arrangement-controls label{display:flex;grid-template-columns:none;align-items:center;gap:7px}.quote-arrangement-controls input[type=checkbox]{width:18px;height:18px}.quote-arrangement-controls button{margin-left:auto}.quote-detail-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-detail-text-grid article{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.quote-detail-text-grid h4{margin:0 0 9px;color:var(--gold);font-size:14px}.quote-detail-text-grid p{margin:0;color:var(--text);line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.quote-detail-terms-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.quote-detail-terms-edit textarea{min-height:110px}.quote-detail-versions>div{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.quote-detail-grid,.quote-arrangement-grid,.quote-detail-text-grid,.quote-detail-terms-edit{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.quote-detail-day-fields,.quote-arrangement-fields,.quote-detail-grid,.quote-arrangement-grid,.quote-detail-text-grid,.quote-detail-terms-edit{grid-template-columns:1fr}.quote-detail-day-fields .span-2,.quote-arrangement-fields .span-2{grid-column:auto}.quote-detail-day footer{grid-template-columns:1fr}.quote-detail-day header{align-items:flex-start;flex-direction:column}.quote-arrangement-controls button{width:100%;margin-left:0}}
@media(max-width:560px){.quote-readonly-notice{display:grid}.quote-detail-day{padding:15px}.quote-detail .success-actions>*{width:100%}.quote-detail-section-head{display:grid}}
.success-output-group{max-width:720px;margin:22px auto 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-align:left}.success-output-group h3{margin:0 0 7px;color:var(--text);font-size:17px}.success-output-group p{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.7}.success-output-group .success-actions{justify-content:flex-start;flex-wrap:wrap}.success-output-group.is-pdf{background:var(--paper)}
.final-delivery-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:12px!important}.final-delivery-actions button{width:100%;white-space:nowrap}.quote-management-actions{padding-top:4px;border-top:1px solid var(--line)}
@media(max-width:760px){.final-delivery-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.success-output-group{padding:16px}.success-output-group .success-actions>*{width:100%}.final-delivery-actions{grid-template-columns:1fr}}
.long-preview-stage{min-height:620px;max-height:calc(100vh - 250px);overflow:auto;padding:18px;background:var(--bg);text-align:center}.long-preview-image{display:block;width:min(100%,860px);height:auto;margin:0 auto;background:var(--paper);box-shadow:0 5px 20px rgba(29,41,56,.12)}.long-preview-loading{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.long-preview-loading span{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:long-preview-spin .8s linear infinite}.long-preview-loading strong{color:var(--text)}.long-preview-loading small{font-size:12px}.long-preview-loading.is-error span{display:none}.long-preview-loading.is-error strong{color:var(--danger)}@keyframes long-preview-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.long-preview-stage{min-height:460px;max-height:70vh;padding:8px}.long-preview-loading{min-height:420px}}
.quote-version-row{display:grid;grid-template-columns:44px 100px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.quote-version-row:last-child{border-bottom:0}.quote-version-row>strong{color:var(--gold)}.quote-version-row>span{color:var(--muted);font-size:12px}.quote-version-row>div{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.quote-version-row button{padding:7px 10px;font-size:11px}
@media(max-width:560px){.quote-version-row{grid-template-columns:42px 1fr}.quote-version-row>div{grid-column:1/-1;justify-content:stretch}.quote-version-row button{flex:1 1 44%}}
@media(max-width:760px){.day-detail-list-head,.day-detail-head{align-items:flex-start;flex-direction:column;gap:5px}.day-detail-head span{max-width:100%;white-space:normal}.day-detail-editor{padding:15px}.day-detail-grid textarea{min-height:150px}}

/* 正式报价分享：任何入口都只处理当前版本的一份一体化长版 PDF。 */
body.quote-share-open{overflow:hidden}.quote-share-dialog{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:rgba(16,29,45,.58)}.quote-share-dialog.hidden{display:none}.quote-share-card{width:min(600px,100%);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 26px 70px rgba(16,29,45,.28)}.quote-share-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 20px;border-bottom:1px solid var(--line)}.quote-share-card h2{margin:0 0 7px;color:var(--text);font-size:22px}.quote-share-card header p{max-width:470px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.quote-share-close{flex:0 0 auto;width:38px;height:38px;padding:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:25px;line-height:1}.quote-share-close:hover{color:var(--text)}.quote-share-file{display:flex;align-items:center;gap:14px;margin:22px 26px 8px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.quote-share-file>span{display:grid;place-items:center;width:48px;height:48px;border-radius:9px;background:#f9e9e6;color:#b64b3b;font-size:12px;font-weight:900}.quote-share-file>div{min-width:0;display:grid;gap:5px}.quote-share-file strong{overflow:hidden;color:var(--text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.quote-share-file small{color:var(--muted);font-size:11px}.quote-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 26px}.quote-share-option{display:flex;align-items:center;gap:13px;min-height:58px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--text);text-align:left}.quote-share-option:hover,.quote-share-option:focus-visible{border-color:var(--gold);background:#fffaf0;box-shadow:0 0 0 3px rgba(197,139,39,.1)}.quote-share-option:disabled{opacity:.55;cursor:wait}.quote-share-option>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:900}.quote-share-option>b{font-size:14px}.quote-share-help{margin:4px 26px 24px;padding:12px 14px;border-radius:8px;background:var(--bg);color:var(--muted);font-size:11px;line-height:1.65}
@media(max-width:560px){.quote-share-dialog{padding:12px}.quote-share-card>header{padding:20px}.quote-share-card h2{font-size:20px}.quote-share-file{margin:18px 20px 6px}.quote-share-grid{grid-template-columns:1fr;padding:12px 20px;max-height:48vh;overflow:auto}.quote-share-option{min-height:52px}.quote-share-help{margin:2px 20px 20px}}
.business-delete-confirm{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:20px;background:rgba(16,29,45,.58)}.business-delete-confirm-card{width:min(420px,100%);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 24px 68px rgba(16,29,45,.25)}.business-delete-confirm-card p{margin:0;padding:28px 28px 24px;color:var(--text);font-size:18px;font-weight:700}.business-delete-confirm-card>div{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--line)}.business-delete-confirm-card button{min-width:88px}.business-delete-confirm-open{overflow:hidden}

/* 全局加载与失败状态：所有异步路由共用，避免请求失败后留下旧页面。 */
button:disabled{cursor:not-allowed;opacity:.58}.route-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.route-state strong{color:var(--text);font-size:18px}.route-state p{max-width:520px;margin:0;color:var(--muted);line-height:1.65}.route-state-spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:route-state-spin .8s linear infinite}.route-state.is-error{border-color:color-mix(in srgb,var(--danger) 26%,var(--line));background:var(--paper)}.route-state.is-error strong{color:var(--danger)}.route-state.is-error .secondary{margin-top:5px}@keyframes route-state-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){.route-state{min-height:210px;padding:30px 18px}.route-state strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.route-state-spinner{animation:none}}

/* AI 销售副驾驶：保持统一订单、权限和草稿确认边界。 */
.ai-assistant-main .ai-quick-cards{grid-template-columns:repeat(3,minmax(0,1fr));width:min(940px,100%);max-width:none}
.ai-assistant-main .ai-quick-cards>button{min-height:66px}
.new-order-ai-card .trip-chat-sales-input textarea{min-height:330px;font-size:12px}
.trip-recognition.trip-recognition-sales{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--paper)}
.trip-recognition.trip-recognition-sales>div{min-width:0;min-height:72px;display:grid;grid-template-columns:1fr;align-content:center;gap:5px;padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.trip-recognition.trip-recognition-sales>div:nth-child(2n){border-right:0}
.trip-recognition.trip-recognition-sales>div:last-child{border-bottom:0}
.trip-recognition.trip-recognition-sales span{font-size:10px;font-weight:700}
.trip-recognition.trip-recognition-sales strong{font-size:12px}
.trip-recognition.trip-recognition-sales>.trip-recognition-missing{grid-column:1/-1;min-height:94px;border-right:0;background:color-mix(in srgb,var(--gold) 5%,var(--paper))}
.trip-recognition-missing>div{display:flex;flex-wrap:wrap;gap:7px}
.trip-recognition-missing>div>b{display:inline-flex;padding:5px 9px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:999px;background:var(--paper);color:#9a6412;font-size:10px;font-weight:800}
.trip-recognition-missing>div>strong{white-space:normal;color:var(--green);line-height:1.55}
.trip-candidate-admin>div:first-child>p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.order-detail-drawer .order-copilot-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid #e4ded3;background:#fff8e9}
.order-copilot-bar>div:first-child{display:grid;gap:3px}.order-copilot-bar>div:first-child span{color:#9a6412;font-size:11px;font-weight:850}.order-copilot-bar>div:first-child small{color:#7d7569;font-size:9px}
.order-copilot-bar>div:last-child{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.order-copilot-bar button{border-color:#e3c88e;background:#fffdf8;color:#70501d}
.ai-action-card.is-create_additional_service{border-color:color-mix(in srgb,var(--blue) 32%,var(--line));background:color-mix(in srgb,var(--blue) 4%,var(--paper))}.ai-action-card.is-create_additional_service>header{border-bottom-color:color-mix(in srgb,var(--blue) 18%,var(--line))}
@media(max-width:900px){.ai-assistant-main .ai-quick-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.order-detail-drawer .order-copilot-bar{align-items:flex-start;flex-direction:column}.order-copilot-bar>div:last-child{justify-content:flex-start}}
@media(max-width:620px){.trip-recognition.trip-recognition-sales{grid-template-columns:1fr}.trip-recognition.trip-recognition-sales>div{border-right:0}.new-order-ai-card .trip-chat-sales-input textarea{min-height:280px}.order-copilot-bar>div:last-child{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.order-copilot-bar button{width:100%}}
@media(max-width:400px){.ai-assistant-main .ai-quick-cards{grid-template-columns:1fr}}
