:root{--brand: 148 62% 30%;--brand-mid: 148 56% 38%;--brand-light: 148 52% 93%;--brand-fg: 0 0% 100%;--background: 220 14% 96%;--surface: 0 0% 100%;--surface-raised: 0 0% 100%;--surface-overlay:0 0% 100%;--foreground: 220 20% 10%;--muted-foreground: 220 10% 48%;--subtle: 220 10% 70%;--card: 0 0% 100%;--card-foreground: 220 20% 10%;--popover: 0 0% 100%;--popover-foreground: 220 20% 10%;--primary: 148 62% 30%;--primary-foreground: 0 0% 100%;--secondary: 220 14% 93%;--secondary-foreground: 220 20% 22%;--muted: 220 14% 93%;--accent: 220 14% 91%;--accent-foreground: 220 20% 10%;--destructive: 4 86% 58%;--destructive-foreground: 0 0% 100%;--border: 220 13% 88%;--input: 220 13% 88%;--ring: 148 62% 30%;--radius-sm: .375rem;--radius: .625rem;--radius-lg: .875rem;--radius-xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.09), 0 2px 6px rgba(0,0,0,.05);--shadow-lg: 0 8px 24px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.06);--shadow-xl: 0 16px 48px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.08);--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .12s;--duration: .2s;--duration-slow: .35s}.dark{--brand: 148 52% 42%;--brand-mid: 148 48% 50%;--brand-light: 148 40% 14%;--brand-fg: 0 0% 100%;--background: 222 20% 9%;--surface: 222 18% 13%;--surface-raised: 222 16% 17%;--surface-overlay:222 15% 20%;--foreground: 210 20% 94%;--muted-foreground: 220 10% 56%;--subtle: 220 10% 36%;--card: 222 18% 13%;--card-foreground: 210 20% 94%;--popover: 222 16% 17%;--popover-foreground: 210 20% 94%;--primary: 148 52% 42%;--primary-foreground: 222 20% 9%;--secondary: 222 16% 20%;--secondary-foreground: 210 20% 85%;--muted: 222 16% 20%;--accent: 222 14% 22%;--accent-foreground: 210 20% 94%;--destructive: 4 72% 50%;--destructive-foreground: 0 0% 100%;--border: 222 14% 22%;--input: 222 14% 22%;--ring: 148 52% 42%;--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px rgba(0,0,0,.2);--shadow: 0 2px 8px rgba(0,0,0,.36), 0 1px 3px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.4), 0 2px 6px rgba(0,0,0,.22);--shadow-lg: 0 8px 24px rgba(0,0,0,.44), 0 2px 8px rgba(0,0,0,.24);--shadow-xl: 0 16px 48px rgba(0,0,0,.52), 0 4px 12px rgba(0,0,0,.28)}*,*:before,*:after{box-sizing:border-box;border-color:hsl(var(--border))}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Outfit,Inter,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.025em;margin:0}h1{font-size:2.25rem;letter-spacing:-.035em;font-weight:800}h2{font-size:1.5rem;letter-spacing:-.03em}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.0625rem;font-weight:600;letter-spacing:-.015em}p{margin:0}a{text-decoration:none;color:inherit}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-base{font-size:.9375rem;line-height:1.5rem}.text-lg{font-size:1.125rem;font-weight:600}.text-muted{color:hsl(var(--muted-foreground))}.text-brand{color:hsl(var(--brand))}.text-destructive{color:hsl(var(--destructive))}.centered-content{max-width:620px;margin:0 auto;width:100%}@media(min-width:800px){.centered-content{max-width:100%}}.page-padding{padding:1.25rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:hsl(var(--border));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:var(--radius);font-size:.875rem;font-weight:600;letter-spacing:.005em;transition:background-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease);cursor:pointer;border:none;outline:none;padding:0 1.125rem;height:2.5rem;text-decoration:none;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{opacity:.45;pointer-events:none}.btn:active{transform:scale(.98)}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 1px 2px hsl(var(--primary) / .25),inset 0 1px #ffffff1f}.btn-primary:hover{background-color:hsl(var(--brand-mid));box-shadow:0 2px 8px hsl(var(--primary) / .3),inset 0 1px #ffffff1f}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover{background-color:hsl(var(--accent))}.btn-ghost{background:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background-color:hsl(var(--accent))}.btn-outline{background:transparent;color:hsl(var(--foreground));border:1.5px solid hsl(var(--border))}.btn-outline:hover{background-color:hsl(var(--accent));border-color:hsl(var(--foreground) / .2)}.btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-destructive:hover{opacity:.88}.btn-icon{width:2.5rem;padding:0;border-radius:var(--radius)}.btn-sm{height:2rem;padding:0 .75rem;font-size:.8125rem;border-radius:var(--radius-sm)}.btn-lg{height:3rem;padding:0 1.75rem;font-size:1rem;border-radius:var(--radius-lg)}.btn-xl{height:3.5rem;padding:0 2.25rem;font-size:1.0625rem;border-radius:var(--radius-lg)}.input{display:flex;width:100%;height:2.625rem;border-radius:var(--radius);border:1.5px solid hsl(var(--input));background:hsl(var(--surface));padding:0 .875rem;font-size:.875rem;font-family:inherit;color:hsl(var(--foreground));transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.input::placeholder{color:hsl(var(--muted-foreground))}.input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .15)}.input:disabled{opacity:.5;cursor:not-allowed;background:hsl(var(--muted))}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2390979f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem;cursor:pointer}select.input option{background-color:hsl(var(--popover));color:hsl(var(--popover-foreground))}.card{background-color:hsl(var(--card));color:hsl(var(--card-foreground));border-radius:var(--radius-lg);border:1px solid hsl(var(--border));box-shadow:var(--shadow-sm);padding:1.5rem}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:.1875rem .625rem;font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;text-transform:uppercase}.badge-primary{background-color:hsl(var(--brand-light));color:hsl(var(--brand))}.badge-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background-color:hsl(var(--muted));flex-shrink:0;border:2px solid hsl(var(--border))}.avatar img{width:100%;height:100%;object-fit:cover}.dialog-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--duration-fast) var(--ease)}.dialog-content{background-color:hsl(var(--surface-overlay));border-radius:var(--radius-xl);border:1px solid hsl(var(--border));padding:1.75rem;max-width:32rem;width:90%;max-height:88vh;overflow-y:auto;z-index:51;box-shadow:var(--shadow-xl);animation:slideIn var(--duration-fast) var(--ease)}@media(min-width:800px){.dialog-content{max-width:40rem;padding:2rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.sheet-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;animation:fadeIn var(--duration-fast) var(--ease)}.sheet-content{position:fixed;bottom:0;left:0;right:0;background-color:hsl(var(--surface-overlay));border-top:1px solid hsl(var(--border));border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.25rem 1.5rem 2rem;max-height:88vh;overflow-y:auto;z-index:51;box-shadow:var(--shadow-xl);animation:slideUp var(--duration) var(--ease)}.sheet-content:before{content:"";display:block;width:2.5rem;height:4px;background:hsl(var(--border));border-radius:var(--radius-full);margin:0 auto 1.25rem}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:768px){.sheet-content{max-width:540px;margin:0 auto;border-radius:var(--radius-xl);border:1px solid hsl(var(--border));bottom:2rem}}.dropdown-content,.dropdown-menu{position:absolute;top:calc(100% + 6px);background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:.3125rem;min-width:9rem;box-shadow:var(--shadow-lg);z-index:50;animation:fadeIn var(--duration-fast) var(--ease)}.dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;background:none;border:none;text-align:left;color:hsl(var(--popover-foreground));transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.dropdown-item:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.dropdown-item.active{background-color:hsl(var(--brand-light));color:hsl(var(--brand));font-weight:600}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted-foreground) / .08),hsl(var(--muted)) 75%);background-size:200% 100%;animation:shimmer 1.6s ease infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{display:inline-block;width:1.375rem;height:1.375rem;border:2.5px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;z-index:100;display:flex;flex-direction:column;gap:.5rem;max-width:22rem;pointer-events:none}.toast{background-color:hsl(var(--surface-overlay));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;animation:slideInRight var(--duration) var(--ease);box-shadow:var(--shadow-lg);pointer-events:all;font-size:.875rem;font-weight:500}.toast-success{border-left:3px solid hsl(var(--brand))}.toast-error{border-left:3px solid hsl(var(--destructive))}@keyframes slideInRight{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}.nav-rail{width:72px;background-color:hsl(var(--surface));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;gap:.25rem;height:100vh;position:fixed;left:0;top:0;overflow:hidden;transition:width var(--duration-slow) var(--ease)}.nav-rail-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .5rem;border-radius:var(--radius);cursor:pointer;font-size:.5625rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:hsl(var(--muted-foreground));transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease);width:60px;text-align:center;text-decoration:none}.nav-rail-item:hover{background-color:hsl(var(--accent));color:hsl(var(--foreground))}.nav-rail-item.active{background-color:hsl(var(--brand-light));color:hsl(var(--brand));font-weight:700}@media(min-width:1024px){.nav-rail{width:220px;align-items:stretch;padding:1rem .75rem;gap:.125rem}.nav-rail-item{flex-direction:row;width:auto;font-size:.875rem;font-weight:600;letter-spacing:0;text-transform:none;padding:.6875rem .875rem;gap:.75rem;text-align:left;border-radius:var(--radius)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:hsl(var(--surface));border-top:1px solid hsl(var(--border));display:flex;justify-content:space-around;align-items:center;height:62px;z-index:40;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:hsl(var(--surface) / .92);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .75rem;cursor:pointer;font-size:.5625rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:hsl(var(--muted-foreground));transition:color var(--duration-fast) var(--ease);text-decoration:none;border-radius:var(--radius);min-width:3.5rem;text-align:center}.bottom-nav-item:hover{color:hsl(var(--foreground))}.bottom-nav-item.active{color:hsl(var(--brand))}.bottom-nav-item.active:after{content:"";display:block;width:1.5rem;height:3px;background:hsl(var(--brand));border-radius:var(--radius-full);margin:.125rem auto 0}.carousel-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:hsl(var(--muted))}.carousel-slide{position:absolute;inset:0;transition:transform var(--duration) var(--ease)}.carousel-counter{position:absolute;top:.75rem;right:.75rem;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;padding:.2rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.04em}.carousel-dots{display:flex;justify-content:center;gap:.3125rem;padding:.5rem 0}.carousel-dot{width:.3125rem;height:.3125rem;border-radius:50%;background-color:hsl(var(--muted-foreground) / .3);transition:background-color var(--duration-fast) var(--ease),width var(--duration-fast) var(--ease);cursor:pointer}.carousel-dot.active{background-color:hsl(var(--foreground));width:1rem;border-radius:var(--radius-full)}
