@font-face{font-family:LocalSong;src:local("Songti SC")}*{box-sizing:border-box}body{margin:0;color:#26332c;background:#f4f5f1;font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button{border:0}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d7dcd4;border-radius:6px;background:#fff;color:#25332d;min-height:42px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:#546a51;flex-shrink:0}input:focus,select:focus,textarea:focus{outline:2px solid #b7a06c;outline-offset:1px}button:focus-visible,a:focus-visible{outline:2px solid #a38749;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:600;letter-spacing:.03em}h2{font-size:18px;font-weight:600}h3{font-size:16px}small,.muted{color:#7b847c}.muted{font-size:12px}strong{font-weight:600}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.loading{min-height:70vh;display:grid;place-items:center;color:#788476}.shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;overflow:hidden;width:216px;background:#1c2822;color:#c7d0c8;display:flex;flex-direction:column;padding:29px 18px;z-index:20}.brand{display:flex;align-items:center;gap:13px;padding:0 13px 29px}.seal{font-family:LocalSong,"Songti SC",serif;display:grid;place-items:center;width:40px;height:40px;border:1px solid #c0a56d;color:#e1c691;font-size:23px;flex-shrink:0}.brand strong{font-family:LocalSong,"Songti SC",serif;font-size:20px;font-weight:500;letter-spacing:.12em;color:#f0eadb}.brand small{display:block;font-size:10px;letter-spacing:.2em;color:#859688}.nav-label{font-size:10px;color:#768a7e;padding:16px 15px 8px;letter-spacing:.15em}.nav-btn{width:100%;display:flex;gap:13px;align-items:center;text-align:left;color:#b3c0b7;background:none;padding:11px 15px;border-radius:5px;margin:2px 0}.nav-btn:hover{background:#26382d}.nav-btn.active{background:#d8c69c;color:#25372d}.nav-count{margin-left:auto;background:#876d35;color:#fff;padding:0 6px;border-radius:4px;font-size:11px}/* 侧栏菜单独立滚动：矮屏（笔记本）也能滚到底部「管理」 */.sidebar>.brand{flex-shrink:0}.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -6px;padding:0 6px;scrollbar-width:thin;scrollbar-color:#3d5245 transparent}.sidebar>nav::-webkit-scrollbar{width:6px}.sidebar>nav::-webkit-scrollbar-thumb{background:#3d5245;border-radius:3px}.sidebar-foot{flex-shrink:0;margin-top:auto;border-top:1px solid #34463a;padding:20px 9px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9eade;color:#61705a;flex-shrink:0}.sidebar-foot .avatar{background:#34473a;color:#cbd8ce}.sidebar-foot button{margin-left:auto;color:#b5c6bb;background:none}.workarea{grid-column:2;min-width:0}.topbar{height:67px;background:#fbfcfa;border-bottom:1px solid #e2e6df;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}.breadcrumb{color:#8b948c;font-size:12px}.breadcrumb b{color:#4a5b50;font-weight:400}.top-actions{display:flex;align-items:center;gap:18px}.demo-badge{font-size:11px;color:#79856f;display:inline-flex;gap:6px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#70836c}.toplink{font-size:12px;color:#586c5c;display:flex;gap:7px;align-items:center}.main{max-width:1600px;margin:auto;padding:30px 36px 44px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.page-heading p{color:#839083;font-size:12px;margin-top:6px}.heading-actions,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 16px;border:1px solid #d5dbd2;border-radius:5px;color:#465b49;background:#fff;white-space:nowrap}.btn:hover{background:#edf1e9}.btn.primary{background:#536a50;border-color:#536a50;color:#fff}.btn.primary:hover{background:#40573d}.btn.gold{background:#ddc488;color:#241e11;border-color:#ddc488}.btn.subtle{background:transparent;border-color:transparent;padding:5px 8px;min-height:30px;font-size:12px}.btn.danger{color:#a14e43;border-color:#e9d1cb}.btn.small{min-height:30px;padding:4px 10px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 24px}.stat{background:#fff;border:1px solid #e0e5db;border-radius:7px;padding:18px 20px}.stat label{display:block;font-size:12px;color:#84917f}.stat-value{font-size:31px;color:#2d432f;margin:5px 0;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.3}.stat-value small{font-size:12px;font-weight:400;margin-left:5px;color:#8a9485}.stat-note{font-size:11px;color:#9aa190}.stat.accent{background:#edf1e7;border-color:#dfe6d8}.panel{background:#fff;border:1px solid #e0e5db;border-radius:7px;overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid #edf0e9;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{font-size:15px}.panel-body{padding:20px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:0 0 20px}.date-switch{display:flex;align-items:center;gap:5px}.date-switch input{max-width:155px;background:#fff}.segmented{display:inline-flex;padding:3px;background:#e9ede4;border-radius:6px;gap:2px}.segmented button{background:transparent;color:#7b8873;border-radius:4px;padding:7px 24px;font-size:12px}.segmented button.active{background:#fff;color:#3b563f;box-shadow:0 1px 3px #22331112}.toolbar .spacer{flex:1}.legend{display:flex;gap:15px;font-size:11px;color:#899180}.legend i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px;background:#f0f2eb;border:1px solid #cbd4c3}.legend .booked{background:#d9c28b;border-color:#d9c28b}.legend .arrived{background:#77916b;border-color:#77916b}.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:start}.floor-heading{display:flex;align-items:center;gap:14px;margin:0 0 13px}.floor-heading h2{font-size:14px;font-weight:500}.floor-heading span{font-size:11px;color:#9a9f94}.floor-heading:after{content:'';height:1px;background:#e0e5da;flex:1}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:25px}.room{position:relative;background:#fff;border:1px solid #dce2d5;border-radius:7px;min-height:158px;padding:15px 16px;text-align:left;transition:border-color .15s,transform .15s}.room:hover{border-color:#849976;transform:translateY(-2px)}.room.reserved{background:#fbf7ec;border-color:#e6dab8}.room.seated{background:#eaf0e5;border-color:#cbd9c0}.room.closed{background:#eef0ed;border-color:#dae0d6}.room-top{display:flex;justify-content:space-between;align-items:center;color:#94a08c;font-size:11px}.room-name{font-family:LocalSong,"Songti SC",serif;font-size:21px;letter-spacing:.07em;color:#3c543c;margin:15px 0 10px}.room-bottom{border-top:1px solid #e9ede3;padding-top:8px;display:flex;justify-content:space-between;font-size:10px;color:#8b977e}.room.reserved .room-name{color:#77643b}.room.reserved .room-bottom{border-color:#eae0c4}.room-customer{font-size:12px;margin:0 0 8px;display:flex;justify-content:space-between;color:#64715c}.room .available{font-size:12px;color:#a4af9b;margin:10px 0 13px}.room-state{display:inline-flex;border-radius:3px;padding:2px 6px;font-size:10px;color:#829074;background:#f3f5ed}.reserved .room-state{background:#eee2bd;color:#8f743e}.seated .room-state{background:#d3dfc8;color:#668254}.timeline{padding:4px 18px 17px}.timeline-row{display:grid;grid-template-columns:43px 1fr;gap:10px;padding:18px 0 0;text-align:left;width:100%;background:none}.timeline-time{font-size:12px;color:#89947f;padding-top:1px}.timeline-detail{position:relative;padding:0 0 16px 15px;border-left:1px solid #e2e7da}.timeline-detail:before{content:'';position:absolute;left:-4px;top:7px;width:7px;height:7px;background:#b4a274;border-radius:50%}.timeline-detail strong{font-size:12px;font-weight:500}.timeline-detail p{font-size:10px;color:#9aa18f;margin-top:4px}.note-box{padding:18px 20px;background:#f3f2e8;color:#888169;border:1px solid #e4e3d0;border-radius:6px;margin-top:16px;font-size:12px}.notice{padding:12px 16px;margin-bottom:18px;display:flex;justify-content:space-between;gap:12px;background:#f7f1df;border:1px solid #e8dcb5;border-radius:6px;color:#8a7449;font-size:12px}.notice.info{background:#eaf0e6;border-color:#d7e2cd;color:#6a7e5c}.empty{padding:45px 20px;text-align:center;color:#9ca492;font-size:13px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px}th{background:#f9faf6;color:#8b9482;font-weight:400;padding:12px 18px;border-bottom:1px solid #e8ecdf}td{padding:15px 18px;border-bottom:1px solid #edf0e8;color:#65715c}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbf7}.person{display:flex;align-items:center;gap:10px}.person strong{color:#46563d;font-weight:500}.badge{display:inline-block;padding:2px 7px;font-size:10px;border-radius:3px;background:#eef1e8;color:#7a8d6b}.badge.gold{background:#f4ebd5;color:#9c8350}.badge.green{background:#e5eddd;color:#708b5c}.badge.red{background:#f3e8e1;color:#b27e66}.link-button{background:none;color:#6c8559;font-size:12px;padding:0}.search-input{max-width:260px}.filter-select{width:auto;min-width:130px}.calendar{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{font-size:12px;text-align:center;padding:12px;color:#96a088;border-bottom:1px solid #e6ebdc}.calendar-day{min-height:105px;padding:13px;text-align:left;background:#fff;border-right:1px solid #edf0e7;border-bottom:1px solid #edf0e7;color:#5d6e52;display:flex;flex-direction:column;align-items:start}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#f4f7ed}.calendar-day.off{color:#bcc3b4;background:#fafbf8}.calendar-day.today b{background:#647e52;color:#fff;border-radius:50%;height:26px;width:26px;text-align:center}.calendar-day b{font-size:14px;font-weight:500}.calendar-day span{font-size:10px;margin-top:10px;color:#8c9b7a}.calendar-day em{font-style:normal;color:#aa9769;font-size:10px}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.rule-card{padding:23px;background:#fff;border:1px solid #e0e5d8;border-radius:7px}.rule-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.rule-symbol{height:37px;width:37px;background:#f2ead7;color:#a78b4d;border-radius:7px;display:grid;place-items:center}.rule-card h3{font-size:15px;margin-bottom:8px}.rule-card p{color:#929d86;font-size:12px;min-height:42px}.rule-footer{margin-top:20px;padding-top:14px;border-top:1px solid #ecefe6;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8c967e}.rule-off{opacity:.65}.report-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.funnel-row{display:grid;grid-template-columns:72px 1fr 42px;align-items:center;gap:15px;margin:22px 0;font-size:12px;color:#8b977c}.funnel-track{height:30px;background:#f1f3eb}.funnel-bar{height:100%;background:#82966c;min-width:2px}.funnel-row:nth-child(2) .funnel-bar{background:#9aab83}.funnel-row:nth-child(3) .funnel-bar{background:#b4bc92}.funnel-row:nth-child(4) .funnel-bar{background:#c3b78b}.funnel-row strong{text-align:right;color:#5a7046}.revenue-number{font-size:37px;color:#5e714a;line-height:1.3;margin:13px 0}.modal-overlay{position:fixed;inset:0;background:#16201866;backdrop-filter:blur(3px);z-index:60;display:flex;align-items:center;justify-content:center;padding:22px}.modal{background:#fafbf7;border-radius:10px;width:min(660px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 80px #10200e40}.modal.wide{width:min(860px,100%)}.modal-header{padding:20px 25px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e4e9da;position:sticky;top:0;z-index:2}.modal-header h2{font-size:18px}.modal-body{padding:23px 25px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;border-top:1px solid #e2e7d8;padding-top:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;color:#738164;font-size:12px}.field.full{grid-column:1/-1}.field small{font-size:11px;color:#a0a78e}.checkbox-row{display:flex;align-items:flex-start;gap:9px;color:#7c886c;font-size:12px;line-height:1.7}.form-help{font-size:11px;color:#a0a78e;margin-top:8px}.form-error{color:#a15a40;font-size:12px;margin-top:12px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-list dt{font-size:11px;color:#9ba28d}.detail-list dd{margin:5px 0 0;color:#5e704c;font-size:14px}.divider{border:0;border-top:1px solid #e3e8d8;margin:22px 0}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#253b25;color:#fff;padding:13px 22px;border-radius:6px;z-index:120;max-width:min(90vw,650px);box-shadow:0 7px 25px #172b1b22;transition:opacity .2s,transform .2s;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;background:#fcfcf9}.login-brand{padding:9vh 8vw;background:#1c2822;color:#cabb95;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:'宴';position:absolute;font:440px LocalSong,"Songti SC",serif;right:-35px;bottom:-140px;color:#ffffff03;pointer-events:none}.login-brand .seal{width:55px;height:55px;font-size:32px;margin-bottom:35px}.login-brand h1{font-family:LocalSong,"Songti SC",serif;font-size:45px;color:#e4d7b7;font-weight:400;line-height:1.5;letter-spacing:.12em}.login-brand p{margin:26px 0 50px;color:#8f9b8b;font-size:14px;line-height:2}.login-brand footer{font-size:11px;color:#667d68;letter-spacing:.06em}.login-main{display:grid;place-items:center;padding:30px}.login-form{width:min(350px,100%)}.login-form h2{font-size:24px;color:#354c32;margin-bottom:6px}.login-form p{margin-bottom:30px;font-size:12px;color:#99a28c}.login-form .field{margin-bottom:17px}.login-form .btn.primary{width:100%;margin:13px 0 24px}.quick-accounts{display:flex;gap:8px;margin:10px 0}.quick-accounts button{flex:1;font-size:11px;padding:8px;color:#7c896e;background:#f0f3ea;border:1px solid #dfe5d6;border-radius:4px}.mobile-menu{display:none}.task-card{display:flex;gap:20px;padding:22px;border-bottom:1px solid #e8edde;align-items:center}.task-card .task-content{flex:1}.task-card p{font-size:12px;color:#97a086;margin-top:6px}.upload-drop{border:1px dashed #b4c29f;border-radius:6px;padding:18px;margin-bottom:18px;background:#f5f8ef}.upload-drop input{margin-top:12px;background:transparent}.code-note{font-family:ui-monospace,monospace;background:#eef2e6;padding:12px;border-radius:5px;font-size:12px;white-space:pre-wrap}.check-list{display:grid;gap:14px}.subheading{font-size:12px;font-weight:500;color:#8b977c;margin:25px 0 14px}.customer-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.customer-facts div{background:#f0f4e9;padding:14px;border-radius:4px}.customer-facts strong{display:block;font-size:19px;color:#647d4c}.customer-facts span{font-size:10px;color:#9ca58d}
/* 客人端：沿用原稿的金色字、墨黑纸面、宋体标题和菜品头图。 */
.guest-body{background:#e7e8e2}.guest-shell{max-width:460px;margin:0 auto;background:#f8f8f1;min-height:100vh;padding-bottom:90px;box-shadow:0 0 50px #17261910}.guest-hero{position:relative;overflow:hidden;min-height:265px;background:#141a15;color:#ead8aa;padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between}.guest-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0c160b40,#0c140bec),url('/assets/invite-comeback.png') center -90px/100% auto;opacity:.9}.guest-hero>*{position:relative}.guest-logo{display:flex;gap:10px;align-items:center;font-family:LocalSong,"Songti SC",serif;font-size:21px;letter-spacing:.13em}.guest-logo .seal{width:34px;height:34px;font-size:21px}.guest-hero h1{font-family:LocalSong,"Songti SC",serif;font-size:29px;font-weight:400;line-height:1.5;margin-top:45px}.guest-hero p{font-size:11px;color:#c9c6ab;margin-top:9px}.guest-content{padding:25px}.guest-content h2{font-size:20px;font-family:LocalSong,"Songti SC",serif;font-weight:500;color:#405237;margin-bottom:18px}.guest-content .form-grid{gap:18px 12px}.guest-nav{position:fixed;bottom:0;width:100%;max-width:460px;background:#fcfdf8;border-top:1px solid #e1e6d7;display:flex;justify-content:space-around;z-index:10;padding:10px 0 max(10px,env(safe-area-inset-bottom))}.guest-nav button{background:none;color:#9fa78e;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:10px;padding:0 22px}.guest-nav button.active{color:#6a8154}.guest-nav .icon{height:21px;width:21px}.guest-card{padding:20px;background:#fff;border:1px solid #e2e7d6;border-radius:6px;margin-bottom:14px}.guest-card p{font-size:12px;color:#9ca58b;margin:8px 0}.guest-card .btn{width:100%;margin-top:8px}.guest-section-title{font-size:13px;color:#687e53;margin:24px 0 13px}.full-width{width:100%}.guest-code-row{display:flex;gap:7px;align-items:end}.guest-code-row .field{flex:1}.guest-code-row .btn{height:42px;font-size:11px;padding:8px}.guest-content .checkbox-row{font-size:11px;margin-top:15px}.coupon-card{background:#f8f1dd;border:1px solid #e1d2a8;padding:20px;border-radius:5px;margin-bottom:15px;display:flex;gap:15px;align-items:center}.coupon-value{font:36px Georgia,serif;color:#9e8043;min-width:88px}.coupon-value small{font:13px -apple-system,sans-serif;color:#9e8043}.coupon-info h3{font-size:13px;color:#8b7443}.coupon-info p{font-size:10px;color:#a79b7b;margin-top:5px}.coupon-card.expired{filter:grayscale(1);opacity:.6}.success-panel{text-align:center;padding:35px 15px}.success-mark{width:60px;height:60px;border-radius:50%;background:#e6eddb;color:#7a915f;font-size:30px;display:grid;place-items:center;margin:0 auto 24px}.success-panel h2{margin-bottom:12px}.success-panel p{color:#919e80;font-size:13px;margin-bottom:24px}.invitation-body{background:#161713}.invitation{position:relative;max-width:500px;margin:auto;min-height:100vh;background:#0b0c09;color:#d9c994;padding-bottom:35px;font-family:LocalSong,"Songti SC",serif;overflow:hidden}.invitation-hero{height:250px;position:relative;background:linear-gradient(180deg,#0b0c0920 40%,#0b0c09),url('/assets/invite-arrival.png') center -80px/100% auto}.invitation-hero.comeback{background-image:linear-gradient(180deg,#0b0c0920 30%,#0b0c09),url('/assets/invite-comeback.png')}.invitation-brand{position:absolute;top:22px;left:25px;font-size:15px;color:#e4d2a2;letter-spacing:.2em;display:flex;align-items:center;gap:10px}.invitation-brand .seal{height:28px;width:28px;font-size:17px;background:#10130cb8}.invitation-inner{position:relative;padding:0 29px}.fan{width:70px;height:37px;margin:-17px auto 0;border:1px solid #977d37;border-radius:80px 80px 0 0;background:repeating-conic-gradient(from 270deg at 50% 100%,transparent 0deg 14deg,#9e813a88 14deg 15deg);opacity:.8}.invite-en{font:italic 13px Georgia,serif;text-align:center;letter-spacing:.35em;margin:12px 0;color:#bfa052}.invitation h1{font-size:37px;font-weight:400;letter-spacing:.16em;text-align:center;color:#e1c277;line-height:1.6}.invite-rule{display:flex;gap:10px;align-items:center;margin:14px auto 18px;width:70%;color:#c7a753;font-size:12px}.invite-rule:before,.invite-rule:after{content:'';height:1px;background:#9f873e;flex:1}.invite-copy{color:#bcb39a;font-size:13px;line-height:2.1;text-align:center;margin:15px 0 27px}.invite-details{margin:20px 0}.invite-details div{display:flex;gap:25px;padding:12px 0;border-bottom:1px solid #a0833629}.invite-details dt{width:45px;font-size:12px;color:#8d8368;letter-spacing:.2em}.invite-details dd{margin:0;color:#d5ceba;font-size:16px}.invite-manager{display:flex;align-items:center;gap:12px;margin:22px 0;color:#c9bea0}.invite-manager .avatar{border:1px solid #b99b50;background:transparent;color:#b99b50;font:22px LocalSong,serif;width:43px;height:43px}.invite-manager small{color:#82785c;font-size:10px}.invite-manager .btn{margin-left:auto;background:transparent;border:1px solid #9b7f3c;color:#d0b474;font:12px LocalSong,serif;min-height:33px;padding:6px 9px;border-radius:0}.invite-address{font-size:11px;line-height:1.9;color:#8a8066;margin:20px 0 27px}.invite-actions{display:flex;gap:10px;margin:23px 0 12px}.invite-actions .btn{flex:1;font:15px LocalSong,serif;letter-spacing:.1em;border-radius:0;border:1px solid #b99b53;background:transparent;color:#d5ba78;min-height:45px}.invite-actions .btn.gold{background:linear-gradient(120deg,#dec88d,#b28c43);color:#201b0e}.invite-footer{text-align:center;font:10px/1.9 -apple-system,sans-serif;color:#756c53;margin:20px 5px 0}.invite-footer button{color:#9f8b56;background:none;font:inherit;padding:0;text-decoration:underline}.invite-coupon{border:1px solid #ad8b3f;outline:1px solid #725c2b;outline-offset:-6px;background:linear-gradient(110deg,#b39a5910,transparent);padding:23px 20px;margin:26px 0}.invite-coupon-label{font-size:12px;letter-spacing:.4em;color:#9c906c}.invite-coupon-value{font:64px/1.2 Georgia,serif;color:#d1b56b;margin:6px 0}.invite-coupon-value small{font:21px LocalSong,serif}.invite-coupon p{font-size:11px;color:#a69773;line-height:1.9}.invite-event{border-top:1px solid #9f813e;border-bottom:1px solid #9f813e;padding:18px 0;color:#b2a483;font-size:13px;text-align:center;line-height:1.8;margin:25px 0}.invite-preview{position:relative;padding:7px;text-align:center;background:#8c7839;font:10px sans-serif;color:#fff}.privacy-content{max-width:700px;margin:40px auto;padding:30px;line-height:2;color:#60704f}.privacy-content h2{margin:20px 0 10px}.privacy-content p{margin:15px 0}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.board-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:1180px){.main{padding:25px}.topbar{padding:0 25px}.board-layout{grid-template-columns:minmax(0,1fr)}.board-aside{display:none}.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:25px 12px}.stats{gap:12px}.stat{padding:14px}.report-grid{grid-template-columns:1fr}}
@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:transform .2s;width:220px}.sidebar.open{transform:none;box-shadow:0 0 0 100vw #0004}.workarea{grid-column:1}.mobile-menu{display:inline-flex}.topbar{height:58px;padding:0 17px}.breadcrumb{display:none}.top-actions{gap:10px}.demo-badge{font-size:9px}.toplink{font-size:11px}.main{padding:23px 17px}.page-heading{align-items:start;margin-bottom:20px}h1{font-size:23px}.page-heading .heading-actions .btn{padding:7px 10px;font-size:11px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat-value{font-size:27px}.toolbar{gap:10px}.toolbar .spacer{display:none}.legend{margin-left:auto;font-size:9px}.segmented button{padding:7px 20px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.room{padding:14px;min-height:150px}.calendar-day{min-height:82px;padding:8px}.calendar-day span{font-size:9px}.rule-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr;gap:14px 10px}.modal-overlay{padding:10px}.modal{max-height:94vh}.modal-body{padding:20px}.modal-header{padding:17px 20px}.login-page{grid-template-columns:1fr}.login-brand{min-height:260px;padding:30px}.login-brand .seal{display:none}.login-brand h1{font-size:30px}.login-brand p{margin:12px 0 15px;font-size:12px}.login-brand footer{display:none}.login-main{padding:35px 25px}.login-form{max-width:360px}.task-card{padding:17px;gap:10px;flex-wrap:wrap}.customer-facts{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.brand small{white-space:nowrap;font-size:9px;letter-spacing:.06em}.brand{padding-left:8px;padding-right:8px}
.guest-hero:before{background-size:100% 100%,auto 1800px;background-position:center,center -180px;background-repeat:no-repeat}.invitation-hero,.invitation-hero.comeback{background-size:100% 100%,auto 1800px;background-position:center,center -180px;background-repeat:no-repeat}

/* 客人端：照片延续至内容区，卡片和导航不再切成白色块。 */
.guest-body{background:#151610;color:#d7cfb7}
.guest-shell{position:relative;isolation:isolate;background:#10120e;box-shadow:0 0 80px #0005;min-height:100dvh}
.guest-shell:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#11130b35 0,#10120e99 180px,#10120e 310px),url('/assets/invite-comeback.png') center -180px/auto 1800px no-repeat}
.guest-hero{background:transparent;padding:30px 28px 36px;min-height:280px}
.guest-hero:before{display:none}
.guest-hero h1{color:#e6d5a5;font-size:30px;letter-spacing:.06em;line-height:1.65}
.guest-hero p{color:#c2b793;letter-spacing:.08em}
.guest-content{padding:10px 28px 35px;background:transparent}
.guest-content h2{color:#e0d2ac;font-size:22px;line-height:1.6;margin-bottom:23px}
.guest-card{background:#14160f30;border:0;border-top:1px solid #c7ae6938;border-radius:0;padding:25px 0 27px;margin-bottom:0}
.guest-card h3{font-family:LocalSong,"Songti SC",serif;color:#d8c58f;font-size:20px;font-weight:400;letter-spacing:.035em}
.guest-card p{color:#b7b09b;line-height:1.95;margin:13px 0 18px;font-size:12px}
.guest-body .btn{background:transparent;color:#d8c48d;border-color:#b89c585c;border-radius:2px;min-height:44px}
.guest-body .btn.primary{background:linear-gradient(115deg,#d4bd83,#b39658);border-color:#c9ad6a;color:#242013;letter-spacing:.08em;font-weight:500}
.guest-body .btn:hover{background:#b99e5d16}
.guest-body .btn.primary:hover{background:#dcc58c}
.guest-body .muted,.guest-body .field,.guest-body .checkbox-row{color:#b3ab94}
.guest-body .form-help,.guest-body .field small{color:#918a74;line-height:1.85}
.guest-body input,.guest-body select,.guest-body textarea{background:#11140e55;border-color:#c1a96140;color:#e1d6b7;border-radius:2px}
.guest-body select option{background:#191c14;color:#e1d6b7}
.guest-body input[type=checkbox]{accent-color:#c4a86a}
.guest-body .guest-section-title{color:#cbb782}
.guest-body .badge{color:#d0c5a4;background:#aea47724}
.guest-body .badge.gold{color:#ddc17d;background:#bd984d26}
.guest-body .badge.green{color:#bac9a4;background:#83966b26}
.guest-nav{background:#10120e8c;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid #c7ae6930;padding-top:13px;padding-bottom:max(13px,env(safe-area-inset-bottom))}
.guest-nav button{color:#888773;gap:6px}
.guest-nav button.active{color:#e1c98e}
.guest-body .coupon-card{background:#b69b4f0b;border-color:#b69b4f50;border-radius:2px}
.guest-body .coupon-value,.guest-body .coupon-value small,.guest-body .coupon-info h3{color:#d3b977}
.guest-body .coupon-info p{color:#aca084}
.guest-body .modal{background:#191d14;color:#ded1af}
.guest-body .modal-header{background:#191d14;border-color:#a78e4d40}
.guest-body .modal-footer{border-color:#a78e4d40}
.guest-body .success-panel p{color:#b6ad91}
.guest-body .success-mark{background:#c4a86720;color:#d6be85}
.guest-body .empty{color:#a69d83}
.invite-copy{white-space:pre-line}

/* ===== 客人端精简排版（首页 / 订桌 / 券包）2026-10-19 =====
   仅作用于 .guest-body 范围；员工后台与邀请帖不受影响。 */
.guest-body{
  --g-ink:#0c0d0a;--g-gold:#d6bb7e;--g-gold-2:#b8975a;--g-text:#ece3c8;--g-text-2:#b3aa90;--g-muted:#857d68;
  --g-line:rgba(214,187,126,.2);--g-serif:"Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","Songti SC","STSong",LocalSong,serif;
  background:var(--g-ink);color:var(--g-text);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
.guest-body .guest-shell{background:var(--g-ink);box-shadow:0 0 0 1px #ffffff06,0 0 90px #0008;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
/* 头图：取响油特写中无烘焙文字的区域（勺与油线），下缘渐隐到墨黑 */
.guest-body .guest-shell:before{
  background:
    linear-gradient(180deg,rgba(12,13,10,.72) 0,rgba(12,13,10,.18) 84px,rgba(12,13,10,.05) 130px,rgba(12,13,10,.78) 205px,var(--g-ink) 236px),
    url('/assets/invite-arrival.png') -150px -90px/648px auto no-repeat;
}
.guest-body .guest-hero{min-height:300px;padding:26px 24px 30px;justify-content:space-between}
.guest-body .guest-hero.compact{min-height:178px;padding-bottom:0}
.guest-body .guest-logo{font-family:var(--g-serif);font-size:19px;letter-spacing:.18em;color:#eedcaa;gap:12px}
.guest-body .guest-logo .seal{width:32px;height:32px;font-size:18px;border-color:#d6bb7e99;background:#0c0d0a66;font-family:var(--g-serif)}
.guest-body .guest-hero h1{font-family:var(--g-serif);font-size:30px;font-weight:500;line-height:1.55;letter-spacing:.08em;color:#f1e2b6;margin-top:0;text-shadow:0 2px 18px #000c}
.guest-body .guest-hero p{font-size:12px;letter-spacing:.24em;color:var(--g-gold);margin-top:12px;opacity:.85}

.guest-body .guest-content{padding:8px 24px 0}
.guest-body .guest-content h2{font-family:var(--g-serif);font-size:26px;font-weight:500;letter-spacing:.1em;line-height:1.4;color:#f1e2b6;margin:0 0 30px}
.guest-body .guest-content h2:after{content:'';display:block;width:28px;height:1px;margin-top:14px;background:var(--g-gold)}
.guest-body .guest-content h2.guest-greet{font-family:inherit;font-size:14px;font-weight:400;letter-spacing:.14em;color:var(--g-gold);margin:2px 0 6px}
.guest-body .guest-content h2.guest-greet:after{display:none}

.guest-body .guest-card{background:none;border:0;border-top:1px solid var(--g-line);border-radius:0;padding:28px 0 30px;margin:0}
.guest-body .guest-card h3{font-family:var(--g-serif);font-size:22px;font-weight:500;letter-spacing:.08em;color:#ead7a3}
.guest-body .guest-card p{font-size:14px;line-height:1.7;color:var(--g-text-2);margin:8px 0 20px}
.guest-body .guest-card .btn{margin-top:0}

/* 按钮：主按钮金色渐变，次按钮金色描边；触控高度 ≥ 50px */
.guest-body .btn{min-height:50px;border-radius:3px;font-size:15px;letter-spacing:.16em;border:1px solid rgba(214,187,126,.5);background:transparent;color:var(--g-gold);transition:background .15s,border-color .15s,filter .15s}
.guest-body .btn:hover{background:rgba(214,187,126,.08);border-color:var(--g-gold)}
.guest-body .btn.primary{background:linear-gradient(135deg,#e6d097 0%,#c9a866 55%,#a98a4e 100%);border-color:transparent;color:#1d180c;font-weight:600;box-shadow:0 8px 24px -12px #d6bb7e88}
.guest-body .btn.primary:hover{background:linear-gradient(135deg,#e6d097 0%,#c9a866 55%,#a98a4e 100%);filter:brightness(1.07)}
.guest-body .btn:focus-visible{outline:2px solid var(--g-gold);outline-offset:3px}

/* 表单：深色输入框、清晰焦点、16px 字号避免 iOS 缩放 */
.guest-body .guest-form .form-grid{gap:22px 14px}
.guest-body .field{gap:8px;font-size:12px;letter-spacing:.1em;color:var(--g-text-2)}
.guest-body input,.guest-body select,.guest-body textarea{min-height:50px;padding:12px 14px;font-size:16px;color:var(--g-text);background:rgba(255,255,255,.035);border:1px solid rgba(214,187,126,.22);border-radius:4px;color-scheme:dark;transition:border-color .15s,box-shadow .15s,background .15s}
.guest-body textarea{min-height:84px;line-height:1.6;resize:vertical}
.guest-body input::placeholder,.guest-body textarea::placeholder{color:#6f6855}
.guest-body input:focus,.guest-body select:focus,.guest-body textarea:focus{outline:none;border-color:var(--g-gold);background:rgba(214,187,126,.06);box-shadow:0 0 0 3px rgba(214,187,126,.16)}
.guest-body select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23d6bb7e' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.guest-body input[type=date],.guest-body input[type=time]{-webkit-appearance:none;appearance:none;text-align:left}
.guest-body input[type=date]::-webkit-date-and-time-value,.guest-body input[type=time]::-webkit-date-and-time-value{text-align:left}
.guest-body input::-webkit-calendar-picker-indicator{filter:invert(78%) sepia(30%) saturate(500%) hue-rotate(5deg);opacity:.75;cursor:pointer}
.guest-body .guest-rule{grid-column:1/-1;border:0;border-top:1px solid var(--g-line);margin:4px 0}
.guest-body .guest-submit{margin-top:32px}
.guest-body .guest-notice{font-size:13px;line-height:1.7;color:var(--g-gold);border-left:2px solid var(--g-gold);padding:2px 0 2px 12px;margin:-12px 0 24px}

/* 说明小字：统一为一处，弱化处理 */
.guest-body .guest-fine{font-size:11px;line-height:1.8;letter-spacing:.04em;color:var(--g-muted);text-align:center;margin:20px 0 0}
.guest-body .guest-demo-note{margin:0 0 18px}
.guest-body .empty{padding:40px 0;color:var(--g-muted);font-size:13px;letter-spacing:.06em}

/* 券包：票券式卡片，左金额、右条件、虚线分隔、两侧缺口 */
.guest-body .coupon-card{position:relative;display:grid;grid-template-columns:104px 1fr auto;gap:0 18px;align-items:center;padding:22px 18px 22px 16px;margin:0 0 16px;border:1px solid rgba(214,187,126,.45);border-radius:4px;background:linear-gradient(115deg,rgba(214,187,126,.13),rgba(214,187,126,.03) 60%);box-shadow:inset 0 0 0 5px var(--g-ink),inset 0 0 0 6px rgba(214,187,126,.16)}
.guest-body .coupon-card:before,.guest-body .coupon-card:after{content:'';position:absolute;left:115px;width:14px;height:14px;border-radius:50%;background:var(--g-ink);border:1px solid rgba(214,187,126,.45)}
.guest-body .coupon-card:before{top:-8px}.guest-body .coupon-card:after{bottom:-8px}
.guest-body .coupon-value{min-width:0;font:500 40px/1 Georgia,"Times New Roman",serif;color:#e2c787;text-align:center;border-right:1px dashed rgba(214,187,126,.35);padding-right:12px;white-space:nowrap}
.guest-body .coupon-value i{font-style:normal;font-size:20px;margin-right:2px;vertical-align:top;line-height:1.5}
.guest-body .coupon-value small{font:500 16px var(--g-serif);color:#e2c787;margin-left:2px}
.guest-body .coupon-info{min-width:0}
.guest-body .coupon-info h3{font-family:var(--g-serif);font-size:17px;font-weight:500;letter-spacing:.08em;color:#efdcaa;margin-bottom:6px}
.guest-body .coupon-info p{font-size:12px;line-height:1.7;color:var(--g-text-2);margin:0}
.guest-body .coupon-state{align-self:start;font-size:11px;letter-spacing:.1em;color:var(--g-gold);border:1px solid rgba(214,187,126,.4);border-radius:2px;padding:1px 7px;white-space:nowrap}
.guest-body .coupon-card.expired{filter:grayscale(1);opacity:.45}

/* 底部导航：深色毛玻璃，与页面同色，不出现白色块 */
.guest-body .guest-nav{left:50%;transform:translateX(-50%);background:rgba(12,13,10,.66);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-top:1px solid rgba(214,187,126,.16);padding:6px 8px max(8px,env(safe-area-inset-bottom));justify-content:space-around}
.guest-body .guest-nav button{flex:1;min-height:52px;padding:4px 0;gap:4px;font-size:11px;letter-spacing:.12em;color:#8b846f;justify-content:center;position:relative}
.guest-body .guest-nav button.active{color:#e8cf92}
.guest-body .guest-nav button.active:before{content:'';position:absolute;top:-7px;left:50%;width:18px;height:1px;margin-left:-9px;background:var(--g-gold)}
.guest-body .guest-nav .icon{width:22px;height:22px;stroke-width:1.4}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.guest-body .guest-nav{background:rgba(12,13,10,.94)}}
@media(max-width:380px){.guest-body .guest-content{padding-left:20px;padding-right:20px}.guest-body .guest-hero{padding-left:20px;padding-right:20px}.guest-body .coupon-card{grid-template-columns:92px 1fr auto;gap:0 14px}.guest-body .coupon-card:before,.guest-body .coupon-card:after{left:101px}.guest-body .coupon-value{font-size:36px}}
.guest-body .coupon-card{grid-template-columns:104px 1fr}
.guest-body .coupon-state{position:absolute;top:16px;right:16px}
.guest-body .coupon-info h3{padding-right:46px}
@media(max-width:380px){.guest-body .coupon-card{grid-template-columns:92px 1fr}}
.guest-body .coupon-card{grid-template-columns:96px 1fr;gap:0 16px}
.guest-body .coupon-card:before,.guest-body .coupon-card:after{left:105px}
.guest-body .coupon-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 共享页面（注册 / 我的）的勾选框不套用输入框尺寸 */
.guest-body input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin:1px 0 0;border-radius:3px;box-shadow:none;background:none;accent-color:#c9a866}
.guest-body .checkbox-row{align-items:flex-start;gap:10px;line-height:1.7}

/* ===== 客人端第二轮：注册 / 我的 / 提交成功 / 提示 ===== */
.guest-body .guest-lead{font-size:14px;line-height:1.7;color:var(--g-text-2);margin:-14px 0 28px}
.guest-body .guest-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.guest-body .guest-inline .field{min-width:0}
.guest-body .guest-code-btn{min-height:50px;padding:0 16px;font-size:14px;letter-spacing:.08em}
.guest-body .field small,.guest-body #code-hint{font-size:11px;letter-spacing:.04em;color:var(--g-muted);line-height:1.6}
.guest-body .guest-consents{margin:30px 0 0;padding-top:22px;border-top:1px solid var(--g-line);display:grid;gap:16px}
.guest-body .guest-consents .checkbox-row{font-size:13px;color:var(--g-text-2);letter-spacing:.02em;margin:0;line-height:1.6}
.guest-body .guest-consents a{color:var(--g-gold);text-decoration:none;border-bottom:1px solid rgba(214,187,126,.4)}
.guest-body .guest-consents em{display:block;font-style:normal;font-size:11px;color:var(--g-muted);margin-top:2px;letter-spacing:.06em}
.guest-body input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:1px 0 0;border:1px solid rgba(214,187,126,.55);border-radius:3px;background:transparent;display:grid;place-items:center;cursor:pointer}
.guest-body input[type=checkbox]:checked{background:linear-gradient(135deg,#e6d097,#b8955a);border-color:transparent}
.guest-body input[type=checkbox]:checked:after{content:'';width:5px;height:10px;border:solid #1d180c;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.guest-body input[type=checkbox]:focus-visible{outline:2px solid var(--g-gold);outline-offset:2px;box-shadow:none}
.guest-body .checkbox-row{min-height:44px;align-items:flex-start;padding:2px 0}
.guest-body .guest-secondary{margin-top:12px}

/* 我的 */
.guest-body .guest-profile{display:grid;grid-template-columns:1fr 1fr 1.4fr;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line);margin:0 0 6px}
.guest-body .guest-profile div{padding:18px 0 16px;text-align:center;min-width:0}
.guest-body .guest-profile div+div{border-left:1px solid var(--g-line)}
.guest-body .guest-profile b{display:block;font:500 22px/1.3 var(--g-serif);color:#ecd9a6;white-space:nowrap}
.guest-body .guest-profile b.guest-phone{font:500 15px/2 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;letter-spacing:.02em}
.guest-body .guest-profile span{display:block;font-size:11px;letter-spacing:.14em;color:var(--g-muted);margin-top:4px}
.guest-body .guest-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 0;border-bottom:1px solid var(--g-line);cursor:pointer}
.guest-body .guest-switch strong{display:block;font-weight:500;font-size:15px;color:var(--g-text);letter-spacing:.06em}
.guest-body .guest-switch small{display:block;font-size:11px;color:var(--g-muted);margin-top:3px;letter-spacing:.03em}
.guest-body .guest-switch input[type=checkbox]{width:48px;height:28px;min-height:28px;flex:0 0 48px;border-radius:14px;border:1px solid rgba(214,187,126,.35);background:rgba(255,255,255,.06);position:relative;display:block;transition:background .2s}
.guest-body .guest-switch input[type=checkbox]:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border:0;border-radius:50%;background:#8b846f;transform:none;transition:transform .2s,background .2s}
.guest-body .guest-switch input[type=checkbox]:checked{background:linear-gradient(135deg,#e6d097,#b8955a);border-color:transparent}
.guest-body .guest-switch input[type=checkbox]:checked:after{transform:translateX(20px);background:#1d180c;width:20px;height:20px;border:0}
.guest-body .guest-section-head{display:flex;align-items:center;justify-content:space-between;margin:36px 0 6px}
.guest-body .guest-section-head h3{font:500 20px var(--g-serif);letter-spacing:.1em;color:#ead7a3}
.guest-body .btn.subtle{min-height:44px;padding:0 4px;border:0;background:none;font-size:13px;letter-spacing:.12em;color:var(--g-gold)}
.guest-body .btn.subtle:hover{background:none;color:#f0dca8}
.guest-body .guest-order{padding:20px 0;border-bottom:1px solid var(--g-line)}
.guest-body .guest-order-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.guest-body .guest-order-top strong{font:500 17px var(--g-serif);letter-spacing:.06em;color:var(--g-text)}
.guest-body .guest-order p{font-size:14px;color:var(--g-text-2);margin:6px 0 4px}
.guest-body .guest-order small{font-size:11px;color:var(--g-muted);letter-spacing:.02em;word-break:break-all}
.guest-body .badge{font-size:11px;letter-spacing:.1em;padding:2px 8px;border-radius:2px;border:1px solid rgba(214,187,126,.3);background:transparent;color:var(--g-text-2);white-space:nowrap}
.guest-body .badge.gold{color:#e6c983;border-color:rgba(214,187,126,.55);background:rgba(214,187,126,.08)}
.guest-body .badge.green{color:#b9cf9c;border-color:rgba(160,190,120,.45);background:rgba(160,190,120,.07)}
.guest-body .badge.red{color:#d9a08c;border-color:rgba(217,160,140,.4)}
.guest-body .guest-order:not(.is-pending) .badge:not(.gold):not(.red){color:#ecd9a6;border-color:rgba(214,187,126,.45)}
.guest-body .guest-empty{text-align:center;padding:36px 0 8px}
.guest-body .guest-empty p{font:500 17px var(--g-serif);letter-spacing:.1em;color:var(--g-text-2);margin:0 0 4px}
.guest-body .guest-empty small{display:block;font-size:12px;color:var(--g-muted)}
.guest-body .guest-empty .btn{width:100%;margin-top:22px}
.guest-body .guest-account-foot{display:flex;align-items:center;justify-content:space-between;margin-top:28px;font-size:12px}
.guest-body .guest-account-foot a{color:var(--g-muted);letter-spacing:.06em;min-height:44px;display:inline-flex;align-items:center}
.guest-body .guest-account-foot .btn.subtle{color:var(--g-text-2)}

/* 弹窗（提交成功） */
.guest-body .modal-overlay{background:rgba(6,7,5,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:20px}
.guest-body .modal{width:min(400px,100%);background:#13140f;border:1px solid rgba(214,187,126,.32);border-radius:6px;box-shadow:0 30px 80px #000c,inset 0 0 0 5px #13140f,inset 0 0 0 6px rgba(214,187,126,.1);color:var(--g-text)}
.guest-body .modal-header{background:transparent;border:0;padding:14px 14px 0 24px}
.guest-body .modal-header h2{font-size:12px;font-weight:400;letter-spacing:.24em;color:var(--g-muted)}
.guest-body .modal-header .btn.subtle{width:44px;height:44px;min-height:44px;padding:0;color:var(--g-text-2);border:0}
.guest-body .modal-body{padding:4px 28px 30px}
.guest-body .success-panel{padding:8px 0 0}
.guest-body .success-mark{width:56px;height:56px;margin:0 auto 18px;font-size:24px;background:none;border:1px solid rgba(214,187,126,.55);color:var(--g-gold)}
.guest-body .success-panel h2{font:500 24px var(--g-serif);letter-spacing:.14em;color:#f1e2b6;margin:0 0 14px}
.guest-body .success-panel .success-meta{font-size:15px;color:var(--g-text);margin:0 0 6px}
.guest-body .success-panel .success-id{font-size:12px;color:var(--g-text-2);margin:0;word-break:break-all}
.guest-body .success-panel .guest-fine{margin:14px 0 24px}

/* 提示：深色金边，位于底部导航之上 */
.guest-body #toast{bottom:calc(92px + env(safe-area-inset-bottom));background:rgba(20,21,16,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--g-text);border:1px solid rgba(214,187,126,.35);border-radius:4px;font-size:13px;letter-spacing:.04em;padding:12px 18px;box-shadow:0 12px 30px #000a;max-width:min(86vw,380px);text-align:center}
.guest-body .form-error{color:#e7a48c;font-size:13px;line-height:1.6;margin-top:14px;padding:10px 12px;border-left:2px solid #c9765c;background:rgba(201,118,92,.08)}
.guest-body .guest-inline{grid-column:1/-1}
.guest-body input:not([type=checkbox]),.guest-body select{height:50px}
.guest-body input[type=date],.guest-body input[type=time]{line-height:24px}

/* ===== 员工后台：邀请帖站内预览（手机框）与样式图库 ===== */
.modal:has(.invite-phone){width:min(460px,100%);background:#1b1d1a}
.modal:has(.invite-phone) .modal-header{background:#1b1d1a;border-color:#ffffff14}
.modal:has(.invite-phone) .modal-header h2{color:#e8e2d0;font-size:15px;font-weight:500}
.modal:has(.invite-phone) .modal-header .btn{color:#cfc8b4;background:none;border-color:transparent}
.modal:has(.invite-phone) .modal-body{padding:18px 20px 20px}
.invite-phone{width:min(406px,100%);height:min(700px,calc(92vh - 150px));margin:0 auto;overflow:auto;border-radius:26px;border:8px solid #050505;box-shadow:0 0 0 1px #ffffff1c,0 20px 50px #0008;background:#050505;overscroll-behavior:contain;scrollbar-width:none}
.invite-phone::-webkit-scrollbar{display:none}
.invite-phone .invitation a,.invite-phone .invitation button{pointer-events:none}
.invite-preview-actions{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:16px;flex-wrap:wrap}
.invite-preview-actions .muted{color:#a9a392}
.invite-preview-actions .btn{background:#2a2c27;color:#e8e2d0;border-color:#ffffff22}
.invite-gallery{margin-top:34px}
.invite-gallery-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.invite-gallery-head .subheading{margin:0;font-size:14px;color:#3e5040}
.invite-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(222px,1fr));gap:16px}
.invite-thumb{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px 12px;background:#fff;border:1px solid #e0e5db;border-radius:8px}
.invite-phone.mini{width:410px;height:740px;zoom:.52;border-width:10px;border-radius:40px;cursor:zoom-in;overflow:hidden;box-shadow:0 0 0 1px #0002}
.invite-phone.mini .invitation *{animation:none!important}
.invite-thumb .btn{width:100%}
.job-fresh{text-align:left;margin:4px 0 20px;border-top:1px solid #e3e8d8}
.job-fresh>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf0e8;font-size:13px;color:#4e5d48}

/* ===== 员工后台：可读性小修（仅字号与搜索框宽度，不改配色与布局） ===== */
body:not(.guest-body):not(.invitation-body) .room-top,body:not(.guest-body):not(.invitation-body) .room-customer{font-size:12px}
body:not(.guest-body):not(.invitation-body) .room-bottom,body:not(.guest-body):not(.invitation-body) .room-state,body:not(.guest-body):not(.invitation-body) .badge,body:not(.guest-body):not(.invitation-body) .legend,body:not(.guest-body):not(.invitation-body) .stat-note,body:not(.guest-body):not(.invitation-body) .timeline-detail p,body:not(.guest-body):not(.invitation-body) .calendar-day span,body:not(.guest-body):not(.invitation-body) .calendar-day em{font-size:11.5px}
body:not(.guest-body):not(.invitation-body) table{font-size:13px}
body:not(.guest-body):not(.invitation-body) .timeline-detail strong{font-size:13px}
.toolbar .search-input{flex:0 1 300px;max-width:300px;width:100%}
.toolbar .search-input input{width:100%}

@media(max-width:800px){.invite-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.invite-thumb{padding:10px 6px}.invite-phone.mini{zoom:.36}}

/* Printer setup: each saved device collapses to its name and actual configuration. */
.printer-overview{display:flex;flex-wrap:wrap;gap:8px 20px;padding-bottom:12px;border-bottom:1px solid var(--line,#ddd)}
.printer-notice{color:#26503b;min-height:24px;margin:10px 0;font-weight:600}
.printer-devices{margin:16px 0 28px}.printer-device{border-bottom:1px solid #d1d8d1;padding:14px 0}
.printer-device>summary{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:6px 0;list-style:disclosure-closed}
.printer-device>summary:focus-visible{outline:2px solid #31523e;outline-offset:4px}
.printer-title{font-size:18px;font-weight:650;overflow-wrap:anywhere}.printer-save-state{color:#3b5144;font-size:14px}.printer-use{grid-column:1/-1;color:#525f56;font-size:14px;overflow-wrap:anywhere}
.printer-editor{padding:16px 0 4px}.printer-actions{display:flex;gap:10px;flex-wrap:wrap}
.printer-section{padding:22px 0;border-top:1px solid #d1d8d1}.printer-section h3{margin:0 0 10px;font-size:19px}.printer-station{padding:14px 0}.printer-station h4{margin:0 0 8px;font-size:16px}.printer-choices{display:flex;gap:10px 24px;flex-wrap:wrap}.printer-footer{background:#fff;padding:14px 0;margin-top:14px;border-top:1px solid #d1d8d1;align-items:center}.printer-footer span{flex:1;color:#525f56;font-size:14px}
@media(max-width:540px){.printer-device>summary{grid-template-columns:1fr}.printer-choices{display:block}.printer-actions .btn{flex:1}.printer-footer{flex-wrap:wrap}}

.printer-feedback{scroll-margin-top:100px;padding:12px 16px;margin:0 0 16px;border:1px solid #a52d24;background:#fff3f1;color:#8a211a;font-size:16px;font-weight:600;overflow-wrap:anywhere}.printer-feedback[hidden]{display:none}.printer-feedback[data-state="saving"]{border-color:#31523e;background:#f2f6f2;color:#264430}.printer-feedback:focus{outline:2px solid currentColor;outline-offset:3px}
