*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f6f8;color:#1a1a1a;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;overscroll-behavior-y:none}.container{max-width:480px;margin:0 auto;padding:16px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));min-height:100%}.container.no-nav{padding-bottom:16px}.top-bar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #eef0f3;padding-top:calc(14px + env(safe-area-inset-top,0px))}.top-bar h1{font-size:17px;font-weight:600;color:#1a1a1a}.top-bar button{background:none;border:none;color:#ff7a9c;font-size:14px;font-weight:500;cursor:pointer;padding:6px 8px;border-radius:8px}.top-bar button:active{background:#fff0f4}.card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;border:1px solid rgba(0,0,0,.02)}.card-title{font-size:15px;font-weight:600;margin-bottom:12px;color:#1a1a1a}.btn{display:block;width:100%;padding:14px 16px;border:none;border-radius:12px;background:linear-gradient(135deg,#ff8fa8,#ff7a9c);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:transform .08s,opacity .15s;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98);opacity:.9}.btn:disabled{background:#e0e0e0;color:#999;cursor:not-allowed;transform:none}.btn.secondary{background:#fff;color:#ff7a9c;border:1.5px solid #ffd0dc}.btn.secondary:active{background:#fff5f8}.btn.ghost{background:#f5f6f8;color:#666;border:none}.btn.sm{padding:8px 14px;font-size:13px;width:auto;display:inline-block}.btn.danger{background:linear-gradient(135deg,#ff5c5c,#e53935)}.input{width:100%;padding:14px;border:1.5px solid #e8eaed;border-radius:12px;font-size:16px;outline:none;background:#fafbfc;transition:border-color .15s,background .15s;font-family:inherit;color:#1a1a1a}.input:focus{border-color:#ff7a9c;background:#fff}.input::placeholder{color:#b8bcc4}textarea.input{resize:vertical;min-height:80px}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.label{display:block;font-size:13px;font-weight:500;color:#6b7280;margin:14px 0 6px}.title{font-size:24px;font-weight:700;margin-bottom:6px;color:#1a1a1a;letter-spacing:-.3px}.subtitle{font-size:14px;color:#9ca3af;margin-bottom:20px}.error{color:#e53935;font-size:13px;margin-top:8px;padding:8px 12px;background:#fff5f5;border-radius:8px}.success{color:#10b981;font-size:13px;margin-top:8px}.hint{color:#9ca3af;font-size:12px;margin-top:4px}.section-title{font-size:13px;font-weight:600;color:#6b7280;margin:16px 4px 8px;text-transform:uppercase;letter-spacing:.5px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-item{background:#fff;border-radius:16px;padding:22px 16px;text-align:center;box-shadow:0 1px 3px #0000000a;cursor:pointer;transition:transform .1s,box-shadow .15s;border:1px solid rgba(0,0,0,.02)}.menu-item:active{transform:scale(.97)}.menu-item .icon{font-size:32px;margin-bottom:8px;line-height:1}.menu-item .name{font-size:14px;color:#374151;font-weight:500}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4}.badge.pending{background:#fff3cd;color:#856404}.badge.confirmed{background:#d1fae5;color:#065f46}.badge.checked_in{background:#dbeafe;color:#1e40af}.badge.serving{background:#ede9fe;color:#5b21b6}.badge.completed{background:#e5e7eb;color:#374151}.badge.cancelled,.badge.no_show{background:#fee2e2;color:#991b1b}.badge.draft{background:#fef3c7;color:#92400e}.badge.paid,.badge.active{background:#d1fae5;color:#065f46}.list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #f3f4f6}.list-item:last-child{border-bottom:none}.list-item .info{flex:1;min-width:0}.list-item .primary{font-size:15px;font-weight:500;color:#1a1a1a;margin-bottom:2px}.list-item .secondary{font-size:13px;color:#9ca3af}.empty-state{padding:60px 20px;text-align:center;color:#9ca3af}.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state .text{font-size:14px}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.stat-card{background:#fff;border-radius:14px;padding:16px;box-shadow:0 1px 3px #0000000a}.stat-card .stat-label{font-size:12px;color:#9ca3af;margin-bottom:6px}.stat-card .stat-value{font-size:22px;font-weight:700;color:#1a1a1a;letter-spacing:-.5px}.stat-card .stat-value.pink{color:#ff7a9c}.stat-card .stat-value.green{color:#10b981}.stat-card .stat-value.red{color:#ef4444}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:90;display:flex;justify-content:space-around;background:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid #eef0f3;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav .nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;background:none;border:none;cursor:pointer;color:#9ca3af;font-size:11px;font-weight:500;transition:color .15s;-webkit-user-select:none;user-select:none}.bottom-nav .nav-item .nav-icon{font-size:22px;line-height:1;margin-bottom:2px}.bottom-nav .nav-item.active{color:#ff7a9c}.bottom-nav .nav-item:active{background:#fff5f8}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-btn{padding:12px 0;border:1.5px solid #e8eaed;background:#fff;border-radius:10px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.slot-btn:active{transform:scale(.96)}.slot-btn.selected{border-color:#ff7a9c;background:#fff0f4;color:#ff7a9c;font-weight:600}.segmented{display:flex;background:#f5f6f8;padding:3px;border-radius:10px;margin-bottom:12px}.segmented button{flex:1;padding:8px 0;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s}.segmented button.active{background:#fff;color:#ff7a9c;font-weight:600;box-shadow:0 1px 2px #0000000f}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-panel{background:#fff;width:100%;max-width:480px;border-radius:20px 20px 0 0;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header .modal-title{font-size:18px;font-weight:700}.modal-close{background:#f5f6f8;border:none;width:32px;height:32px;border-radius:50%;font-size:18px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center}.brand-header{padding:60px 0 32px;text-align:center}.brand-logo{font-size:56px;margin-bottom:12px;line-height:1}.brand-title{font-size:26px;font-weight:700;color:#1a1a1a;letter-spacing:-.5px}.brand-sub{font-size:13px;color:#9ca3af;margin-top:4px}.card.hero{background:linear-gradient(135deg,#ff9aab,#ff7a9c);color:#fff;box-shadow:0 8px 24px #ff7a9c40}.card.hero .hero-title{font-size:15px;font-weight:600;margin-bottom:4px}.card.hero .hero-sub{font-size:13px;opacity:.9}@supports (padding: env(safe-area-inset-bottom)){.container{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.top-bar .top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.menu-item .icon{font-size:30px;margin-bottom:6px;display:inline-block;line-height:1}.menu-item .name{font-size:13px;color:#4b5563;font-weight:500}.menu-grid>.menu-item{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center}.top-bar{gap:8px}.top-bar h1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
