@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,400&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--rose: #E8A5B0;--rose-light: #F5D5DA;--rose-dark: #C07080;--blush: #FAF0F2;--cream: #FDF8F5;--mocha: #8B6F6F;--mocha-dark: #5C4545;--sage: #A8BBA8;--text-main: #3D2B2B;--text-soft: #7A5C5C;--text-hint: #B09090;--white: #FFFFFF;--border: rgba(139,111,111,.15);--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--nav-h: 64px;--header-h: 60px}html,body,#root{height:100%;background:var(--cream);font-family:var(--font-body);color:var(--text-main);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:0;height:0}.app-shell{max-width:480px;margin:0 auto;height:100%;display:flex;flex-direction:column;background:var(--cream);position:relative;overflow:hidden}.screen{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(var(--nav-h) + 8px)}.header{background:var(--blush);padding:12px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--white);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;height:var(--nav-h);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:8px 0;font-size:10px;font-weight:500;color:var(--text-hint);letter-spacing:.03em;transition:color .15s;-webkit-user-select:none;user-select:none}.nav-item.active{color:var(--mocha-dark)}.nav-item svg{transition:stroke .15s}.nav-fab{width:46px;height:46px;background:var(--mocha-dark);border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .15s}.nav-fab:active{transform:scale(.93)}.btn-primary{width:100%;background:var(--mocha-dark);color:var(--white);border:none;border-radius:var(--radius-lg);padding:15px;font-family:var(--font-body);font-size:15px;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:background .15s,transform .1s}.btn-primary:active{transform:scale(.98)}.btn-secondary{width:100%;background:var(--blush);color:var(--mocha-dark);border:1px solid var(--border);border-radius:var(--radius-lg);padding:13px;font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,transform .1s}.btn-secondary:active{transform:scale(.98)}.btn-danger{width:100%;background:#fff0f0;color:#c04040;border:1px solid rgba(192,64,64,.2);border-radius:var(--radius-lg);padding:13px;font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer}.input-group{margin-bottom:16px}.input-label{display:block;font-size:12px;font-weight:500;color:var(--text-soft);margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}.input-field{width:100%;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;font-family:var(--font-body);font-size:15px;color:var(--text-main);outline:none;transition:border-color .15s}.input-field:focus{border-color:var(--rose)}.input-field::placeholder{color:var(--text-hint)}textarea.input-field{resize:none;min-height:90px}select.input-field{-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='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B09090' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.badge-available{background:#eaf5ea;color:#3a7a3a}.badge-reserved{background:#f5eaf0;color:#7a3a5a}.pill{padding:7px 15px;border-radius:20px;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;border:1px solid var(--border);color:var(--text-soft);background:var(--white);transition:all .15s;-webkit-user-select:none;user-select:none}.pill.active{background:var(--mocha-dark);color:var(--white);border-color:var(--mocha-dark)}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:500;color:var(--mocha-dark);flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.loader-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:200px}.loader{width:32px;height:32px;border:2.5px solid var(--rose-light);border-top-color:var(--mocha-dark);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-hint)}.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state p{font-size:14px;line-height:1.6}.toast-container{position:fixed;bottom:calc(var(--nav-h) + 16px);left:50%;transform:translate(-50%);z-index:100;pointer-events:none;width:calc(100% - 40px);max-width:440px}.toast{background:var(--mocha-dark);color:var(--white);padding:12px 18px;border-radius:var(--radius-md);font-size:14px;font-weight:400;text-align:center;animation:toastIn .25s ease}.toast.error{background:#c04040}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d2b2b80;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal-sheet{background:var(--white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px 20px 32px;width:100%;max-width:480px;animation:sheetUp .25s ease}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 20px}
