:root{--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-title: "Outfit", var(--font-main);--primary: #0F9D58;--primary-hover: #0b8047;--primary-light: rgba(15, 157, 88, .1);--primary-glow: rgba(15, 157, 88, .25);--secondary: #1A73E8;--secondary-light: rgba(26, 115, 232, .1);--accent: #F4B400;--accent-light: rgba(244, 180, 0, .1);--danger: #EA4335;--danger-light: rgba(234, 67, 53, .1);--success: #0F9D58;--bg-app: #F8F9FA;--bg-card: #FFFFFF;--bg-input: #F1F3F4;--border-color: #E8EAED;--text-primary: #202124;--text-secondary: #5F6368;--text-tertiary: #9AA0A6;--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-glow: 0 0 15px var(--primary-glow);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--header-height: 60px;--nav-height: 65px;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}@media (prefers-color-scheme: dark){:root{--bg-app: #0F0F10;--bg-card: #18191B;--bg-input: #242528;--border-color: #2D2F33;--text-primary: #F1F3F4;--text-secondary: #BDC1C6;--text-tertiary: #80868B;--primary-light: rgba(15, 157, 88, .15);--secondary-light: rgba(26, 115, 232, .15)}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-primary);min-height:100vh;margin:0;line-height:1.6}#root{width:100%;max-width:100%;height:100vh;background-color:var(--bg-app);display:flex;flex-direction:column;position:relative;overflow:hidden}@media (min-width: 1025px){body{background-color:#121214;display:flex;justify-content:center;align-items:center;overflow:hidden}#root{max-width:480px;height:90vh;box-shadow:0 0 30px #0000004d;border-radius:20px;border:1px solid var(--border-color)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);color:var(--text-primary);font-weight:600;line-height:1.5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}.app-header{height:var(--header-height);background:rgba(var(--bg-card),.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100}.app-content{flex:1;overflow-y:auto;padding:20px 16px calc(var(--nav-height) + 30px) 16px;display:block}.app-content>*{margin-bottom:20px}.app-content>a{display:block}.app-content>*:last-child{margin-bottom:0}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:calc(var(--nav-height) + var(--safe-area-bottom));background:#fffc;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-around;align-items:center;padding-bottom:var(--safe-area-bottom);z-index:100;box-shadow:0 -4px 20px #00000008}@media (prefers-color-scheme: dark){.bottom-nav{background:#18191bcc;border-top:1px solid rgba(255,255,255,.05)}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);text-decoration:none;font-size:11px;font-weight:600;gap:4px;transition:all .25s cubic-bezier(.4,0,.2,1);flex:1;height:100%;position:relative}.nav-item:after{content:"";position:absolute;bottom:12px;width:4px;height:4px;border-radius:50%;background-color:var(--primary);opacity:0;transition:all .25s ease}.nav-item.active{color:var(--primary)}.nav-item.active:after{opacity:1;transform:scale(1.5)}.nav-item svg{width:20px;height:20px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.nav-item.active svg{transform:translateY(-4px) scale(1.1)}.card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:20px;box-shadow:0 4px 20px #00000005;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease}.card:active{transform:translateY(1px) scale(.99);box-shadow:0 2px 10px #00000003}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-full);border:none;font-family:var(--font-main);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;width:100%}.btn-primary{background:linear-gradient(135deg,var(--primary),#11b164);color:#fff;box-shadow:0 4px 12px #0f9d584d}.btn-primary:active{transform:scale(.96);box-shadow:0 2px 6px #0f9d5833}.btn-secondary{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:active{background-color:var(--border-color)}.btn-text{background:none;color:var(--primary);padding:6px 12px;font-weight:500;width:auto}.form-group{display:flex;flex-direction:column;gap:8px;width:100%}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{font-family:var(--font-main);background-color:var(--bg-input);color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;width:100%;outline:none;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);background-color:var(--bg-card);box-shadow:var(--shadow-glow)}.form-textarea{resize:none;height:100px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-secondary{background-color:var(--secondary-light);color:var(--secondary)}.badge-warning{background-color:var(--accent-light);color:var(--accent)}.sheet-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end}.sheet-content{width:100%;background-color:var(--bg-card);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:24px 20px calc(24px + var(--safe-area-bottom)) 20px;box-shadow:0 -8px 30px #00000040;animation:slideUp .3s cubic-bezier(.1,.76,.55,.94);max-height:90vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--primary);margin:0 2px;animation:bounce .6s infinite alternate}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{to{transform:translateY(-8px)}}.category-card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000004;cursor:pointer;height:100%}.category-card:hover,.category-card:active{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 10px 24px #0f9d5814}.category-icon-wrapper{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:6px;transition:all .25s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 10px #0000000d}.category-card:hover .category-icon-wrapper{transform:scale(1.15) rotate(6deg) translateY(-2px);box-shadow:0 8px 16px #0000001f}.icon-bachelor{background:linear-gradient(135deg,#ffe0b2,#fb8c00)}.icon-budget{background:linear-gradient(135deg,#e0f2f1,#00897b)}.icon-family{background:linear-gradient(135deg,#e0f7fa,#00acc1)}.icon-lift{background:linear-gradient(135deg,#f3e5f5,#8e24aa)}.category-card:hover .category-title{color:var(--primary)}.category-title{font-size:13px;font-weight:700;color:var(--text-primary);transition:color .2s ease}.category-subtitle{font-size:11px;color:var(--text-tertiary)}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 600px){.category-grid{grid-template-columns:repeat(4,1fr)}}.listings-grid{display:flex;flex-direction:column;gap:16px}@media (min-width: 600px){.listings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}
