:root{--obsidian: #11110F;--ivory: #F7F4ED;--champagne: #C6A46A;--sand: #D9CCB5;--stone: #928C80;--white: #FFFFFF;--color-primary: var(--obsidian);--color-charcoal: var(--obsidian);--color-background: var(--ivory);--color-ivory: var(--ivory);--color-surface: var(--white);--color-surface-muted: #EFECE4;--color-sand: var(--sand);--color-stone: var(--stone);--color-text-primary: var(--obsidian);--color-text-secondary: #5A564F;--color-text-muted: var(--stone);--color-accent: var(--champagne);--color-gold: var(--champagne);--color-gold-light: #CFAC68;--color-gold-muted: #F4ECD8;--color-success: #2D7A5E;--color-danger: #C0392B;--color-border: var(--sand);--color-border-light: #E8E4DA;--color-border-dark: var(--stone);--color-overlay: rgba(17, 17, 15, .65);--font-heading: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 3px rgba(17, 17, 15, .04);--shadow-md: 0 4px 14px rgba(17, 17, 15, .06);--shadow-lg: 0 10px 30px rgba(17, 17, 15, .08);--shadow-gold: 0 6px 20px rgba(198, 164, 106, .15);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 9999px;--max-content-width: 760px;--max-app-width: 1240px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer;outline:none}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:#d9d5cc;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background)}.app-main{flex:1;display:flex;flex-direction:column;width:100%;background-color:var(--color-background);position:relative}.app-main.wide-layout{max-width:var(--max-app-width);margin:0 auto;width:100%}.top-nav{position:sticky;top:0;z-index:50;background:#f8f6f0f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);width:100%;transition:all .2s ease}.top-nav-inner{max-width:var(--max-app-width);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.brand-logo{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.brand-monogram{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-surface);background:var(--color-charcoal);width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;letter-spacing:.5px;border:1px solid #2B2A28}.brand-title-wrap{display:flex;flex-direction:column}.brand-title{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--color-text-primary);letter-spacing:.3px;line-height:1.15}.brand-subtitle{font-family:var(--font-body);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-accent);font-weight:600}.nav-links{display:none;align-items:center;gap:20px}@media(min-width:900px){.nav-links{display:flex}}.nav-link-item{font-size:13.5px;font-weight:500;color:var(--color-text-secondary);transition:all .15s ease;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm)}.nav-link-item:hover{color:var(--color-text-primary);background-color:var(--color-surface-muted)}.nav-link-item.active{color:var(--color-charcoal);background-color:var(--color-sand);font-weight:600}.nav-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--color-charcoal);color:#fff;border-radius:4px;font-size:13px;font-weight:500;transition:all .15s ease}.nav-cta-btn:hover{background-color:#2d2d2d}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#f8f6f0f5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}@media(min-width:900px){.bottom-nav{display:none}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--color-text-muted);transition:all .15s ease;padding:4px 6px;min-width:54px}.bottom-nav-item.active{color:var(--color-charcoal);font-weight:600}.bottom-nav-item.active svg{color:var(--color-accent);stroke-width:2.2px}.screen-wrapper{flex:1;display:flex;flex-direction:column;width:100%;padding-bottom:96px}@media(min-width:900px){.screen-wrapper{padding-bottom:60px}}.page-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface);position:sticky;top:0;z-index:20}.back-button{background:none;border:none;font-size:18px;color:var(--color-text-primary);cursor:pointer;padding:6px 12px 6px 4px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.back-button:hover{transform:translate(-2px)}.page-title{flex:1;font-family:var(--font-heading);font-size:20px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.2px}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.btn-primary{width:100%;background-color:var(--color-charcoal);color:#fff;padding:14px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.3px}.btn-primary:hover:not(:disabled){background-color:#2d2d2d;box-shadow:0 4px 12px #1717171f;transform:translateY(-1px)}.btn-primary:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;transform:none}.btn-secondary{width:100%;background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);padding:13px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-muted);border-color:var(--color-border-dark)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background-color:var(--color-accent);color:#fff;padding:14px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-gold:hover:not(:disabled){background-color:#9e793e;box-shadow:0 4px 14px #b18a4a40}.form-input{width:100%;background-color:var(--color-surface);border:1px solid var(--color-border);padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;color:var(--color-text-primary);transition:border-color .15s ease,box-shadow .15s ease}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #b18a4a1f}.tier-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:2px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;background-color:var(--color-sand);color:var(--color-text-secondary)}.tier-badge.gold{background-color:var(--color-gold-muted);color:#7d5d1c}.status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:2px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;background-color:var(--color-sand);color:var(--color-text-secondary)}.status-badge.confirmed{background-color:#ebf5f0;color:var(--color-success)}.status-badge.cancelled{background-color:#fdf2f2;color:var(--color-danger)}.status-badge.pending{background-color:var(--color-gold-muted);color:#7d5d1c}.skeleton-shimmer{background:linear-gradient(90deg,#efece4 25%,#f7f5ee,#efece4 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sticky-footer{position:sticky;bottom:0;background:var(--color-surface);border-top:1px solid var(--color-border-light);padding:16px 24px;z-index:30;box-shadow:0 -4px 16px #1717170a}@media(max-width:899px){.sticky-footer{bottom:56px}}
