.btn-roomates{display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-roomates:focus{outline:2px solid transparent;outline-offset:2px}.btn-roomates:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-roomates:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-roomates:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-roomates{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-roomates:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-roomates:hover:before{width:300px;height:300px}.btn-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px}.btn-primary:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-primary:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-primary:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,#ff8c42,#ffaa5c)!important;box-shadow:0 4px 12px rgba(255,140,66,.35),0 2px 4px rgba(0,0,0,.1)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px rgba(255,140,66,.4),0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px);background:linear-gradient(135deg,#ff7a2b,#f94)!important}.btn-secondary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px}.btn-secondary:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-secondary:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-secondary:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-secondary{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-secondary:hover:before{width:300px;height:300px}.btn-secondary{background:var(--gradient-purple);box-shadow:var(--shadow-button),var(--shadow-purple)}.btn-secondary:hover:not(:disabled){box-shadow:var(--shadow-button-hover),var(--shadow-purple);transform:translateY(-2px)}.btn-success{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-success:focus{outline:2px solid transparent;outline-offset:2px}.btn-success:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-success:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-success:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-success{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-success:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-success:hover:before{width:300px;height:300px}.btn-success{background:var(--gradient-green);box-shadow:var(--shadow-button),var(--shadow-green)}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-button-hover),var(--shadow-green);transform:translateY(-2px)}.btn-coral{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-coral:focus{outline:2px solid transparent;outline-offset:2px}.btn-coral:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-coral:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-coral:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-coral{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-coral:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-coral:hover:before{width:300px;height:300px}.btn-coral{background:var(--gradient-red);box-shadow:var(--shadow-button)}.btn-coral:hover:not(:disabled){box-shadow:var(--shadow-button-hover);transform:translateY(-2px)}.btn-outline{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px}.btn-outline:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-outline:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-outline:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-outline{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-outline:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-outline:hover:before{width:300px;height:300px}.btn-outline{border:2px solid rgb(var(--gray-300));color:rgb(var(--gray-700))}.btn-outline:hover:not(:disabled){border-color:rgb(var(--brand-blue-500));color:rgb(var(--brand-blue-600));background:rgb(var(--brand-blue-50));box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;font-weight:500;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-ghost:focus{outline:2px solid transparent;outline-offset:2px}.btn-ghost:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.btn-ghost:disabled{transform:none;cursor:not-allowed;opacity:.5}.btn-ghost:active{--tw-scale-x:0.97;--tw-scale-y:0.97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-ghost{border-radius:var(--radius-button);font-family:var(--font-body);font-weight:600;position:relative;overflow:hidden}.btn-ghost:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.4);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ghost:hover:before{width:300px;height:300px}.btn-ghost:hover:not(:disabled){background:rgb(var(--gray-100))}.btn-xs{font-size:.75rem;line-height:1rem;padding:.5rem 1rem}.btn-sm,.btn-xs{letter-spacing:.025em;min-height:var(--button-height-sm)}.btn-sm{font-size:.875rem;line-height:1.25rem;padding:.625rem 1.25rem}.btn-md{font-size:1rem;line-height:1.5rem;letter-spacing:0;padding:.75rem var(--button-padding-x-md);min-height:var(--button-height-md)}.btn-lg{font-size:1.125rem;line-height:1.75rem;padding:1rem var(--button-padding-x-lg);min-height:var(--button-height-lg)}.btn-lg,.btn-xl{letter-spacing:-.025em}.btn-xl{font-size:1.25rem;line-height:1.875rem;padding:1.25rem 2.5rem;min-height:4rem}.btn-icon-left,.btn-icon-right{display:flex;align-items:center;gap:.5rem}.btn-icon-right{flex-direction:row-reverse}.btn-icon-only{padding-left:0!important;padding-right:0!important;aspect-ratio:1}.card-roomates{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:all var(--transition-slow) var(--ease-spring);position:relative;overflow:hidden;border:1px solid rgb(var(--gray-100))}.card-roomates:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-interactive{cursor:pointer;background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:all var(--transition-slow) var(--ease-spring);position:relative;overflow:hidden;border:1px solid rgb(var(--gray-100))}.card-interactive:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);transform:translateY(-4px) scale(1.01);border-color:rgb(var(--brand-blue-200))}.card-gradient-border{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:all var(--transition-slow) var(--ease-spring);position:relative;overflow:hidden;border:1px solid rgb(var(--gray-100))}.card-gradient-border:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-gradient-border{background:linear-gradient(#fff,#fff) padding-box,var(--gradient-brand) border-box;border:2px solid transparent}.card-gradient-border:hover{box-shadow:var(--shadow-xl),var(--shadow-blue)}.card-header{gap:1rem;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(246 248 250/var(--tw-border-opacity,1));padding:1.5rem}.card-header,.card-header-icon{display:flex;align-items:center}.card-header-icon{height:3.5rem;width:3.5rem;justify-content:center;border-radius:1rem;--tw-shadow:0 12px 16px -4px rgba(0,0,0,.08),0 4px 6px -2px rgba(0,0,0,.03);--tw-shadow-colored:0 12px 16px -4px var(--tw-shadow-color),0 4px 6px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--gradient-blue)}.card-body,.card-footer{padding:1.5rem}.card-footer{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(246 248 250/var(--tw-border-opacity,1));background-color:rgba(250,251,252,.5)}.input-roomates{width:100%;padding:.875rem 1.25rem;border-radius:var(--radius-input);border:2px solid rgb(var(--gray-200));background:#fff;color:rgb(var(--gray-900));font-family:var(--font-body);font-size:var(--text-base);transition:all var(--transition-base) var(--ease-smooth);outline:none;min-height:var(--input-height-md)}.input-roomates::-moz-placeholder{color:rgb(var(--gray-400))}.input-roomates::placeholder{color:rgb(var(--gray-400))}.input-roomates:hover:not(:disabled){border-color:rgb(var(--gray-300));box-shadow:var(--shadow-sm)}.input-roomates:focus{border-color:rgb(var(--brand-blue-500));box-shadow:0 0 0 4px rgb(var(--brand-blue-500)/.1);background:rgb(var(--brand-blue-50)/.3)}.input-roomates:disabled{background:rgb(var(--gray-50));cursor:not-allowed;opacity:.6}.input-success{width:100%;padding:.875rem 1.25rem;border-radius:var(--radius-input);border:2px solid rgb(var(--gray-200));background:#fff;color:rgb(var(--gray-900));font-family:var(--font-body);font-size:var(--text-base);transition:all var(--transition-base) var(--ease-smooth);outline:none;min-height:var(--input-height-md)}.input-success::-moz-placeholder{color:rgb(var(--gray-400))}.input-success::placeholder{color:rgb(var(--gray-400))}.input-success:hover:not(:disabled){border-color:rgb(var(--gray-300));box-shadow:var(--shadow-sm)}.input-success:focus{border-color:rgb(var(--brand-blue-500));box-shadow:0 0 0 4px rgb(var(--brand-blue-500)/.1);background:rgb(var(--brand-blue-50)/.3)}.input-success:disabled{background:rgb(var(--gray-50));cursor:not-allowed;opacity:.6}.input-with-icon .input-success{padding-left:3rem}.input-success{border-color:rgb(var(--color-success))}.input-success:focus{border-color:rgb(var(--color-success-600));box-shadow:0 0 0 4px rgb(var(--color-success)/.1)}.input-error{width:100%;padding:.875rem 1.25rem;border-radius:var(--radius-input);border:2px solid rgb(var(--gray-200));background:#fff;color:rgb(var(--gray-900));font-family:var(--font-body);font-size:var(--text-base);transition:all var(--transition-base) var(--ease-smooth);outline:none;min-height:var(--input-height-md)}.input-error::-moz-placeholder{color:rgb(var(--gray-400))}.input-error::placeholder{color:rgb(var(--gray-400))}.input-error:hover:not(:disabled){border-color:rgb(var(--gray-300));box-shadow:var(--shadow-sm)}.input-error:focus{border-color:rgb(var(--brand-blue-500));box-shadow:0 0 0 4px rgb(var(--brand-blue-500)/.1);background:rgb(var(--brand-blue-50)/.3)}.input-error:disabled{background:rgb(var(--gray-50));cursor:not-allowed;opacity:.6}.input-with-icon .input-error{padding-left:3rem}.input-error{border-color:rgb(var(--color-danger))}.input-error:focus{border-color:rgb(var(--color-danger-500));box-shadow:0 0 0 4px rgb(var(--color-danger)/.1)}.input-with-icon{position:relative}.input-with-icon .input-roomates{padding-left:3rem}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:rgb(var(--gray-400));pointer-events:none}.select-roomates{width:100%;padding:.875rem 1.25rem;border-radius:var(--radius-input);border:2px solid rgb(var(--gray-200));background:#fff;color:rgb(var(--gray-900));font-family:var(--font-body);font-size:var(--text-base);transition:all var(--transition-base) var(--ease-smooth);outline:none;min-height:var(--input-height-md)}.select-roomates::-moz-placeholder{color:rgb(var(--gray-400))}.select-roomates::placeholder{color:rgb(var(--gray-400))}.select-roomates:hover:not(:disabled){border-color:rgb(var(--gray-300));box-shadow:var(--shadow-sm)}.select-roomates:focus{border-color:rgb(var(--brand-blue-500));box-shadow:0 0 0 4px rgb(var(--brand-blue-500)/.1);background:rgb(var(--brand-blue-50)/.3)}.select-roomates:disabled{background:rgb(var(--gray-50));cursor:not-allowed;opacity:.6}.input-with-icon .select-roomates{padding-left:3rem}.select-roomates{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:3rem}.checkbox-roomates,.radio-roomates,.select-roomates{-webkit-appearance:none;-moz-appearance:none;appearance:none}.checkbox-roomates,.radio-roomates{width:1.5rem;height:1.5rem;border:2px solid rgb(var(--gray-300));background:#fff;transition:all var(--transition-base) var(--ease-smooth);cursor:pointer;position:relative}.checkbox-roomates{border-radius:var(--radius-sm)}.radio-roomates{border-radius:var(--radius-full)}.checkbox-roomates:hover,.radio-roomates:hover{border-color:rgb(var(--brand-blue-400));box-shadow:0 0 0 4px rgb(var(--brand-blue-500)/.1)}.checkbox-roomates:checked,.radio-roomates:checked{background:var(--gradient-blue);border-color:transparent;box-shadow:var(--shadow-button)}.checkbox-roomates:checked:after{content:"✓";color:#fff;font-weight:700;font-size:.875rem}.checkbox-roomates:checked:after,.radio-roomates:checked:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radio-roomates:checked:after{content:"";width:.625rem;height:.625rem;background:#fff;border-radius:var(--radius-full)}.toggle-roomates{position:relative;display:inline-block;width:3.5rem;height:2rem}.toggle-roomates input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:rgb(var(--gray-300));transition:all var(--transition-base) var(--ease-smooth);box-shadow:var(--shadow-sm)}.toggle-slider,.toggle-slider:before{position:absolute;border-radius:var(--radius-full)}.toggle-slider:before{content:"";height:1.5rem;width:1.5rem;left:.25rem;bottom:.25rem;background-color:#fff;transition:all var(--transition-base) var(--ease-spring);box-shadow:var(--shadow-md)}.toggle-roomates input:checked+.toggle-slider{background:var(--gradient-blue);box-shadow:var(--shadow-button),var(--shadow-blue)}.toggle-roomates input:checked+.toggle-slider:before{transform:translateX(1.5rem)}.toggle-roomates:hover .toggle-slider{box-shadow:var(--shadow-md)}.badge-roomates{display:inline-flex;align-items:center;padding:.375rem .875rem;border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);transition:all var(--transition-base)}.badge-blue{background:rgb(var(--brand-blue-50));color:rgb(var(--brand-blue-700));border:1px solid rgb(var(--brand-blue-200))}.badge-purple{background:rgb(var(--brand-purple-50));color:rgb(var(--brand-purple-700));border:1px solid rgb(var(--brand-purple-500)/.2)}.badge-success{background:rgb(var(--color-success-50));color:rgb(var(--color-success-600));border:1px solid rgb(var(--color-success)/.2)}.badge-warning{background:rgb(var(--color-warning-50));color:rgb(var(--color-warning)/.8);border:1px solid rgb(var(--color-warning)/.2)}.badge-danger{background:rgb(var(--color-danger-50));color:rgb(var(--color-danger-500));border:1px solid rgb(var(--color-danger)/.2)}.badge-gradient{background:var(--gradient-brand);color:#fff;border:none;box-shadow:var(--shadow-button)}.chip-interest{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:var(--radius-full);background:#fff;border:2px solid rgb(var(--gray-200));font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base) var(--ease-spring)}.chip-interest:hover{border-color:rgb(var(--brand-blue-400));background:rgb(var(--brand-blue-50));transform:translateY(-2px);box-shadow:var(--shadow-md)}.chip-interest.selected{background:var(--gradient-blue);color:#fff;border-color:transparent;box-shadow:var(--shadow-button),var(--shadow-blue)}.progress-roomates{width:100%;height:.75rem;background:rgb(var(--gray-200));box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-fill,.progress-roomates{border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--gradient-blue);transition:width var(--transition-slower) var(--ease-smooth);box-shadow:var(--shadow-sm)}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4) 50%,transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.status-indicator{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base)}.status-dot{width:.625rem;height:.625rem;border-radius:var(--radius-full);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;box-shadow:0 0 0 2px currentColor}.status-available{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base);background:rgb(var(--color-success-50));color:rgb(var(--color-success-600))}.status-available .status-dot{background:rgb(var(--color-success))}.status-busy{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base);background:rgb(var(--color-warning-50));color:rgb(var(--color-warning)/.9)}.status-busy .status-dot{background:rgb(var(--color-warning))}.status-offline{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base);background:rgb(var(--gray-100));color:rgb(var(--gray-600))}.status-offline .status-dot{background:rgb(var(--gray-400));animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-bubble{max-width:75%;padding:.875rem 1.25rem;border-radius:1.25rem;position:relative;word-wrap:break-word;font-size:var(--text-base);line-height:var(--leading-relaxed);box-shadow:var(--shadow-sm)}.chat-bubble-sent{background:var(--gradient-blue);color:#fff;border-bottom-right-radius:.375rem;margin-left:auto;box-shadow:var(--shadow-md),var(--shadow-blue)}.chat-bubble-received{background:#fff;color:rgb(var(--gray-900));border:1px solid rgb(var(--gray-200));border-bottom-left-radius:.375rem;box-shadow:var(--shadow-md)}.fab-roomates{position:fixed;bottom:2rem;right:2rem;width:4rem;height:4rem;background:var(--gradient-brand);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-xl),var(--shadow-blue);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base) var(--ease-spring);z-index:var(--z-fixed)}.fab-roomates:hover{transform:scale(1.1) translateY(-2px);box-shadow:var(--shadow-2xl),var(--shadow-blue)}.fab-roomates:active{transform:scale(.95)}.verified-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:rgb(var(--color-success-50));color:rgb(var(--color-success-600));border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;border:1px solid rgb(var(--color-success)/.2)}.verified-icon{width:1.125rem;height:1.125rem;background:rgb(var(--color-success));color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700}.alert-info,.alert-modern{padding:1rem 1.25rem;border-radius:var(--radius-lg);border:2px solid;display:flex;align-items:start;gap:.875rem;box-shadow:var(--shadow-md)}.alert-info{background:rgb(var(--color-info-50));border-color:rgb(var(--brand-blue-200));color:rgb(var(--brand-blue-700))}.alert-success{border-radius:var(--radius-lg);border:2px solid;background:rgb(var(--color-success-50));border-color:rgb(var(--color-success)/.3);color:rgb(var(--color-success-600))}.alert-success,.alert-warning{padding:1rem 1.25rem;display:flex;align-items:start;gap:.875rem;box-shadow:var(--shadow-md)}.alert-warning{border-radius:var(--radius-lg);border:2px solid;background:rgb(var(--color-warning-50));border-color:rgb(var(--color-warning)/.3);color:rgb(var(--color-warning)/.9)}.alert-danger{padding:1rem 1.25rem;border-radius:var(--radius-lg);border:2px solid;display:flex;align-items:start;gap:.875rem;box-shadow:var(--shadow-md);background:rgb(var(--color-danger-50));border-color:rgb(var(--color-danger)/.3);color:rgb(var(--color-danger-500))}.spinner-modern{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(var(--gray-200));border-top-color:rgb(var(--brand-blue-500))}.spinner-sm{height:1rem;width:1rem;animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(var(--gray-200));border-top-color:rgb(var(--brand-blue-500))}.spinner-md{height:1.5rem;width:1.5rem;border-width:3px;animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(var(--gray-200));border-top-color:rgb(var(--brand-blue-500))}.spinner-lg{height:2rem;width:2rem;border-width:3px;animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(var(--gray-200));border-top-color:rgb(var(--brand-blue-500))}.spinner-xl{height:3rem;width:3rem;border-width:4px}@keyframes spin{to{transform:rotate(1turn)}}.spinner-xl{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(var(--gray-200));border-top-color:rgb(var(--brand-blue-500))}:root{--brand-yellow:253 201 53;--brand-yellow-50:255 254 247;--brand-yellow-100:255 251 235;--brand-yellow-200:255 244 209;--brand-yellow-300:254 234 173;--brand-yellow-400:253 220 92;--brand-yellow-500:253 201 53;--brand-yellow-600:244 183 16;--brand-yellow-700:217 159 0;--brand-yellow-800:179 131 0;--brand-yellow-900:140 103 0;--brand-blue:59 130 246;--brand-blue-50:239 246 255;--brand-blue-100:219 234 254;--brand-blue-200:191 219 254;--brand-blue-300:147 197 253;--brand-blue-400:96 165 250;--brand-blue-500:59 130 246;--brand-blue-600:37 99 235;--brand-blue-700:29 78 216;--brand-blue-800:30 64 175;--brand-blue-900:30 58 138;--brand-coral:255 107 107;--brand-coral-50:255 245 245;--brand-coral-100:255 230 230;--brand-coral-200:255 204 204;--brand-coral-300:255 153 153;--brand-coral-400:255 107 107;--brand-coral-500:229 69 69;--brand-coral-600:204 46 46;--brand-coral-700:153 31 31;--brand-coral-800:102 20 20;--brand-coral-900:77 15 15;--brand-purple:147 51 234;--brand-purple-50:250 245 255;--brand-purple-500:168 85 247;--brand-purple-600:147 51 234;--brand-purple-700:126 34 206;--brand-indigo:99 102 241;--brand-indigo-50:238 242 255;--brand-indigo-500:129 140 248;--brand-indigo-600:99 102 241;--brand-indigo-700:79 70 229;--brand-pink:236 72 153;--brand-pink-50:253 242 248;--brand-pink-500:244 114 182;--brand-pink-600:236 72 153;--color-success:34 197 94;--color-success-50:240 253 244;--color-success-500:34 197 94;--color-success-600:22 163 74;--color-warning:251 146 60;--color-warning-50:255 247 237;--color-warning-500:251 146 60;--color-danger:239 68 68;--color-danger-50:254 242 242;--color-danger-500:239 68 68;--color-info:59 130 246;--color-info-50:239 246 255;--color-info-500:59 130 246;--gray-50:249 250 251;--gray-100:243 244 246;--gray-200:229 231 235;--gray-300:209 213 219;--gray-400:156 163 175;--gray-500:107 114 128;--gray-600:75 85 99;--gray-700:55 65 81;--gray-800:31 41 55;--gray-900:17 24 39;--gray-950:3 7 18;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:0.75rem;--space-base:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--space-5xl:5rem;--space-6xl:6rem;--font-display:"Outfit",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--text-8xl:6rem;--text-9xl:8rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--radius-none:0;--radius-sm:0.375rem;--radius-default:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--radius-button:0.75rem;--radius-card:1.25rem;--radius-input:0.75rem;--radius-avatar:9999px;--radius-badge:0.5rem;--radius-modal:1.5rem;--radius-dropdown:1rem;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 2px 4px -1px rgba(0,0,0,.07),0 1px 2px -1px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);--shadow-blue:0 10px 30px -5px rgba(59,130,246,.4);--shadow-purple:0 10px 30px -5px rgba(147,51,234,.4);--shadow-pink:0 10px 30px -5px rgba(236,72,153,.4);--shadow-yellow:0 10px 30px -5px rgba(253,201,53,.3);--shadow-coral:0 10px 30px -5px hsla(0,100%,71%,.3);--shadow-green:0 10px 30px -5px rgba(34,197,94,.3);--shadow-card:0 2px 8px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-card-hover:0 12px 24px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.06);--shadow-button:0 2px 4px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-button-hover:0 4px 12px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.08);--shadow-dropdown:0 12px 40px rgba(0,0,0,.15);--shadow-modal:0 25px 60px rgba(0,0,0,.2);--transition-fast:150ms;--transition-base:200ms;--transition-slow:300ms;--transition-slower:500ms;--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-spring:cubic-bezier(0.16,1,0.3,1);--gradient-blue:linear-gradient(135deg,#3b82f6,#6366f1);--gradient-purple:linear-gradient(135deg,#9333ea,#ec4899);--gradient-pink:linear-gradient(135deg,#ec4899,#f472b6);--gradient-green:linear-gradient(135deg,#22c55e,#10b981);--gradient-orange:linear-gradient(135deg,#fb923c,#fbbf24);--gradient-red:linear-gradient(135deg,#ef4444,#f43f5e);--gradient-brand:linear-gradient(135deg,#3b82f6,#9333ea);--gradient-brand-alt:linear-gradient(135deg,#9333ea,#ec4899);--gradient-warm:linear-gradient(135deg,#fb923c,#fdc935);--gradient-cool:linear-gradient(135deg,#3b82f6,#10b981);--gradient-sunset:linear-gradient(135deg,#ff6b6b,#fb923c 50%,#fdc935);--gradient-sky:linear-gradient(135deg,#3b82f6,#6366f1 50%,#9333ea);--gradient-aurora:linear-gradient(135deg,#10b981,#3b82f6 50%,#9333ea);--gradient-soft-blue:linear-gradient(180deg,#eff6ff,#dbeafe);--gradient-soft-purple:linear-gradient(180deg,#faf5ff,#f3e8ff);--gradient-soft-green:linear-gradient(180deg,#f0fdf4,#dcfce7);--gradient-soft:linear-gradient(180deg,#fff,#f9fafb);--gradient-dark:linear-gradient(180deg,#1f2937,#111827);--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-notification:1080;--z-max:9999;--button-height-sm:2rem;--button-height-md:2.75rem;--button-height-lg:3.5rem;--button-padding-x-sm:1rem;--button-padding-x-md:1.5rem;--button-padding-x-lg:2rem;--input-height-sm:2rem;--input-height-md:2.75rem;--input-height-lg:3.5rem;--input-padding-x:1rem;--card-padding-sm:1rem;--card-padding-md:1.5rem;--card-padding-lg:2rem;--card-gap:1rem;--nav-height:4.5rem;--nav-height-mobile:4rem;--sidebar-width:18rem;--sidebar-width-collapsed:4.5rem;--container-padding:1.5rem;--container-max-width:80rem}.dark,[data-theme=dark]{--color-bg:15 20 26;--color-bg-soft:26 34 43;--color-bg-elevated:35 46 58;--color-text:243 244 246;--color-text-muted:156 163 175;--border-color:#374151;--border-color-dark:#1f2937;--border-color-light:#4b5563;--shadow-sm:0 2px 4px -1px rgba(0,0,0,.3),0 1px 2px 0 rgba(0,0,0,.2);--shadow-md:0 4px 6px -2px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -2px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.45),0 10px 10px -5px rgba(0,0,0,.35);--gradient-soft:linear-gradient(180deg,#1f2937,#111827)}