:root{--red-900:#4A0909;--red-800:#5E0C0C;--red-700:#8E1D1D;--red-600:#821717;--red-500:#A32521;--red-450:#8F1C1C;--red-btn:#BF3329;--red-ribbon:#BE3328;--red-title:#9E1F1F;--gold-100:#F5E7C8;--gold-200:#F5DCA4;--gold-300:#E8C48A;--gold-500:#C9964B;--gold-600:#B08547;--ink-900:#3D2A1A;--ink-700:#4A3222;--ink-500:#6B4A2F;--ink-400:#8A6D53;--ink-300:#9A7B5A;--tan-300:#B9A488;--tan-200:#C9BBA6;--bg:#F5F1EA;--card:#FFFFFF;--icon-bg:#FBEAE8;--tag-bg:#FBF3E6;--input-bg:#FBF7F0;--notice-bg:#F3E6D2;--line:#DED8CE;--shadow:0 2px 6px rgba(0,0,0,.06);--grad-v:linear-gradient(180deg,#A32521 0%,#8F1C1C 30%,#5E0C0C 100%);--grad-h:linear-gradient(90deg,#BF3329 0%,#821717 100%);--serif:"Noto Serif SC","Source Han Serif CN","STZhongsong","SimSun",serif;--sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{font-family:var(--sans);background:#241110;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px 0}.phone{width:375px;background:var(--bg);overflow:hidden;position:relative;border-radius:28px;box-shadow:0 24px 80px #0000008c,0 0 0 10px #171010;height:min(812px,calc(100vh - 48px))}@media (max-width:430px){body{padding:0}.phone{width:100%;height:100vh;height:100dvh;border-radius:0;box-shadow:none}}.screen{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.center-head{padding:14px 20px 18px;display:flex;flex-direction:column;align-items:center;gap:8px}.center-head .h-title{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--gold-200);letter-spacing:2px}.center-head .h-sub{font-size:12px;line-height:18px;color:var(--gold-300);text-align:center;max-width:315px}.statusbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0}.statusbar .time{font-size:15px;font-weight:600}.statusbar svg{display:block}.navbar{height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.navbar .nav-title{font-size:17px;font-weight:600;letter-spacing:2px}.navbar.with-back{justify-content:flex-start;padding:0 16px;gap:8px}.navbar.with-back .nav-title{font-size:16px;letter-spacing:2px}.back-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.tabbar{height:calc(62px + env(safe-area-inset-bottom,0px));padding:0 20px env(safe-area-inset-bottom,0px);background:var(--card);border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.tabbar .tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:9px;cursor:pointer;width:52px}.tabbar .tab span{font-size:11px;color:var(--tan-300);font-weight:400;transition:color .15s}.tabbar .tab svg{display:block;transition:opacity .15s}.tabbar .tab.active span{color:var(--red-title);font-weight:600}.page{height:100%;display:flex;flex-direction:column;overflow:hidden}.scroll-area{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}.scroll-area::-webkit-scrollbar{display:none}.home{background:var(--grad-v)}.home .hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px}.home .hero-title{font-family:var(--serif);font-weight:900;font-size:28px;color:var(--gold-200);letter-spacing:2px}.home .hero-sub{font-size:12px;color:var(--gold-300);letter-spacing:2px}.home .hero-badge{padding:6px 10px;border-radius:12px;background:#ffffff1a;border:1px solid rgba(232,196,138,.4);font-size:10px;color:var(--gold-100)}.home .content{flex:1;background:var(--bg);border-radius:20px 20px 0 0;padding:16px;display:flex;flex-direction:column;gap:16px}.home .sec-row{display:flex;align-items:center;justify-content:space-between;width:100%}.home .sec-title{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--red-title)}.home .sec-sub{font-size:11px;color:var(--ink-300)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}.grid-item{background:var(--card);border-radius:12px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .12s}.grid-item:active{transform:scale(.94)}.grid-item .g-icon{width:40px;height:40px;border-radius:20px;background:var(--icon-bg);display:flex;align-items:center;justify-content:center}.grid-item .g-label{font-size:11px;font-weight:500;color:var(--ink-700)}.grid-item:nth-child(8n+1) .g-label{color:var(--ink-700)}.journey{background:var(--card);border-radius:12px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;width:100%}.journey .flow{display:flex;align-items:center;gap:6px;width:100%}.journey .node{padding:6px 9px;border-radius:14px;background:var(--icon-bg);font-size:11px;font-weight:500;color:var(--red-title);white-space:nowrap}.journey .node.last{background:var(--red-ribbon);color:var(--gold-200)}.journey .link{flex:0 0 12px;height:1px;background:var(--gold-500)}.banner{border-radius:12px;padding:14px;background:var(--grad-h);display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.banner .b-text{display:flex;flex-direction:column;gap:4px}.banner .b-title{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--gold-200)}.banner .b-sub{font-size:11px;color:var(--gold-300)}.banner .b-btn{padding:8px 14px;border-radius:16px;background:var(--gold-200);font-size:12px;font-weight:700;color:#8e1d1d;white-space:nowrap;cursor:pointer}.list-page{background:var(--bg)}.list-page .statusbar,.list-page .navbar,.list-page .navbar .nav-title{color:var(--ink-900)}.page-head{padding:16px;background:var(--grad-h);display:flex;flex-direction:column;align-items:center;gap:6px}.page-head .h-title{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--gold-200);letter-spacing:1px;text-align:center}.page-head .h-sub{font-size:11px;line-height:17px;color:var(--gold-300);text-align:center}.chips{display:flex;gap:8px;padding:16px 16px 0;flex-wrap:wrap}.chip{padding:6px 12px;border-radius:14px;background:var(--card);font-size:12px;color:var(--ink-500);cursor:pointer}.chip.active{background:var(--red-title);color:var(--gold-200);font-weight:600}.svc-list{padding:16px;display:flex;flex-direction:column;gap:10px}.svc-row{background:var(--card);border-radius:12px;padding:12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform .12s}.svc-row:active{transform:scale(.98)}.svc-row .r-icon{width:40px;height:40px;border-radius:20px;background:var(--icon-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.svc-row .r-col{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.svc-row .r-name{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--ink-900)}.svc-row .r-desc{font-size:11px;color:var(--ink-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.svc-row .r-arrow{flex-shrink:0}.detail{background:var(--bg)}.detail .top-wrap{background:var(--grad-h);flex-shrink:0}.detail .head{padding:14px 20px 18px;display:flex;flex-direction:column;align-items:center;gap:8px}.detail .d-icon{width:56px;height:56px;border-radius:28px;background:#ffffff29;display:flex;align-items:center;justify-content:center}.detail .d-name{font-family:var(--serif);font-weight:900;font-size:26px;color:var(--gold-200);letter-spacing:2px}.detail .d-tag{padding:4px 10px;border-radius:6px;background:#3d0a0a;border:1px solid rgba(232,196,138,.9);font-size:11px;font-weight:600;color:var(--gold-200);letter-spacing:1px}.detail .d-pos{font-size:12px;line-height:18px;color:var(--gold-300);text-align:center;max-width:310px}.detail .body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.card{background:var(--card);border-radius:12px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.card .c-title{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--red-title)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:8px 12px;border-radius:8px;background:var(--tag-bg);font-size:12px;font-weight:500;color:var(--ink-500)}.aud{display:flex;flex-wrap:wrap;gap:8px}.aud .a-main{padding:8px 12px;border-radius:14px;background:var(--red-title);font-size:12px;font-weight:500;color:var(--gold-200)}.aud .a-sub{padding:8px 12px;border-radius:14px;background:transparent;border:1px solid var(--gold-500);font-size:12px;font-weight:500;color:var(--gold-600)}.flow{display:flex;align-items:center;gap:6px;width:100%}.flow .node{padding:6px 9px;border-radius:14px;background:var(--icon-bg);font-size:11px;font-weight:500;color:var(--red-title);white-space:nowrap}.flow .node.last{background:var(--red-ribbon);color:var(--gold-200)}.flow .link{flex:0 0 10px;height:1px;background:var(--gold-500);min-width:6px}.notice{border-radius:10px;padding:12px;background:var(--notice-bg);display:flex;gap:8px;align-items:center}.notice p{font-size:11px;line-height:17px;color:var(--ink-400)}.action-bar{padding:16px;background:var(--card);border-top:1px solid var(--line);display:flex;gap:10px;flex-shrink:0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.btn{flex:1;padding:12px 0;border-radius:22px;text-align:center;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer}.btn-primary{background:var(--grad-h);color:var(--gold-200)}.btn-ghost{background:transparent;border:1px solid var(--gold-500);color:var(--gold-600)}.contact{background:var(--bg)}.contact .top-wrap{background:var(--grad-h);flex-shrink:0}.contact .head{padding:20px;background:var(--grad-h);display:flex;flex-direction:column;align-items:center;gap:6px}.contact .h-title{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--gold-200);letter-spacing:2px}.contact .h-sub{font-size:12px;color:var(--gold-300)}.info-card{background:var(--card);border-radius:12px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.info-row{display:flex;align-items:center;gap:10px;width:100%}.info-row .i-icon{width:32px;height:32px;border-radius:16px;background:var(--icon-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-row .i-phone{font-size:18px;font-weight:700;color:var(--ink-900);letter-spacing:1px}.info-row .i-text{font-size:13px;font-weight:500;color:var(--ink-500)}.form-card{background:var(--card);border-radius:12px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.form-card .f-title{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--red-title)}.input{width:100%;padding:12px;border-radius:8px;background:var(--input-bg);border:1px solid var(--line);font-family:var(--sans);font-size:13px;color:var(--ink-700);outline:none}.input::placeholder{color:var(--tan-300)}.input:focus{border-color:var(--gold-500)}.input.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'><path d='M3 5l4 4 4-4' stroke='%23B9A488' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center}textarea.input{height:76px;resize:none}.submit-btn{width:100%;padding:13px 0;border-radius:22px;background:var(--grad-h);font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:1px;color:var(--gold-200);border:none;cursor:pointer}.mine{background:var(--bg)}.mine .top-wrap{background:var(--grad-h);flex-shrink:0}.mine .head{padding:20px;background:var(--grad-h);display:flex;flex-direction:column;align-items:center;gap:8px}.mine .avatar{width:56px;height:56px;border-radius:28px;background:#ffffff2e;display:flex;align-items:center;justify-content:center}.mine .m-name{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--gold-200);letter-spacing:2px}.mine .m-role{font-size:11px;color:var(--gold-300)}.mine .m-cardchip{padding:6px 12px;border-radius:14px;background:#3d0a0a;border:1px solid rgba(232,196,138,.9);font-size:11px;font-weight:600;color:var(--gold-200);letter-spacing:1px}.benefit-row{display:flex;align-items:center;justify-content:space-between;width:100%}.benefit-row .b-name{font-size:13px;font-weight:500;color:var(--ink-700)}.status-pill{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.status-pill.on{background:#e4f0e4;color:#3f7a3f}.status-pill.wait{background:var(--tag-bg);color:var(--gold-600)}.menu-row{display:flex;align-items:center;gap:12px;padding:8px 0;width:100%;cursor:pointer}.menu-row .m-icon{width:32px;height:32px;border-radius:16px;background:var(--icon-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.menu-row .m-label{flex:1;font-size:13px;font-weight:500;color:var(--ink-700)}.record-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);width:100%}.record-row:last-child{border-bottom:none}.record-row .r-date{font-size:11px;color:var(--ink-300);flex-shrink:0}.record-row .r-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.record-row .r-title{font-size:13px;font-weight:500;color:var(--ink-700)}.record-row .r-sub{font-size:11px;color:var(--ink-300)}.svc-card{border-radius:12px;padding:16px;background:var(--card);box-shadow:var(--shadow);border:1px solid var(--gold-500);display:flex;flex-direction:column;gap:8px;width:100%}.svc-card .sc-no{font-size:12px;color:var(--gold-600);letter-spacing:1px}.svc-card .sc-name{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--red-title)}.about-p{font-size:12px;line-height:20px;color:var(--ink-500)}.secondary-nav-title{color:var(--gold-200)}.empty{padding:26px 12px;text-align:center;font-size:12px;line-height:20px;color:var(--ink-300)}.admin-entry{position:fixed;right:24px;bottom:18px;font-size:12px;color:#f5dca4;text-decoration:none;opacity:.75}.admin-entry:hover{opacity:1}.toast{position:fixed;left:50%;bottom:120px;transform:translate(-50%) translateY(10px);background:#3d2a1aeb;color:#f5dca4;font-size:13px;padding:10px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:all .25s;z-index:99;max-width:80vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width:430px){.admin-entry{display:none}}
