.roommates-page{max-width:1100px;margin:0 auto;padding:48px 20px 90px}.roommates-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px;padding-top:60px;display:flex}.roommates-page__eyebrow{letter-spacing:.04em;color:var(--accent);text-transform:uppercase;align-items:center;gap:7px;margin-bottom:10px;font-size:.78rem;font-weight:700;display:inline-flex}.roommates-page__eyebrow svg{font-size:1rem}.roommates-page__header h1{color:var(--text-primary);letter-spacing:-.4px;margin-bottom:8px;font-size:clamp(1.6rem,3.5vw,2rem);font-weight:800;line-height:1.15}.roommates-page__sub{color:var(--text-muted);max-width:460px;font-size:.9rem;line-height:1.6}.roommates-page__header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.roommates-page__post-btn{background:var(--accent);color:var(--text-inverse);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.roommates-page__post-btn:hover{opacity:.88;transform:translateY(-1px)}.roommates-page__browse-btn{background:var(--accent-dim);border:1px solid var(--border-warm);color:var(--accent);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .18s;display:inline-flex}.roommates-page__browse-btn:hover{background:var(--accent-glow);border-color:var(--accent);transform:translateY(-1px)}.roommates-page__toast{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green);z-index:999;white-space:nowrap;box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:8px;padding:11px 20px;font-size:.86rem;font-weight:600;display:inline-flex;position:fixed;top:80px;left:50%;transform:translate(-50%)}.roommates-page__toast.error{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.roommates-page__my-posts{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.roommates-page__my-posts-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.roommates-page__my-posts-header h2{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:.93rem;font-weight:700;display:flex}.roommates-page__my-posts-header h2 svg{color:var(--accent)}.roommates-page__my-posts-count{background:var(--accent);min-width:20px;height:20px;color:var(--text-inverse);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex}.roommates-page__my-posts-new{color:var(--accent);border:1px solid var(--border-warm);border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .18s;display:inline-flex}.roommates-page__my-posts-new:hover{background:var(--accent-dim)}.roommates-page__my-posts-skeleton{flex-direction:column;gap:.6rem;display:flex}.roommates-page__my-posts-skel{background:var(--bg-elevated);border-radius:10px;height:56px;animation:1.4s ease-in-out infinite skeleton-pulse}.roommates-page__my-posts-empty{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex}.roommates-page__my-posts-empty p{color:var(--text-muted);margin:0;font-size:.84rem}.roommates-page__my-posts-list{flex-direction:column;gap:.6rem;display:flex}.roommates-page__my-post-row{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;transition:background .15s,border-color .15s;display:flex}.roommates-page__my-post-row:hover{background:var(--bg-hover);border-color:var(--border-strong)}.roommates-page__my-post-row.filled{opacity:.55}.roommates-page__my-post-info{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.roommates-page__my-post-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;font-size:.86rem;font-weight:600;display:flex;overflow:hidden}.roommates-page__my-post-status{border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:600}.roommates-page__my-post-status.open{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.roommates-page__my-post-status.filled{color:var(--text-muted);border:1px solid var(--border);background:#0000000d}.roommates-page__my-post-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.roommates-page__my-post-meta span{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.roommates-page__my-post-meta svg{font-size:.73rem}.roommates-page__my-post-message{color:var(--text-muted);margin-top:2px;font-size:.76rem;font-style:italic;line-height:1.4}.roommates-page__my-post-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.roommates-page__my-post-edit,.roommates-page__my-post-fill,.roommates-page__my-post-delete{cursor:pointer;font-size:.76rem;font-weight:600;font-family:var(--font-body);border:1px solid #0000;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .72rem;transition:all .18s;display:inline-flex}.roommates-page__my-post-edit{background:var(--accent-dim);border-color:var(--border-warm);color:var(--accent)}.roommates-page__my-post-edit:hover{background:var(--accent-glow);border-color:var(--accent)}.roommates-page__my-post-fill{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.roommates-page__my-post-fill:hover:not(:disabled){background:#1e8a4a24;border-color:#1e8a4a52}.roommates-page__my-post-delete{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.roommates-page__my-post-delete:hover:not(:disabled){background:#c8303f24;border-color:#c8303f4d}.roommates-page__my-post-fill:disabled,.roommates-page__my-post-delete:disabled{opacity:.5;cursor:not-allowed}.roommates-page__inline-edit{flex-direction:column;gap:14px;width:100%;padding:4px 0;display:flex}.roommates-page__inline-edit-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.roommates-page__inline-edit-header p{color:var(--text-muted);font-size:.8rem}.roommates-page__inline-edit-header strong{color:var(--text-primary)}.roommates-page__inline-edit-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.76rem;font-weight:600;font-family:var(--font-body);background:0 0;border-radius:7px;align-items:center;gap:4px;padding:5px 10px;transition:all .15s;display:inline-flex}.roommates-page__inline-edit-cancel:hover{color:var(--text-primary);border-color:var(--border-strong)}.roommates-page__inline-edit-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.roommates-page__inline-field{flex-direction:column;gap:5px;display:flex}.roommates-page__inline-field--full{grid-column:1/-1}.roommates-page__inline-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.roommates-page__inline-field input,.roommates-page__inline-field select,.roommates-page__inline-field textarea{background:var(--bg-input);border:1.5px solid var(--border);color:var(--text-primary);font-size:.82rem;font-family:var(--font-body);resize:vertical;border-radius:9px;outline:none;padding:8px 10px;transition:border-color .2s}.roommates-page__inline-field input:focus,.roommates-page__inline-field select:focus,.roommates-page__inline-field textarea:focus{border-color:var(--accent)}.roommates-page__inline-char{color:var(--text-muted);text-align:right;font-size:.66rem}.roommates-page__inline-tags{flex-wrap:wrap;gap:6px;display:flex}.roommates-page__inline-tag{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.74rem;font-weight:600;font-family:var(--font-body);border-radius:999px;align-items:center;padding:4px 10px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.roommates-page__inline-tag:hover{border-color:var(--accent);color:var(--accent)}.roommates-page__inline-tag.active{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.roommates-page__inline-edit-footer{justify-content:flex-end;display:flex}.roommates-page__inline-save{background:var(--accent);color:var(--text-inverse);cursor:pointer;font-size:.84rem;font-weight:700;font-family:var(--font-body);border:none;border-radius:9px;padding:9px 22px;transition:opacity .18s,transform .18s}.roommates-page__inline-save:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.roommates-page__inline-save:disabled{opacity:.5;cursor:not-allowed}.roommates-filters{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px 18px;display:flex}.roommates-filters__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.roommates-filters__row--search{width:100%}.roommates-filters__search-wrap{flex:1;width:100%;min-width:0;position:relative}.roommates-filters__search-icon{color:var(--text-muted);pointer-events:none;font-size:.93rem;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.roommates-filters__search{background:var(--bg-input);border:1.5px solid var(--border);width:100%;color:var(--text-primary);font-size:.84rem;font-family:var(--font-body);border-radius:10px;outline:none;padding:9px 34px;transition:border-color .2s}.roommates-filters__search:focus{border-color:var(--accent)}.roommates-filters__clear-search{color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;font-size:.88rem;transition:color .15s;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.roommates-filters__clear-search:hover{color:var(--text-primary)}.roommates-filters__select{background:var(--bg-input);border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;appearance:none;white-space:nowrap;font-size:.82rem;font-family:var(--font-body);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%239a9088' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border-radius:10px;outline:none;flex:1;min-width:130px;padding:9px 28px 9px 12px;transition:border-color .2s,color .2s}.roommates-filters__select:focus,.roommates-filters__select:hover{border-color:var(--border-strong);color:var(--text-primary)}.roommates-filters__clear-all{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;font-size:.8rem;font-weight:600;font-family:var(--font-body);background:0 0;border-radius:10px;flex-shrink:0;padding:9px 14px;transition:all .18s}.roommates-filters__clear-all:hover{color:var(--text-primary);border-color:var(--border-strong)}.roommates-page__results{margin-bottom:18px}.roommates-page__results p{color:var(--text-muted);font-size:.83rem}.roommates-page__filter-count{color:var(--accent);font-weight:600}.roommates-page__skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.roommates-page__skeleton{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;height:260px;animation:1.8s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.roommates-page__empty{text-align:center;border:1px dashed var(--border-strong);background:var(--bg-elevated);border-radius:24px;flex-direction:column;align-items:center;gap:14px;padding:72px 30px;display:flex}.roommates-page__empty-icon{color:var(--border-strong);font-size:2.8rem}.roommates-page__empty h2{color:var(--text-primary);font-size:1.15rem;font-weight:700}.roommates-page__empty p{color:var(--text-muted);max-width:300px;font-size:.88rem;line-height:1.6}.roommates-page__empty-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.roommates-page__empty-btn{background:var(--accent-dim);border:1px solid var(--border-warm);color:var(--accent);border-radius:10px;align-items:center;padding:10px 20px;font-size:.86rem;font-weight:700;text-decoration:none;transition:all .18s;display:inline-flex}.roommates-page__empty-btn:hover{background:var(--accent-glow);transform:translateY(-1px)}.roommates-page__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.roommate-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;gap:12px;padding:20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.roommate-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.roommate-card--own{border-color:var(--border-warm)}.roommate-card__header{align-items:flex-start;gap:12px;display:flex}.roommate-card__avatar{border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.95rem;font-weight:800;display:grid}.roommate-card__poster{flex:1;min-width:0}.roommate-card__poster-name{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:4px;font-size:.9rem;font-weight:700;display:flex}.roommate-card__you{background:var(--accent-dim);border:1px solid var(--border-warm);color:var(--accent);border-radius:999px;padding:2px 7px;font-size:.66rem;font-weight:700}.roommate-card__poster-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roommate-card__school{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:inline-flex}.roommate-card__school svg{color:var(--accent);font-size:.78rem}.roommate-card__date{color:var(--text-muted);font-size:.73rem}.roommate-card__price-badge{flex-direction:column;flex-shrink:0;align-items:flex-end;min-width:70px;display:flex}.roommate-card__price-badge-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;font-weight:600}.roommate-card__price-badge strong{color:var(--accent);letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:800}.roommate-card__price-badge em{color:var(--text-muted);font-size:.7rem;font-style:normal}.roommate-card__type-badge-row{display:flex}.roommate-card__type-badge{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.roommate-card__type-badge svg{font-size:.8rem}.roommate-card__type-badge--listing{background:var(--accent-dim);border:1px solid var(--border-warm);color:var(--accent)}.roommate-card__type-badge--looking{background:var(--amber-bg);border:1px solid var(--amber-border);color:var(--amber)}.roommate-card__listing{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.roommate-card__listing-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:.86rem;font-weight:700;overflow:hidden}.roommate-card__listing-meta{flex-wrap:wrap;gap:8px;display:flex}.roommate-card__listing-meta span{color:var(--text-muted);align-items:center;gap:4px;font-size:.74rem;display:inline-flex}.roommate-card__listing-meta svg{font-size:.8rem}.roommate-card__message{color:var(--text-secondary);font-size:.84rem;font-style:italic;line-height:1.65}.roommate-card__prefs{flex-wrap:wrap;gap:5px;display:flex}.roommate-card__pref-tag{color:var(--accent);background:#2d5a2814;border:1px solid #2d5a282e;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:600}.roommate-card__pref-more{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:600}.roommate-card__movein{color:var(--text-muted);align-items:center;gap:5px;font-size:.76rem;display:inline-flex}.roommate-card__footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.roommate-card__footer-left{flex:1}.roommate-card__interests{color:var(--text-muted);align-items:center;gap:5px;font-size:.76rem;display:inline-flex}.roommate-card__interests svg{color:var(--amber);font-size:.83rem}.roommate-card__footer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roommate-card__listing-btn{background:var(--accent-dim);border:1px solid var(--border-warm);width:34px;height:34px;color:var(--accent);border-radius:9px;flex-shrink:0;place-items:center;font-size:.88rem;text-decoration:none;transition:all .18s;display:grid}.roommate-card__listing-btn:hover{background:var(--accent-glow);transform:translateY(-1px)}.roommate-card__interest-btn{background:var(--accent);color:var(--text-inverse);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .18s;display:inline-flex}.roommate-card__interest-btn:hover{box-shadow:var(--shadow-md);opacity:.88;transform:translateY(-1px)}.roommate-card__sent{color:var(--green);align-items:center;gap:5px;font-size:.76rem;font-weight:600;display:inline-flex}.roommate-card__wa-btn{background:var(--green-bg);border:1px solid var(--green-border);width:34px;height:34px;color:var(--green);border-radius:9px;flex-shrink:0;place-items:center;font-size:.93rem;text-decoration:none;transition:all .18s;display:grid}.roommate-card__wa-btn:hover{background:#1e8a4a24;transform:translateY(-1px)}.roommate-card__wa-btn--revealed{border-radius:9px;align-items:center;gap:6px;width:auto;height:auto;padding:7px 14px;font-size:.8rem;font-weight:700;display:inline-flex}@media (max-width:768px){.roommates-page{padding:28px 16px 70px}.roommates-page__header{flex-direction:column;padding-top:48px}.roommates-page__browse-btn{justify-content:center;width:100%}.roommates-page__grid{grid-template-columns:1fr}.roommates-filters__row--selects{flex-wrap:wrap}.roommates-filters__select{flex:0 calc(50% - 5px);min-width:calc(50% - 5px)}}@media (max-width:600px){.roommates-page__my-posts{padding:1rem}.roommates-page__my-post-row{flex-direction:column;align-items:flex-start}.roommates-page__my-post-actions{justify-content:flex-end;width:100%}.roommates-page__inline-edit-grid{grid-template-columns:1fr}.roommates-page__inline-field--full{grid-column:1}.roommates-filters__select{flex:100%;min-width:100%}.roommate-card__footer{flex-direction:column;align-items:flex-start}.roommate-card__footer-actions{justify-content:flex-end;width:100%}.roommate-card__wa-btn--revealed{justify-content:center;width:100%}}@media (max-width:480px){.roommates-page__header-actions{width:100%}.roommates-page__post-btn,.roommates-page__browse-btn{justify-content:center;width:100%}}.roommate-section{border-top:1px solid var(--border);margin-top:26px;padding-top:26px}.roommate-section__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.roommate-section__header-left{flex:1;align-items:flex-start;gap:14px;display:flex}.roommate-section__header-icon{color:var(--accent);flex-shrink:0;margin-top:2px;font-size:1.3rem}.roommate-section__title{color:var(--text-primary);margin-bottom:4px;font-size:1.05rem;font-weight:700}.roommate-section__sub{color:var(--text-muted);font-size:.83rem;line-height:1.5}.roommate-section__split{color:var(--accent);font-weight:800}.roommate-section__post-btn{background:var(--accent-dim);border:1px solid var(--border-warm);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;align-items:center;gap:7px;padding:9px 18px;font-size:.82rem;font-weight:700;transition:all .18s;display:inline-flex}.roommate-section__post-btn:hover{background:var(--accent-glow);border-color:var(--accent);transform:translateY(-1px)}.roommate-section__login-note{color:var(--text-muted);margin-bottom:16px;font-size:.8rem}.roommate-section__login-note a{color:var(--accent);font-weight:600;text-decoration:none}.roommate-section__loading{color:var(--text-muted);padding:16px 0;font-size:.83rem}.roommate-section__empty{text-align:center;border:1px dashed var(--border-strong);background:var(--bg-elevated);border-radius:14px;flex-direction:column;align-items:center;gap:10px;margin-bottom:16px;padding:32px 20px;display:flex}.roommate-section__empty svg{color:var(--border-strong);font-size:1.8rem}.roommate-section__empty p{color:var(--text-muted);font-size:.85rem}.roommate-section__posts{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.roommate-section__board-link{margin-top:14px}.roommate-section__board-link a{color:var(--text-muted);align-items:center;gap:6px;font-size:.78rem;text-decoration:none;transition:color .2s;display:inline-flex}.roommate-section__board-link a:hover{color:var(--accent)}