*{margin:0;padding:0;box-sizing:border-box}html,body{font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f6fa}:root{--color-primary: #083D9E;--color-primary-dark: #0d2b5e;--color-primary-light: #2563eb;--color-gold: #FFD700;--color-orange: #FF6B35;--color-orange-light: #ff8c5a;--color-green: #22c55e;--color-red: #e74c3c;--color-yellow: #F59E0B;--text-primary: #1a1a2e;--text-secondary: #666;--text-muted: #999;--text-white: #fff;--bg-page: #f5f7fa;--bg-white: #fff;--bg-card: #fff;--bg-input: #FAFBFC;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 22px;--shadow-card: 0 1px 6px rgba(0,0,0,.04);--shadow-btn-blue: 0 4px 14px rgba(8,61,158,.22);--shadow-btn-orange: 0 4px 14px rgba(255,107,53,.25);--font-xs: 11px;--font-sm: 12px;--font-md: 14px;--font-lg: 16px;--font-xl: 18px;--font-xxl: 20px;--font-title: 26px;--sidebar-width: 220px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background:var(--bg-page);line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit;outline:none}img{max-width:100%}.app-container{max-width:480px;width:100%;margin:0 auto;min-height:100vh;background:var(--bg-page);position:relative}.btn-primary{display:block;width:100%;height:44px;line-height:44px;background:linear-gradient(135deg,#083d9e,#2563eb);color:#fff;font-size:var(--font-lg);font-weight:700;border-radius:var(--radius-pill);border:none;text-align:center;box-shadow:var(--shadow-btn-blue);transition:transform .15s,box-shadow .15s}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.btn-orange{display:block;width:100%;height:44px;line-height:44px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;font-size:var(--font-lg);font-weight:700;border-radius:var(--radius-pill);border:none;text-align:center;box-shadow:var(--shadow-btn-orange)}.btn-orange:active{transform:scale(.98)}.btn-orange:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.btn-call{display:flex;align-items:center;justify-content:center;gap:6px;height:44px;background:linear-gradient(135deg,#ff6b35,#ff8c5a);color:#fff;font-size:var(--font-lg);font-weight:700;border-radius:9px;border:none;box-shadow:var(--shadow-btn-orange);padding:0 20px;cursor:pointer}.btn-call:active{transform:scale(.98)}.btn-buy{display:inline-block;padding:6px 18px;background:linear-gradient(135deg,#2563eb,#1a4fa0);color:#fff;font-size:var(--font-sm);font-weight:600;border-radius:14px;border:none;box-shadow:0 2px 8px #2563eb33;cursor:pointer}.btn-danger{display:block;width:100%;height:44px;line-height:44px;background:#fff;color:var(--color-red);font-size:var(--font-md);border-radius:var(--radius-md);border:1px solid #eee;text-align:center}.card{background:#fff;border-radius:var(--radius-md);padding:15px;margin:8px 12px;box-shadow:var(--shadow-card)}.section-title{font-size:var(--font-lg);font-weight:700;color:var(--text-primary);padding:12px 12px 8px}.form-input{width:100%;padding:10px;border:1px solid #e8e8e8;border-radius:var(--radius-sm);margin-bottom:10px;background:var(--bg-input);font-size:var(--font-md);color:var(--text-primary)}.form-input:focus{border-color:var(--color-primary-light)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:#fff;border-top:1px solid #eee;padding-bottom:env(safe-area-inset-bottom);z-index:100;box-shadow:0 -2px 8px #00000008}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0;font-size:var(--font-xs);color:var(--text-muted);cursor:pointer;transition:color .2s}.tab-item.active{color:var(--color-primary);font-weight:600}.tab-icon{width:24px;height:24px;margin-bottom:2px;object-fit:contain}.page-padding{padding:0 12px}.bottom-safe{height:60px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.empty-icon{font-size:64px;opacity:.5;margin-bottom:12px}.empty-text{font-size:var(--font-md);color:#aaa}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px 24px;background:#000000bf;color:#fff;border-radius:8px;font-size:var(--font-sm);z-index:9999;white-space:nowrap}.page-header-bar{background:#083d9e;padding:12px 15px;text-align:center}.page-header-bar .title{font-size:var(--font-xl);font-weight:700;color:#fff}.announce-bar{background:#fff8e1;border-left:3px solid #f59e0b;padding:10px 12px;margin:8px 12px;border-radius:4px;font-size:var(--font-sm);color:#92400e}.tab-capsules{display:flex;gap:8px;padding:8px 12px;overflow-x:auto;white-space:nowrap}.tab-capsule{flex-shrink:0;padding:6px 16px;border-radius:20px;font-size:var(--font-sm);color:var(--text-secondary);background:#f0f0f0;cursor:pointer;transition:all .2s;border:none}.tab-capsule.active{background:var(--color-primary);color:#fff;font-weight:600}.tag-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.tag-pending{background:#fff3e0;color:#ff9800}.tag-paid{background:#e8f5e9;color:#10b981}.tag-accepted{background:#e6f7ff;color:#1890ff}.tag-processing{background:#e8f5e9;color:#083d9e}.tag-completed{background:#f5f7fa;color:#999}.tag-cancelled{background:#fff3e0;color:#ff9800}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:30px auto}.pay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999}.pay-dialog{background:#fff;border-radius:var(--radius-lg);padding:30px 40px;text-align:center;box-shadow:0 8px 30px #00000026}.pay-dialog .spinner{margin:0 auto 12px}.pay-dialog .pay-text{font-size:var(--font-md);color:var(--text-secondary)}.footer-contact{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;font-size:var(--font-sm);color:var(--color-primary);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #f0f0f0}.footer-contact a{color:var(--color-primary);font-weight:600}@media (min-width: 769px){body{background:#eef1f5}.app-container-pc{display:flex;min-height:100vh;max-width:100%;margin:0}.pc-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:linear-gradient(180deg,#0a1628,#0d2b5e 60%,#1a4fa0);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;overflow-y:auto;box-shadow:2px 0 16px #0000001f}.pc-sidebar-logo{padding:24px 20px 18px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.pc-sidebar-logo img{width:56px;height:56px;border-radius:50%;margin-bottom:8px;border:2px solid rgba(255,255,255,.2)}.pc-sidebar-logo .brand-name{font-size:18px;font-weight:800;letter-spacing:1px;color:#fff}.pc-sidebar-logo .brand-sub{font-size:11px;color:#ffffff8c;margin-top:2px}.pc-nav-list{flex:1;padding:10px 0}.pc-nav-item{display:flex;align-items:center;padding:13px 22px;color:#ffffffb3;cursor:pointer;transition:all .2s;font-size:14px;border-left:3px solid transparent}.pc-nav-item:hover{background:#ffffff14;color:#fff}.pc-nav-item.active{background:#ffffff1f;color:#fff;border-left-color:var(--color-gold);font-weight:600}.pc-nav-icon{width:22px;height:22px;margin-right:12px;object-fit:contain}.pc-sidebar-footer{padding:12px 20px;border-top:1px solid rgba(255,255,255,.1)}.pc-sidebar-footer .contact-phone{display:block;color:#ffffffb3;font-size:11px;text-align:center;line-height:1.8}.pc-sidebar-footer .contact-phone strong{display:block;font-size:15px;color:var(--color-gold);letter-spacing:.5px}.pc-main{flex:1;margin-left:var(--sidebar-width);min-height:100vh;background:var(--bg-page)}.pc-main-inner{max-width:960px;margin:0 auto;padding:24px 32px}.card{margin:12px 0;border-radius:var(--radius-lg)}.pc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.pc-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pc-shop-wrap{display:flex;gap:16px;height:calc(100vh - 48px)}.pc-shop-cats{width:180px;flex-shrink:0;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.pc-shop-content{flex:1;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.pc-me-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pc-me-grid .pc-card-full{grid-column:1 / -1}}.admin-layout{display:flex;min-height:100vh;background:#f0f2f5}.admin-sidebar{width:220px;min-width:220px;background:linear-gradient(180deg,#1a2740,#1e3a5f);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;transition:transform .3s}.admin-sidebar-logo{padding:20px 16px;font-size:18px;font-weight:800;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:8px}.admin-sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.admin-sidebar-item{display:flex;align-items:center;gap:10px;padding:11px 16px;color:#ffffffb3;text-decoration:none;font-size:14px;transition:all .15s;cursor:pointer;border-left:3px solid transparent}.admin-sidebar-item:hover{background:#ffffff14;color:#fff}.admin-sidebar-item.active{background:#ffffff1f;color:#fff;border-left-color:#3b82f6}.admin-sidebar-item .icon{font-size:18px;width:24px;text-align:center}.admin-sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#fff6}.admin-main{flex:1;margin-left:220px;min-height:100vh;padding-bottom:20px}.admin-main-header{background:#fff;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000000a;position:sticky;top:0;z-index:50}.admin-main-header h1{margin:0;font-size:18px;font-weight:700;color:#1a1a2e}.admin-main-header .user-info{display:flex;align-items:center;gap:12px;font-size:13px;color:#666}.admin-main-content{padding:20px 24px;max-width:1300px}.admin-hamburger{display:none;position:fixed;top:10px;left:10px;z-index:200;width:36px;height:36px;background:#1e3a5f;color:#fff;border:none;border-radius:50%;font-size:18px;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d}.admin-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.admin-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 8px #00000014;z-index:100;padding:4px 0 env(safe-area-inset-bottom,0)}.admin-bottom-nav-inner{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0}.admin-bottom-nav-item{flex:0 0 auto;min-width:56px;display:flex;flex-direction:column;align-items:center;padding:6px 8px;color:#999;text-decoration:none;font-size:10px;cursor:pointer;gap:2px;transition:color .15s}.admin-bottom-nav-item .icon{font-size:20px}.admin-bottom-nav-item.active{color:#1e3a5f;font-weight:600}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.admin-table-wrap table{width:100%;border-collapse:collapse;min-width:600px;font-size:13px}.admin-table-wrap th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0;white-space:nowrap}.admin-table-wrap td{padding:10px 16px;border-bottom:1px solid #f0f0f0;color:#333}.admin-table-wrap tr:last-child td{border-bottom:none}.admin-card-grid{display:grid;gap:12px}.admin-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.admin-form-grid{display:grid;gap:12px}.admin-form-grid.cols-2{grid-template-columns:1fr 1fr}.admin-form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.admin-form-group label{display:block;font-size:13px;color:#666;margin-bottom:4px;font-weight:500}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .2s}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:#3b82f6}.admin-form-group textarea{resize:vertical;min-height:60px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 18px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-btn:hover{opacity:.9;transform:translateY(-1px)}.admin-btn:active{transform:translateY(0)}.admin-btn-primary{background:#1e3a5f;color:#fff}.admin-btn-success{background:#10b981;color:#fff}.admin-btn-danger{background:#ef4444;color:#fff}.admin-btn-warning{background:#f59e0b;color:#fff}.admin-btn-outline{background:#fff;color:#666;border:1px solid #ddd}.admin-btn-sm{padding:5px 12px;font-size:12px;border-radius:6px}.admin-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500;white-space:nowrap}.admin-badge-success{background:#ecfdf5;color:#065f46}.admin-badge-warning{background:#fffbeb;color:#92400e}.admin-badge-info{background:#eff6ff;color:#1e40af}.admin-badge-danger{background:#fef2f2;color:#991b1b}.admin-badge-gray{background:#f3f4f6;color:#6b7280}@media (max-width: 767px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-hamburger{display:flex}.admin-overlay.show{display:block}.admin-main{margin-left:0!important;padding-bottom:70px}.admin-main-content{padding:12px}.admin-bottom-nav{display:block}.admin-form-grid.cols-2,.admin-form-grid.cols-3{grid-template-columns:1fr}.admin-table-wrap table{font-size:12px;min-width:500px}.admin-table-wrap th,.admin-table-wrap td{padding:8px 10px}.admin-search-row{flex-direction:column}}
