:root{line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}button{font-family:inherit;font-size:1em;font-weight:500;cursor:pointer}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--sleeper-accent)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--sleeper-accent);outline-offset:2px}.hotels-management{max-width:1400px;margin:0 auto;padding:20px}.management-header{margin-bottom:30px}.management-header h2{margin:0 0 8px;color:var(--sleeper-ink);font-size:28px}.management-header p{margin:0;color:var(--sleeper-muted);font-size:14px}.hotels-section{margin-bottom:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--sleeper-line)}.section-header h3{margin:0;font-size:20px;color:var(--sleeper-ink)}.button-group{display:flex;gap:12px}.btn-link{background:none;color:var(--primary-color);border:1px solid var(--primary-color);padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-link:hover{background-color:var(--sleeper-sand)}.empty-state{text-align:center;padding:60px 20px;color:var(--sleeper-muted)}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.hotel-card{background-color:#fff;border:2px solid var(--sleeper-line);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;display:flex;gap:12px;align-items:start}.hotel-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000014}.hotel-card.selected{border-color:var(--primary-color);background-color:var(--sleeper-sand)}.hotel-checkbox{flex-shrink:0;padding-top:2px}.hotel-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.hotel-info{flex:1}.hotel-info h4{margin:0 0 8px;font-size:16px;color:var(--sleeper-ink)}.hotel-address{margin:0 0 8px;font-size:13px;color:var(--sleeper-muted);line-height:1.4}.provider-badge{display:inline-block;padding:4px 10px;background-color:var(--sleeper-sand);color:var(--primary-color);border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.selection-summary{background:var(--success-wash);border:1px solid var(--sleeper-line);border-radius:6px;padding:16px 20px;margin-top:20px}.selection-summary p{margin:0;color:var(--success-color);font-size:15px}.selection-summary strong{color:var(--success-color);font-size:18px}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-search-bar{display:flex;gap:8px;margin-bottom:16px}.modal-search-input{flex:1;padding:10px 14px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.modal-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.modal-search-input::placeholder{color:var(--sleeper-dim)}.btn-search{padding:10px 16px;background-color:var(--sleeper-sand);border:1px solid var(--sleeper-line);border-radius:6px;font-size:14px;font-weight:500;color:var(--sleeper-ink-soft);cursor:pointer;white-space:nowrap;transition:all .2s}.btn-search:hover:not(:disabled){background-color:var(--sleeper-line);border-color:var(--sleeper-dim)}.btn-search:disabled{opacity:.6;cursor:not-allowed}.search-results-count{margin:0 0 16px;color:var(--sleeper-ink-soft);font-size:14px;font-weight:500}.search-results-list{display:flex;flex-direction:column;gap:12px}.search-result-item{background-color:#fff;border:2px solid var(--sleeper-line);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;display:flex;gap:12px;align-items:start}.search-result-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}.search-result-item.selected{border-color:var(--primary-color);background-color:var(--sleeper-sand)}.search-result-item.duplicate,.search-result-item.duplicate.selected{border-color:var(--warning-color);background-color:var(--warning-wash)}.search-result-checkbox{flex-shrink:0;padding-top:2px}.search-result-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.search-result-info{flex:1}.search-result-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.search-result-info h4{margin:0;font-size:16px;color:var(--sleeper-ink)}.duplicate-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background-color:var(--warning-wash);color:var(--warning-color);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.duplicate-warning{margin:0 0 8px;padding:8px;background-color:var(--warning-wash);border-left:3px solid var(--warning-color);font-size:13px;color:var(--warning-color);border-radius:4px}.search-result-address{margin:2px 0 6px;font-size:12px;color:var(--sleeper-muted);line-height:1.3}.search-result-rating{font-size:13px;color:var(--sleeper-ink-soft)}.hotel-search-term{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.search-term-badge{color:var(--success-color);font-weight:500}.search-term-default{color:var(--sleeper-dim);font-style:italic}.btn-edit-search{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:14px;opacity:.6;transition:opacity .2s}.btn-edit-search:hover{opacity:1}.edit-hotel-name{margin:0 0 12px;font-size:16px;color:var(--sleeper-ink)}.edit-description{margin:0 0 20px;font-size:14px;color:var(--sleeper-muted);line-height:1.5}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;color:var(--sleeper-ink-soft);margin-bottom:6px;font-size:14px}.search-term-input{width:100%;padding:10px 12px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:15px;transition:border-color .2s,box-shadow .2s}.search-term-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.search-term-input::placeholder{color:var(--sleeper-dim)}.delete-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--sleeper-line)}.btn-danger-outline{background:none;color:var(--error-color);border:1px solid var(--error-color);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-danger-outline:hover{background-color:var(--error-wash)}.warning-hotel-name{margin:0 0 12px;font-size:15px;font-weight:500;color:var(--sleeper-ink)}.hotel-slug-status{margin-top:8px}.slug-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.slug-badge.slug-ready{background-color:var(--success-wash);color:var(--success-color)}.slug-badge.slug-absent{background-color:var(--sleeper-line);color:var(--sleeper-ink-soft)}.slug-badge.slug-alias{background-color:var(--sleeper-sand);color:var(--sleeper-muted);font-weight:400}.hotel-former-name{margin:0 0 2px;font-size:12px;font-style:italic;color:var(--sleeper-dim)}.slug-attempt-note{font-size:11px;color:var(--warning-color);background-color:var(--warning-wash);border:1px solid var(--warning-border);border-radius:4px;padding:3px 8px;cursor:help}.slug-drift-warning{margin:6px 0;padding:8px 10px;border:1px solid var(--warning-border);border-left:3px solid var(--warning-color);border-radius:4px;background-color:var(--warning-wash)}.slug-drift-text{font-size:12px;color:var(--warning-color);line-height:1.4}.slug-drift-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.slug-drift-actions .btn-link{font-size:12px;padding:0}.btn-not-listed{background:none;color:var(--sleeper-muted);border:1px dashed var(--sleeper-line);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.btn-not-listed:hover{border-color:var(--sleeper-dim);color:var(--sleeper-ink-soft)}.btn-discover-slug{background:none;color:var(--sleeper-muted);border:1px dashed var(--sleeper-line);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:11px;transition:all .2s}.btn-discover-slug:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background-color:var(--sleeper-sand)}.btn-discover-slug:disabled{opacity:.6;cursor:wait}.btn-delete-slug{background:none;border:none;color:var(--sleeper-dim);cursor:pointer;padding:2px 6px;font-size:12px;margin-left:4px;border-radius:3px;transition:all .2s}.btn-delete-slug:hover{color:var(--error-color);background-color:var(--error-wash)}.manual-slug-form{display:flex;gap:4px;align-items:center}.slug-input{width:140px;padding:4px 8px;border:1px solid var(--sleeper-line);border-radius:4px;font-size:12px}.country-code-select{padding:4px;border:1px solid var(--sleeper-line);border-radius:4px;font-size:12px;width:50px}.btn-save-slug,.btn-cancel-slug{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-save-slug{background:var(--success-color);color:#fff}.btn-save-slug:hover{background:var(--success-color)}.btn-save-slug:disabled{background:var(--success-wash);cursor:wait}.btn-cancel-slug{background:var(--error-color);color:#fff}.btn-cancel-slug:hover{background:var(--error-color)}.slug-actions{display:flex;gap:4px}.btn-enter-slug{padding:4px 8px;border:1px dashed var(--sleeper-dim);border-radius:4px;background:transparent;cursor:pointer;font-size:11px;color:var(--sleeper-muted)}.btn-enter-slug:hover{border-color:var(--sleeper-muted);color:var(--sleeper-ink-soft)}.hotel-contracted-rate{margin-top:8px;padding-top:8px;border-top:1px solid var(--sleeper-line)}.hotel-contracted-rate label{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--sleeper-muted)}.hotel-contracted-rate input{width:90px;padding:4px 8px;border:1px solid var(--sleeper-line);border-radius:4px;font-size:.9rem}.hotel-contracted-rate input:focus{outline:none;border-color:var(--primary-color)}.header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.show-browser-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sleeper-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.show-browser-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.fetch-progress{background:var(--sleeper-sand);border:1px solid var(--sleeper-line);border-radius:8px;padding:16px 20px;margin-bottom:20px}.progress-text{font-size:14px;color:var(--sleeper-ink-soft);margin-bottom:10px;font-weight:500}.progress-bar{height:8px;background-color:var(--sleeper-sand);border-radius:4px;overflow:hidden;margin-bottom:6px}.progress-bar-fill{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width .4s ease}.progress-percentage{font-size:13px;color:var(--sleeper-ink-soft);text-align:right;font-weight:600}@media(max-width:768px){.hotels-management{padding:12px}.management-header h2{font-size:22px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.button-group{width:100%;flex-direction:column}.button-group button{width:100%;min-height:44px}.header-row{flex-direction:column;gap:12px}.hotels-grid{grid-template-columns:1fr}.modal-overlay{padding:0}.modal-content{max-width:100%;width:100%;margin:0;border-radius:0;height:100vh;max-height:100vh}.modal-content.modal-small{height:100vh;max-height:100vh;max-width:100%;border-radius:0}.modal-content.modal-large{max-width:100%;border-radius:0}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%;min-height:44px}.modal-search-bar{flex-direction:column}.modal-search-input{width:100%}.btn-search{min-height:44px}.search-result-item{padding:12px}.manual-slug-form{flex-wrap:wrap}.slug-input{width:100%}.country-code-select{width:70px}.progress-text{font-size:13px}.btn-primary,.btn-secondary,.btn-link{min-height:44px}}@media(max-width:480px){.hotels-management{padding:8px}.management-header{margin-bottom:16px}.management-header h2{font-size:20px}.convention-selector{padding:12px;margin-bottom:16px}.hotels-grid{gap:10px}.hotel-card{padding:12px}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px}}.admin-container{max-width:1200px;margin:0 auto;padding:20px}.admin-header{margin-bottom:30px}.admin-header h2{margin:0 0 8px;color:var(--sleeper-ink);font-size:28px}.admin-header p{margin:0;color:var(--sleeper-muted);font-size:14px}.admin-tabs{display:flex;gap:8px;border-bottom:2px solid var(--sleeper-line);margin-bottom:24px}.tab{background:none;border:none;padding:12px 20px;cursor:pointer;font-size:15px;color:var(--sleeper-muted);border-bottom:3px solid transparent;transition:all .2s}.tab:hover{color:var(--sleeper-ink);background-color:var(--sleeper-sand)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.admin-tabs-mobile{display:none}.tab-content{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.users-empty{color:var(--sleeper-muted);text-align:center;padding:20px}.users-list{display:flex;flex-direction:column;gap:12px}.user-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.user-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;gap:12px}.user-card-info{min-width:0}.user-card-name{font-weight:600;color:var(--text-primary)}.user-card-email{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-meta{font-size:13px;color:var(--text-secondary);margin-top:2px}.user-admin-badge{display:inline-block;background:var(--primary-color);color:#fff;font-size:11px;font-weight:600;padding:1px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}.user-card-actions{display:flex;gap:6px;flex-shrink:0}.user-card-expanded{padding:14px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.user-expanded-label{font-weight:600;font-size:.9em;color:var(--sleeper-ink-soft);margin-bottom:8px}.user-convention-list{display:flex;flex-direction:column;gap:6px}.user-convention-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.user-admin-toggle{margin-top:12px;padding-top:12px;border-top:1px solid var(--sleeper-line)}.user-admin-label{font-weight:600}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.content-header h3{margin:0;font-size:22px;color:var(--sleeper-ink)}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary:hover{background-color:var(--primary-hover)}.btn-delete{background-color:var(--error-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-delete:hover{background-color:var(--error-color)}.entity-form{background-color:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:8px;padding:24px;margin-bottom:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;margin-bottom:16px}.form-group label{font-size:14px;font-weight:500;color:var(--sleeper-ink-soft);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.form-group textarea{resize:vertical}.entity-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.entity-card{background-color:#fff;border:1px solid var(--sleeper-line);border-radius:8px;padding:20px;transition:box-shadow .2s,border-color .2s}.entity-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000014}.entity-card h4{margin:0 0 8px;font-size:18px;color:var(--sleeper-ink)}.entity-meta{color:var(--sleeper-muted);font-size:13px;margin:0 0 8px}.entity-address{color:var(--sleeper-ink-soft);font-size:14px;margin:8px 0}.entity-notes{color:var(--sleeper-muted);font-size:13px;font-style:italic;margin:8px 0;line-height:1.5}.entity-stats{color:var(--primary-color);font-size:13px;font-weight:500;margin:12px 0 0}.convention-card{grid-column:span 2}.convention-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.convention-dates{background-color:var(--sleeper-paper);padding:12px;border-radius:6px;margin:12px 0}.convention-dates p{margin:4px 0;font-size:14px;color:var(--sleeper-ink-soft)}.card-actions{display:flex;gap:8px}.btn-edit{background-color:var(--sleeper-sand);color:var(--sleeper-ink-soft);border:1px solid var(--sleeper-line);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-edit:hover{background-color:var(--sleeper-line);border-color:var(--sleeper-dim)}.btn-secondary{background-color:#fff;color:var(--sleeper-ink-soft);border:1px solid var(--sleeper-line);padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary:hover{background-color:var(--sleeper-paper);border-color:var(--sleeper-dim)}.btn-danger{background-color:var(--error-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-danger:hover:not(:disabled){background-color:var(--error-color)}.btn-danger:disabled{background-color:var(--error-wash);cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-small{max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--sleeper-line)}.modal-header h3{margin:0;font-size:20px;color:var(--sleeper-ink)}.modal-header-danger{background-color:var(--error-wash);border-bottom-color:var(--error-border)}.modal-header-danger h3{color:var(--error-color)}.modal-close{background:none;border:none;font-size:24px;color:var(--sleeper-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:var(--sleeper-sand)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid var(--sleeper-line);display:flex;justify-content:flex-end;gap:12px}.delete-warning{display:flex;gap:16px;padding:16px;background-color:var(--error-wash);border:1px solid var(--error-border);border-radius:8px}.warning-icon{font-size:32px;flex-shrink:0}.warning-title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--error-color)}.warning-convention-name{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--sleeper-ink)}.warning-venue{margin:0 0 12px;font-size:14px;color:var(--sleeper-muted)}.warning-message{margin:0;font-size:14px;color:var(--error-color);line-height:1.5}.warning-message strong{color:var(--error-color)}.backup-message{padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.backup-message.success{background-color:var(--success-wash);border:1px solid var(--success-border);color:var(--success-color)}.backup-message.error{background-color:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color)}.backup-message button{background:none;border:none;cursor:pointer;font-size:16px;padding:0 8px;color:inherit;opacity:.7}.backup-message button:hover{opacity:1}.backup-info{background-color:var(--sleeper-sand);border:1px solid var(--sleeper-line);border-radius:6px;padding:12px 16px;margin-bottom:20px}.backup-info p{margin:0;font-size:14px;color:var(--sleeper-ink-soft)}.backup-info code{background-color:var(--sleeper-sand);padding:2px 6px;border-radius:4px;font-family:monospace}.no-backups{text-align:center;padding:40px;background-color:var(--sleeper-paper);border:1px dashed var(--sleeper-line);border-radius:8px}.no-backups p{margin:0;color:var(--sleeper-muted);font-size:14px}.backup-list{background-color:#fff;border:1px solid var(--sleeper-line);border-radius:8px;overflow:hidden}.backup-table{width:100%;border-collapse:collapse}.backup-table th,.backup-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--sleeper-line)}.backup-table th{background-color:var(--sleeper-paper);font-weight:600;font-size:13px;color:var(--sleeper-ink-soft);text-transform:uppercase;letter-spacing:.05em}.backup-table tbody tr:last-child td{border-bottom:none}.backup-table tbody tr:hover{background-color:var(--sleeper-paper)}.backup-filename{font-family:monospace;font-size:13px;color:var(--sleeper-ink)}.backup-actions{display:flex;gap:8px}.btn-restore{background-color:var(--success-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-restore:hover{background-color:var(--success-color)}.btn-download{background-color:var(--primary-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-download:hover{background-color:var(--primary-hover)}.btn-primary:disabled{background-color:var(--sleeper-dim);cursor:not-allowed}.full-reset-option{margin-top:16px;padding-top:16px;border-top:1px solid var(--sleeper-line)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--sleeper-ink-soft)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.full-reset-warning{margin:12px 0 0;padding:10px 12px;background-color:var(--warning-wash);border:1px solid var(--warning-color);border-radius:6px;font-size:13px;color:var(--warning-color);line-height:1.5}@media(max-width:768px){.admin-container{padding:12px}.admin-header h2{font-size:22px}.admin-tabs{display:none}.admin-tabs-mobile{display:block;width:100%;padding:12px 36px 12px 12px;font-size:15px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);margin-bottom:24px;cursor:pointer;-webkit-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 fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.content-header{flex-direction:column;align-items:flex-start;gap:12px}.content-header .btn-primary{width:100%;min-height:44px}.inline-form{flex-direction:column!important}.inline-form input{width:100%!important;min-width:0!important;flex:none!important}.inline-form .btn-primary{width:100%;min-height:44px}.user-card-header{flex-direction:column;align-items:flex-start}.user-card-email{white-space:normal;word-break:break-all}.user-card-actions{width:100%}.user-card-actions .btn-small{flex:1;min-height:44px}.form-row{grid-template-columns:1fr}.entity-form{padding:16px}.entity-list{grid-template-columns:1fr}.convention-card{grid-column:span 1}.convention-card .card-header{flex-direction:column;gap:12px}.card-actions{width:100%}.card-actions button{flex:1;min-height:44px}.modal-overlay{padding:0}.modal-content{max-width:100%;width:100%;margin:0;border-radius:0;height:100vh;max-height:100vh}.modal-content.modal-small{height:100vh;max-height:100vh;max-width:100%;border-radius:0}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%;min-height:44px}.btn-primary,.btn-secondary,.btn-danger,.btn-edit,.btn-delete{min-height:44px}.backup-list{overflow-x:auto;-webkit-overflow-scrolling:touch}.backup-table{font-size:13px}.backup-table th,.backup-table td{padding:10px 12px}.backup-actions{flex-direction:column;gap:4px}.backup-actions button{width:100%;min-height:44px}.delete-warning{flex-direction:column;gap:12px}}@media(max-width:480px){.admin-container{padding:8px}.admin-header{margin-bottom:16px}.admin-header h2{font-size:20px}.entity-form{padding:12px;margin-bottom:20px}.entity-card{padding:14px}.entity-card h4{font-size:16px}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px}.backup-info{padding:10px 12px}.backup-table th,.backup-table td{padding:8px 10px;font-size:12px}}.user-convention-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.user-primary-toggle{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--sleeper-dim);cursor:pointer;white-space:nowrap;padding:2px 8px;border-radius:999px}.user-primary-toggle.is-primary{background:var(--sleeper-sand);color:var(--primary-hover);font-weight:600}.user-primary-toggle input{cursor:pointer}.rate-history{max-width:1400px;margin:0 auto;padding:20px}.rate-history-header{margin-bottom:30px}.rate-history-header h2{margin:0 0 8px;color:var(--sleeper-ink);font-size:28px}.rate-history-header p{margin:0;color:var(--sleeper-muted);font-size:14px}.error-message{background-color:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color);padding:12px 16px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:var(--error-color);cursor:pointer;font-size:18px;padding:0 8px}.convention-selector{background:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:8px;padding:20px;margin-bottom:30px}.convention-selector label{display:block;font-weight:600;color:var(--sleeper-ink-soft);margin-bottom:8px;font-size:15px}.convention-dropdown{width:100%;padding:12px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:15px;background-color:#fff;cursor:pointer;transition:border-color .2s}.convention-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.loading{text-align:center;padding:40px;color:var(--sleeper-muted);font-size:16px}.rate-history-content{display:flex;flex-direction:column;gap:24px}.convention-info{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;padding:24px;border-radius:12px}.convention-info h3{margin:0 0 8px;font-size:24px}.convention-info p{margin:0;opacity:.9;font-size:14px}.convention-info .stats{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:var(--sleeper-muted);background:var(--sleeper-paper);border-radius:8px}.empty-state p{margin:8px 0;font-size:15px}.hotel-cards{display:flex;flex-direction:column;gap:20px}.hotel-rate-card{background:#fff;border:1px solid var(--sleeper-line);border-radius:12px;overflow:hidden;transition:box-shadow .2s}.hotel-rate-card:hover{box-shadow:0 4px 12px #00000014}.card-header{padding:20px;cursor:pointer;background:var(--sleeper-paper);border-bottom:1px solid var(--sleeper-line)}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-title h4{margin:0;font-size:18px;color:var(--sleeper-ink)}.expand-icon{font-size:12px;color:var(--sleeper-muted);padding:4px 8px;background:var(--sleeper-line);border-radius:4px}.card-summary{display:flex;gap:32px;flex-wrap:wrap}.summary-stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--sleeper-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:16px;font-weight:600;color:var(--sleeper-ink)}.stat-value.price{color:var(--success-color);font-size:20px}.stat-detail{font-size:13px;color:var(--sleeper-muted)}.stat-filter-info{font-size:11px;color:var(--primary-color);background:var(--sleeper-sand);padding:2px 6px;border-radius:4px;margin-top:4px}.chart-section{background:#fff}.chart-controls{display:flex;align-items:center;gap:24px;padding:16px 20px;border-bottom:1px solid var(--sleeper-line);background:var(--sleeper-paper);flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:12px}.chart-controls label{font-size:14px;font-weight:500;color:var(--sleeper-ink-soft)}.benefit-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-label{font-size:14px;font-weight:500;color:var(--sleeper-ink-soft)}.benefit-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--sleeper-line);border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.benefit-checkbox:hover{border-color:var(--sleeper-dim);background:var(--sleeper-paper)}.benefit-checkbox.checked{border-color:var(--primary-color);background:var(--sleeper-sand)}.benefit-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label{font-size:13px;color:var(--sleeper-ink-soft)}.benefit-checkbox.checked .checkbox-label{color:var(--primary-hover);font-weight:500}.no-benefits{font-size:13px;color:var(--sleeper-dim);font-style:italic}.no-match-warning{padding:12px 20px;background:var(--warning-wash);border-bottom:1px solid var(--warning-border);color:var(--warning-color);font-size:14px}.filter-loading{font-size:13px;color:var(--sleeper-muted);font-style:italic;padding:6px 12px;background:var(--sleeper-sand);border-radius:4px;animation:pulse 1s infinite}.room-type-dropdown{padding:8px 12px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;min-width:200px;transition:border-color .2s,box-shadow .2s}.room-type-dropdown:hover{border-color:var(--sleeper-dim)}.room-type-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.chart-container{padding:20px;background:#fff}.no-chart-data{padding:40px 20px;text-align:center;color:var(--sleeper-muted);background:var(--sleeper-paper)}.expanded-content{padding:20px;border-top:1px solid var(--sleeper-line);background:#fff}.expanded-content h5{margin:0 0 16px;font-size:16px;color:var(--sleeper-ink-soft)}.loading-details{padding:24px;text-align:center;color:var(--sleeper-muted);font-size:14px}.no-details{padding:24px;text-align:center;color:var(--sleeper-dim);font-size:14px;font-style:italic}.stay-date-section{margin-bottom:24px}.stay-date-section:last-child{margin-bottom:0}.stay-date-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--sleeper-sand);border-radius:8px;margin-bottom:12px}.stay-date-label{font-weight:600;color:var(--sleeper-ink);font-size:15px}.rate-count{font-size:13px;color:var(--sleeper-muted);background:#fff;padding:4px 10px;border-radius:4px}.rate-blocks{display:flex;flex-direction:column;gap:12px}.rate-block{padding:16px;background:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:8px;transition:all .2s}.rate-block.highlighted{background:var(--sleeper-sand);border-color:var(--primary-color);box-shadow:0 0 0 2px #a65a2224}.rate-block.dimmed{opacity:.5;background:var(--sleeper-sand)}.rate-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.room-name{font-weight:600;color:var(--sleeper-ink);font-size:15px}.rate-price{font-weight:700;color:var(--success-color);font-size:16px}.rate-block-details{display:flex;gap:12px;flex-wrap:wrap}.rate-block-details span{font-size:13px;padding:4px 8px;border-radius:4px;background:var(--sleeper-line);color:var(--sleeper-ink-soft)}.cancellation.free_cancellation{background:var(--success-wash);color:var(--success-color)}.cancellation.non_refundable{background:var(--error-wash);color:var(--error-color)}.meal-plan{background:var(--sleeper-sand);color:var(--primary-color)}.cancellation-deadline{margin-top:8px;font-size:12px;color:var(--sleeper-muted)}.selected-point-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--sleeper-sand);border:1px solid var(--primary-color);border-radius:8px;margin-top:16px;flex-wrap:wrap}.selected-label{font-size:13px;font-weight:600;color:var(--sleeper-ink-soft);text-transform:uppercase;letter-spacing:.5px}.selected-details{font-size:14px;color:var(--sleeper-ink-soft);flex:1}.screenshot-actions{display:flex;gap:8px}.screenshot-link{background:var(--primary-color);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.screenshot-link:hover{background:var(--primary-color)}.screenshot-link.download{background:var(--sleeper-muted)}.screenshot-link.download:hover{background:var(--sleeper-ink-soft)}.no-screenshot{font-size:13px;color:var(--sleeper-dim);font-style:italic}.clear-selection{background:none;border:none;font-size:20px;color:var(--sleeper-muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:background-color .2s,color .2s}.clear-selection:hover{background:var(--sleeper-line);color:var(--sleeper-ink-soft)}.plot-configuration{background:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:8px;padding:16px 20px;margin-bottom:20px}.plot-config-header{margin-bottom:12px}.plot-config-header h4{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--sleeper-ink-soft)}.plot-config-header p{margin:0;font-size:13px;color:var(--sleeper-muted)}.comparison-checkboxes{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.checkbox-group-label{font-size:14px;font-weight:500;color:var(--sleeper-ink-soft)}.comparison-checkbox{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--sleeper-line);border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.comparison-checkbox:hover{border-color:var(--sleeper-dim);background:var(--sleeper-paper)}.comparison-checkbox.checked{border-color:var(--primary-color);background:var(--sleeper-sand)}.comparison-checkbox.loading{opacity:.7;cursor:wait}.comparison-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.comparison-checkbox .checkbox-content{display:flex;flex-direction:column;gap:1px}.comparison-checkbox .checkbox-label{font-size:13px;font-weight:500;color:var(--sleeper-ink-soft)}.comparison-checkbox.checked .checkbox-label{color:var(--primary-hover)}.comparison-checkbox .checkbox-dates{font-size:11px;color:var(--sleeper-muted)}.comparison-checkbox.checked .checkbox-dates{color:var(--primary-color)}.comparison-checkbox .loading-indicator{font-size:12px;color:var(--sleeper-muted);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.comparison-weekends-selector{margin-bottom:20px}.comparison-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:4px;background:var(--sleeper-sand);border-radius:8px}.comparison-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 20px;border:none;border-radius:6px;background:transparent;color:var(--sleeper-ink-soft);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.comparison-tab:hover{background:var(--sleeper-line)}.comparison-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 4px #a65a2238}.comparison-tab .tab-dates{font-size:11px;font-weight:400;opacity:.8}.comparison-tab.active .tab-dates{opacity:.9}.comparison-badge{display:inline-block;margin-left:12px;padding:4px 10px;background:#fff3;border-radius:4px;font-size:13px;font-weight:500}@media(max-width:768px){.rate-history{padding:12px}.rate-history-header h2{font-size:22px}.convention-info{padding:16px}.convention-info h3{font-size:20px}.card-summary{gap:16px}.rate-block-header,.stay-date-header{flex-direction:column;align-items:flex-start;gap:8px}.selected-point-info{flex-direction:column;align-items:flex-start}.screenshot-actions{width:100%}.screenshot-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.chart-controls{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.control-group{width:100%;flex-direction:column;align-items:flex-start;gap:6px}.room-type-dropdown{min-width:unset;width:100%}.benefit-filters{width:100%}.comparison-checkboxes{flex-direction:column;align-items:flex-start;gap:8px}.comparison-checkbox{width:100%}.plot-configuration{padding:12px 16px}.card-header{padding:16px}.card-title h4{font-size:16px}.expanded-content{padding:16px}.rate-block{padding:12px}.rate-block-details span{font-size:12px;padding:3px 6px}.contracted-rate-legend{flex-wrap:wrap;gap:8px}.net-rate-checkbox{margin-left:0}}@media(max-width:480px){.rate-history{padding:8px}.rate-history-header{margin-bottom:16px}.rate-history-header h2{font-size:20px}.convention-selector{padding:12px;margin-bottom:16px}.card-summary{flex-direction:column;gap:12px}.chart-container{padding:8px}.hotel-cards{gap:12px}.card-header{padding:12px}.stat-value.price{font-size:18px}.convention-info{padding:12px;border-radius:8px}.convention-info h3{font-size:18px}.expanded-content{padding:12px}.stay-date-header{padding:10px 12px}.rate-block{padding:10px}.benefit-checkbox{padding:6px 10px}.plot-configuration{padding:10px 12px}.no-chart-data{padding:24px 12px}}.contracted-rate-legend{display:flex;align-items:center;justify-content:center;padding:8px 0 0;font-size:12px;color:var(--sleeper-muted)}.contracted-rate-legend span{font-weight:500}.contracted-rate-legend .legend-item{display:flex;align-items:center}.net-rate-checkbox{display:flex;align-items:center;cursor:pointer;margin-left:16px}.net-rate-checkbox input[type=checkbox]{cursor:pointer;width:14px;height:14px}.net-rate-checkbox span{font-weight:500}.room-type-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;padding:6px 8px 0;font-size:12px;color:var(--sleeper-muted)}.room-type-legend-title{font-weight:600;color:var(--sleeper-ink-soft)}.room-type-legend-item{display:flex;align-items:center;gap:6px}.room-type-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.focused-hotel-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--sleeper-sand);border:1px solid var(--sleeper-line);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;font-size:14px;color:var(--sleeper-ink-soft)}.focused-hotel-bar strong{font-weight:600;color:var(--sleeper-ink)}.focused-hotel-bar a{color:var(--primary-color);font-size:14px;min-height:44px;display:inline-flex;align-items:center}.publish-pdf-bar{display:flex;justify-content:flex-end;margin-bottom:16px}.publish-pdf-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.publish-pdf-btn:hover{background:var(--primary-hover)}.publish-pdf-btn:before{content:"📄"}@media print{body.rate-history-printing .app-header,body.rate-history-printing .app-nav,body.rate-history-printing .app-footer,body.rate-history-printing .rate-history-header,body.rate-history-printing .convention-selector,body.rate-history-printing .plot-configuration,body.rate-history-printing .publish-pdf-bar,body.rate-history-printing .error-message,body.rate-history-printing .expanded-content,body.rate-history-printing .expand-icon,body.rate-history-printing .selected-point-info{display:none!important}body.rate-history-printing .app-main{margin:0!important;padding:0!important;max-width:none!important}body.rate-history-printing .convention-info{margin-bottom:16px;page-break-after:always;break-after:page}body.rate-history-printing .hotel-cards{display:block!important;gap:0!important}body.rate-history-printing .hotel-rate-card{page-break-after:always;break-after:page;box-shadow:none!important;border:1px solid var(--sleeper-line)!important;margin:0!important;overflow:visible!important}body.rate-history-printing .hotel-rate-card:last-child{page-break-after:auto;break-after:auto}body.rate-history-printing .card-header{cursor:default}body.rate-history-printing .hotel-cards *{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.rate-history-printing .chart-section,body.rate-history-printing .chart-container{overflow:visible!important}body.rate-history-printing .recharts-responsive-container,body.rate-history-printing .recharts-responsive-container>div,body.rate-history-printing .recharts-wrapper{width:100%!important;max-width:100%!important;height:auto!important}body.rate-history-printing .recharts-wrapper>.recharts-surface{width:100%!important;height:auto!important;overflow:visible!important}body.rate-history-printing .recharts-legend-wrapper{position:static!important;width:100%!important;margin-top:8px}@page{margin:1cm}}.floor-head h2{font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.floor-lede{color:var(--sleeper-muted);max-width:58ch;margin-bottom:1.75rem;line-height:1.5}.floor-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.floor-controls label{font-size:.8125rem;font-weight:500;color:var(--sleeper-muted);text-transform:uppercase;letter-spacing:.08em}.floor-controls select{padding:.55rem .75rem;border:1px solid var(--sleeper-line);border-radius:var(--radius-sm);background:var(--sleeper-card);font-family:inherit;font-size:.9375rem;color:var(--sleeper-ink);min-width:280px}.floor-controls select:focus-visible{outline:2px solid var(--sleeper-accent);outline-offset:1px}.floor-row{display:grid;grid-template-columns:minmax(200px,1.6fr) auto auto minmax(150px,.9fr);align-items:center;gap:1.75rem;padding:1.15rem 1.25rem;background:var(--sleeper-card);border:1px solid var(--sleeper-line);border-radius:var(--radius-md);margin-bottom:.6rem}.floor-hotel h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.15rem}.floor-meta{font-size:.8125rem;color:var(--sleeper-muted)}.floor-figure{display:flex;flex-direction:column;gap:1px;min-width:116px}.floor-label{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sleeper-muted)}.floor-value{font-size:2.25rem;font-weight:600;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:proportional-nums;color:var(--sleeper-ink)}.floor-when{font-size:.8125rem;color:var(--sleeper-accent);font-weight:500}.floor-spark{display:block}.floor-spark-line{stroke:var(--sleeper-dim);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.floor-spark-rule{stroke:var(--sleeper-line);stroke-width:1}.floor-spark-point{fill:var(--sleeper-accent);stroke:var(--sleeper-card);stroke-width:2}.floor-spark-empty{font-size:.75rem;color:var(--sleeper-muted);width:190px}.floor-contract{display:flex;flex-direction:column;gap:1px;text-align:right}.floor-contract-value{font-size:1.125rem;font-weight:600;color:var(--sleeper-ink-soft)}.floor-gap{font-size:.8125rem;color:var(--sleeper-muted)}@media(max-width:900px){.floor-row{grid-template-columns:1fr auto;grid-template-areas:"hotel figure" "spark contract";gap:1rem 1.25rem}.floor-hotel{grid-area:hotel}.floor-figure{grid-area:figure}.floor-spark,.floor-spark-empty{grid-area:spark}.floor-contract{grid-area:contract}}@media(max-width:560px){.floor-controls{flex-direction:column;align-items:flex-start}.floor-controls select{min-width:0;width:100%}.floor-value{font-size:1.875rem}}.series-view{display:flex;flex-direction:column;gap:1.5rem}.series-head{display:flex;flex-direction:column;gap:.25rem}.series-head h2{font-size:1.5rem;font-weight:600;letter-spacing:-.018em;color:var(--sleeper-ink)}.series-lede,.series-loading,.series-empty{font-size:.9375rem;color:var(--sleeper-muted);max-width:68ch}.series-error{background:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9375rem}.series-summary{background:var(--sleeper-sand);border:1px solid var(--sleeper-line);border-radius:var(--radius-md);padding:.9rem 1.1rem;font-size:.9375rem;color:var(--sleeper-ink-soft)}.series-summary.has-stopped{background:var(--warning-wash);border-color:var(--warning-border);color:var(--warning-color)}.series-summary strong{font-weight:600;color:var(--sleeper-ink)}.series-summary.has-stopped strong{color:var(--warning-color)}.series-list{display:flex;flex-direction:column;gap:1rem}.series-card{background:var(--sleeper-card);border:1px solid var(--sleeper-line);border-radius:var(--radius-md);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.series-card.stopped{border-left:3px solid var(--warning-color)}.series-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.series-title{display:flex;flex-direction:column;gap:2px;min-width:0}.series-title h3{font-size:1.125rem;font-weight:600;letter-spacing:-.012em;color:var(--sleeper-ink)}.series-next{font-size:.875rem;color:var(--sleeper-muted)}.series-next strong{font-weight:600;color:var(--sleeper-ink-soft)}.series-next.stopped-label{color:var(--warning-color);font-weight:600}.series-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0;flex-wrap:wrap}.series-add-btn{background:none;color:var(--primary-color);border:1px solid var(--sleeper-line);border-radius:var(--radius-sm);padding:.5rem .9rem;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.series-add-btn:hover:not(:disabled){background:var(--sleeper-sand);border-color:var(--sleeper-dim)}.series-add-btn:disabled{color:var(--sleeper-dim);cursor:not-allowed}.series-add-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:.85rem 1rem;align-items:start;background:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:var(--radius-md);padding:1rem 1.1rem}.add-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.add-field label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sleeper-muted)}.add-field input{padding:.5rem .6rem;border:1px solid var(--sleeper-line);border-radius:var(--radius-sm);font-size:.9375rem;font-family:inherit;background:var(--sleeper-card);color:var(--sleeper-ink);min-width:0}.add-field input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.add-field input[readonly]{background:var(--sleeper-sand);color:var(--sleeper-muted);cursor:default}.add-hint{font-size:.75rem;color:var(--sleeper-muted)}.add-import{grid-column:1 / -1;display:flex;align-items:flex-start;gap:.55rem;font-size:.875rem;color:var(--sleeper-ink-soft);cursor:pointer}.add-import input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;cursor:pointer}.add-import span{display:flex;flex-direction:column;gap:1px}.add-submit{grid-column:1 / -1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.add-error{grid-column:1 / -1;background:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.875rem}@media(max-width:620px){.series-add-form{grid-template-columns:minmax(0,1fr)}}.series-fetch-btn{background:var(--primary-color);color:var(--sleeper-card);border:1px solid var(--primary-color);border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background-color .2s}.series-fetch-btn:hover:not(:disabled){background:var(--primary-hover)}.series-fetch-btn:disabled{background:var(--sleeper-dim);border-color:var(--sleeper-dim);cursor:not-allowed}.series-warning{background:var(--warning-wash);border:1px solid var(--warning-border);color:var(--warning-color);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.875rem}.series-outcome{border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.875rem;display:flex;flex-direction:column;gap:2px}.series-outcome.started{background:var(--success-wash);border:1px solid var(--success-border);color:var(--success-color)}.series-outcome.blocked{background:var(--warning-wash);border:1px solid var(--warning-border);color:var(--warning-color)}.series-outcome.failed{background:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color)}.series-outcome-detail{opacity:.85;font-size:.8125rem}.series-instances{display:flex;flex-direction:column;gap:1px;list-style:none;border-top:1px solid var(--sleeper-line);padding-top:.6rem}.series-instance{display:grid;grid-template-columns:minmax(0,2.2fr) 7.5rem 7rem minmax(0,1fr) minmax(0,1fr);gap:.75rem;align-items:baseline;padding:.4rem .5rem;border-radius:var(--radius-sm);font-size:.875rem;font-variant-numeric:tabular-nums}.series-instance.past{color:var(--sleeper-muted)}.series-instance.next{background:var(--sleeper-sand);font-weight:500}.instance-year{color:var(--sleeper-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.series-instance.past .instance-year,.instance-date,.instance-lead,.instance-last{color:var(--sleeper-muted)}.instance-obs{display:flex;align-items:baseline;gap:.3rem;color:var(--sleeper-ink-soft);justify-self:end}.series-instance.past .instance-obs{color:var(--sleeper-muted)}.instance-obs-label{font-size:.75rem;color:var(--sleeper-muted);font-variant-numeric:normal}.instance-last{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:860px){.series-instance{grid-template-columns:minmax(0,1fr) auto;row-gap:.15rem}.instance-year{grid-column:1 / -1;font-weight:600}.instance-lead{text-align:right}.instance-obs{justify-self:start}.instance-last{text-align:right}}.portal-masthead{background:var(--sleeper-ink);color:#f4f2ee;padding:.85rem 1rem}.portal-masthead-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-brand{display:flex;align-items:center;gap:.65rem;min-width:0}.portal-brand-mark{border-radius:var(--radius-sm);flex-shrink:0}.portal-wordmark{font-size:1.2rem;font-weight:600;letter-spacing:-.025em;line-height:1;white-space:nowrap}.portal-brand-suffix{font-weight:400;color:#f4f2ee9e}.portal-masthead-user{display:flex;align-items:center;gap:.7rem;min-width:0}.portal-masthead-name{font-size:.8125rem;color:#f4f2eeb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-masthead-signout{background:#ffffff24;color:#f4f2ee;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-sm);padding:.3rem .75rem;font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:background .2s}.portal-masthead-signout:hover{background:#ffffff3d}.portal-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--sleeper-paper)}.portal-shell>*:not(.portal-masthead){flex:1}@media(max-width:480px){.portal-masthead-name{display:none}}@media(max-width:768px){.portal-shell input,.portal-shell select,.portal-shell textarea{font-size:16px}}.crm{max-width:1200px;margin:0 auto;padding:20px}.crm-header h2{margin:0 0 4px;color:var(--sleeper-ink)}.crm-header p{margin:0 0 20px;color:var(--sleeper-muted);font-size:14px}.crm-error{display:flex;justify-content:space-between;align-items:center;background:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color);border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:13px}.crm-error button{background:none;border:none;color:var(--error-color);font-size:16px;cursor:pointer}.crm-followups-banner{background:var(--warning-wash);border:1px solid var(--warning-border);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:var(--warning-color)}.crm-followups-banner ul{margin:8px 0 0;padding-left:18px}.crm-followups-banner li{margin-bottom:2px}.crm-followup-date{font-weight:600}.crm-selector{display:flex;align-items:center;gap:10px;margin-bottom:16px}.crm-selector label{font-weight:600;color:var(--sleeper-ink-soft);font-size:14px}.crm-selector select{padding:8px 12px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:14px;background:#fff;min-width:320px}.crm-loading,.crm-empty-state{text-align:center;color:var(--sleeper-muted);padding:40px 0}.crm-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--sleeper-line);border-radius:8px}.crm-table{width:100%;border-collapse:collapse;font-size:14px}.crm-table th{text-align:left;padding:10px 14px;background:var(--sleeper-paper);border-bottom:1px solid var(--sleeper-line);color:var(--sleeper-ink-soft);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.crm-table td{padding:10px 14px;border-bottom:1px solid var(--sleeper-sand);vertical-align:top}.crm-hotel-name{font-weight:600;color:var(--sleeper-ink)}.crm-muted{color:var(--sleeper-dim);font-size:13px}.crm-cell-contact,.crm-cell-interaction{display:flex;flex-direction:column;gap:2px;font-size:13px}.crm-cell-contact a{color:var(--primary-color);font-size:12px}.crm-status{border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;appearance:auto}.crm-status-not_started{background:var(--sleeper-sand);color:var(--sleeper-ink-soft)}.crm-status-contacted{background:var(--sleeper-sand);color:var(--primary-hover)}.crm-status-negotiating{background:var(--warning-wash);color:var(--warning-color)}.crm-status-sent{background:var(--sleeper-sand);color:var(--sleeper-ink-soft)}.crm-status-signed{background:var(--success-wash);color:var(--success-color)}.crm-status-declined{background:var(--error-wash);color:var(--error-color)}.crm-status-date{font-size:11px;color:var(--sleeper-dim);margin-top:3px}.crm-badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;margin-left:6px}.crm-badge-primary{background:var(--sleeper-sand);color:var(--primary-hover)}.crm-badge-inactive{background:var(--sleeper-sand);color:var(--sleeper-muted)}.crm-badge-followup{background:var(--warning-wash);color:var(--warning-color);margin-left:0}.crm-type-call{background:var(--sleeper-sand);color:var(--primary-hover);margin-left:0}.crm-type-email{background:var(--sleeper-sand);color:var(--sleeper-ink-soft);margin-left:0}.crm-type-meeting{background:var(--success-wash);color:var(--success-color);margin-left:0}.crm-type-site_visit{background:var(--warning-wash);color:var(--warning-color);margin-left:0}.crm-type-other{background:var(--sleeper-sand);color:var(--sleeper-ink-soft);margin-left:0}.crm-btn{padding:5px 12px;border:1px solid var(--sleeper-line);border-radius:6px;background:#fff;color:var(--sleeper-ink-soft);font-size:13px;cursor:pointer}.crm-btn:hover{background:var(--sleeper-paper)}.crm-btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.crm-btn-primary:hover{background:var(--primary-hover)}.crm-btn-danger{color:var(--error-color);border-color:var(--error-border)}.crm-btn-danger:hover{background:var(--error-wash)}.crm-btn-small{padding:0 7px;margin-left:auto;font-size:14px;line-height:1.4}.crm-detail-row td{background:var(--sleeper-paper);padding:16px}.crm-detail{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.crm-detail{grid-template-columns:1fr}}@media(max-width:620px){.crm-selector{flex-wrap:wrap;align-items:stretch}.crm-selector select{min-width:0;width:100%;min-height:44px}}.crm-panel{background:#fff;border:1px solid var(--sleeper-line);border-radius:8px;padding:14px}.crm-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.crm-panel-header h4{margin:0;color:var(--sleeper-ink);font-size:15px}.crm-empty{color:var(--sleeper-dim);font-size:13px;margin:8px 0}.crm-form{background:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:6px;padding:10px;margin-bottom:12px}.crm-form-row{display:flex;gap:8px;margin-bottom:8px}.crm-form-row input,.crm-form-row select,.crm-form-row textarea{flex:1;padding:7px 10px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;font-family:inherit;min-width:0}.crm-form-actions{align-items:center;margin-bottom:0}.crm-form-actions .crm-btn{margin-left:auto}.crm-checkbox,.crm-followup-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sleeper-ink-soft);white-space:nowrap}.crm-followup-label input{flex:none}.crm-points{background:var(--sleeper-paper);border:1px solid var(--sleeper-line);border-radius:6px;padding:10px 12px;margin-bottom:14px}.crm-points-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--sleeper-muted);margin-bottom:6px}.crm-points-form{background:#fff;margin-bottom:8px}.crm-point{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px;border-bottom:1px solid var(--sleeper-sand)}.crm-point:last-child{border-bottom:none}.crm-point-label{font-weight:600;color:var(--sleeper-ink);min-width:130px}.crm-point-details{display:flex;gap:12px;flex-wrap:wrap;color:var(--sleeper-ink-soft);flex:1}.crm-point-details a{color:var(--primary-color)}.crm-point-actions{display:flex;gap:4px}.crm-btn-small-text{padding:2px 8px;font-size:12px}.crm-contact{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--sleeper-sand)}.crm-contact:last-child{border-bottom:none}.crm-contact.inactive{opacity:.55}.crm-contact-main{display:flex;flex-direction:column;gap:2px;font-size:13px}.crm-contact-name{font-weight:600;color:var(--sleeper-ink)}.crm-contact-title{color:var(--sleeper-muted)}.crm-contact-details{display:flex;gap:12px;flex-wrap:wrap;color:var(--sleeper-ink-soft)}.crm-contact-details a{color:var(--primary-color)}.crm-contact-notes{color:var(--sleeper-dim);font-style:italic}.crm-contact-actions{display:flex;gap:6px;align-items:flex-start}.crm-timeline{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto}.crm-interaction{border:1px solid var(--sleeper-sand);border-radius:6px;padding:8px 10px}.crm-interaction-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-size:12px;color:var(--sleeper-muted)}.crm-interaction-date{font-weight:600}.crm-interaction-summary{font-size:13px;color:var(--sleeper-ink);white-space:pre-wrap}.crm-followup{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--warning-color)}.crm-followup.done{color:var(--success-color);text-decoration:line-through}.crm-followup.overdue{color:var(--error-color);font-weight:600}.crm-row-actions{display:flex;gap:6px;white-space:nowrap}.crm-row-actions .crm-btn{text-decoration:none;display:inline-block}.documents{max-width:1200px;margin:0 auto;padding:20px}.documents-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.documents-header h2{margin:0 0 4px;color:var(--sleeper-ink)}.documents-header p{margin:0;color:var(--sleeper-muted);font-size:14px}.doc-error{display:flex;justify-content:space-between;align-items:center;background:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color);border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:13px}.doc-error button{background:none;border:none;color:var(--error-color);font-size:16px;cursor:pointer}.doc-upload{background:#fff;border:1px solid var(--sleeper-line);border-radius:8px;padding:14px;margin-bottom:16px}.doc-upload.dragover{border-color:var(--primary-color);background:var(--sleeper-sand)}.doc-upload-zone{border:2px dashed var(--sleeper-line);border-radius:8px;padding:22px;text-align:center;color:var(--sleeper-muted);font-size:14px;cursor:pointer;margin-bottom:10px}.doc-upload.dragover .doc-upload-zone{border-color:var(--primary-color)}.doc-upload-zone ul{list-style:none;margin:0;padding:0;text-align:left}.doc-upload-zone li{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--sleeper-ink)}.doc-upload-meta{display:flex;gap:8px;flex-wrap:wrap}.doc-upload-meta select,.doc-upload-meta input{padding:7px 10px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;background:#fff}.doc-upload-meta input{flex:1;min-width:160px}.doc-upload-hint{margin:8px 0 0;font-size:12px;color:var(--sleeper-dim)}.doc-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.doc-filters select,.doc-search{padding:8px 10px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;background:#fff}.doc-search{flex:1;min-width:220px}.doc-loading,.doc-empty-state{text-align:center;color:var(--sleeper-muted);padding:40px 0}.doc-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--sleeper-line);border-radius:8px}.doc-table{width:100%;border-collapse:collapse;font-size:14px}.doc-table th{text-align:left;padding:10px 14px;background:var(--sleeper-paper);border-bottom:1px solid var(--sleeper-line);color:var(--sleeper-ink-soft);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.doc-table td{padding:10px 14px;border-bottom:1px solid var(--sleeper-sand);vertical-align:top}.doc-title{color:var(--primary-color);font-weight:600;text-decoration:none}.doc-title:hover{text-decoration:underline}.doc-muted{color:var(--sleeper-dim);font-size:12px}.doc-badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.doc-type-agreement{background:var(--success-wash);color:var(--success-color)}.doc-type-correspondence{background:var(--sleeper-sand);color:var(--primary-hover)}.doc-type-email{background:var(--sleeper-sand);color:var(--sleeper-ink-soft)}.doc-type-branch{background:var(--warning-wash);color:var(--warning-color)}.doc-type-personnel{background:var(--error-wash);color:var(--error-color)}.doc-type-other{background:var(--sleeper-sand);color:var(--sleeper-ink-soft)}.doc-actions{display:flex;gap:6px;white-space:nowrap}.doc-btn{padding:5px 12px;border:1px solid var(--sleeper-line);border-radius:6px;background:#fff;color:var(--sleeper-ink-soft);font-size:13px;cursor:pointer;text-decoration:none;display:inline-block}.doc-btn:hover{background:var(--sleeper-paper)}.doc-btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.doc-btn-primary:hover{background:var(--primary-hover)}.doc-btn-primary:disabled{opacity:.5;cursor:default}.doc-btn-danger{color:var(--error-color);border-color:var(--error-border)}.doc-btn-danger:hover{background:var(--error-wash)}.doc-btn-small{padding:0 7px;font-size:13px;margin-left:auto}.doc-edit-row input,.doc-edit-row select{width:100%;padding:6px 8px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px}@media(max-width:620px){.documents{padding:0}.doc-upload-meta{flex-wrap:wrap}.doc-upload-meta input{min-width:0;flex:1 1 100%}.doc-filters select,.doc-search{flex:1 1 100%;min-width:0;min-height:44px}.doc-table td button,.doc-table td a{min-height:44px;display:inline-flex;align-items:center}}.agreement-editor{max-width:1250px;margin:0 auto;padding:20px}.ag-loading{text-align:center;color:var(--sleeper-muted);padding:60px 0}.ag-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.ag-header h2{margin:0 0 4px;color:var(--sleeper-ink)}.ag-header p{margin:0;color:var(--sleeper-muted);font-size:14px}.ag-generated-at{font-size:12px!important;color:var(--sleeper-dim)!important;margin-top:2px!important}.ag-header-actions{display:flex;gap:8px;flex-shrink:0}.ag-btn{padding:8px 16px;border:1px solid var(--sleeper-line);border-radius:6px;background:#fff;color:var(--sleeper-ink-soft);font-size:14px;cursor:pointer;text-decoration:none;display:inline-block}.ag-btn:hover{background:var(--sleeper-paper)}.ag-btn:disabled{opacity:.5;cursor:default}.ag-btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ag-btn-primary:hover{background:var(--primary-hover)}.ag-error,.ag-notice{display:flex;justify-content:space-between;align-items:center;border-radius:6px;padding:10px 14px;margin-bottom:12px;font-size:13px}.ag-error{background:var(--error-wash);border:1px solid var(--error-border);color:var(--error-color)}.ag-notice{background:var(--success-wash);border:1px solid var(--sleeper-line);color:var(--success-color)}.ag-error button,.ag-notice button{background:none;border:none;font-size:16px;cursor:pointer;color:inherit}.ag-marksent{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sleeper-ink-soft);margin-bottom:16px}.ag-parts{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--sleeper-ink-soft);margin-bottom:12px}.ag-parts-label{font-weight:600}.ag-part{display:flex;align-items:center;gap:8px;cursor:pointer}.ag-part span{display:flex;flex-direction:column;line-height:1.3}.ag-part em{font-style:normal;font-size:11px;color:var(--sleeper-muted)}.ag-section{background:#fff;border:1px solid var(--sleeper-line);border-radius:8px;padding:16px;margin-bottom:16px}.ag-section h3{margin:0 0 12px;color:var(--sleeper-ink);font-size:16px;border-bottom:1px solid var(--sleeper-sand);padding-bottom:8px}.ag-hint{font-size:12px;color:var(--sleeper-dim);margin:4px 0 10px}.ag-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:8px}.ag-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 20px}@media(max-width:900px){.ag-grid-2,.ag-grid-3{grid-template-columns:1fr}}.ag-field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--sleeper-muted)}.ag-field span{font-weight:600}.ag-field input{padding:7px 10px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;color:var(--sleeper-ink)}.ag-phone-parts{display:flex;gap:6px;font-weight:400!important}.ag-phone-parts input{width:70px}.ag-phone-parts .ag-phone-num{flex:1;width:auto}.ag-conv-rows{display:flex;flex-direction:column;gap:8px}.ag-conv-row{display:flex;gap:8px;align-items:center}.ag-conv-slot{color:var(--sleeper-dim);font-size:12px;width:22px}.ag-conv-row input{padding:7px 10px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;width:240px}.ag-conv-row .ag-conv-dates{flex:1;width:auto}.ag-table-wrap{overflow-x:auto}.ag-grid-table{border-collapse:collapse;font-size:12px;width:100%}.ag-grid-table th{padding:5px 4px;background:var(--sleeper-paper);border:1px solid var(--sleeper-line);color:var(--sleeper-muted);font-size:11px;white-space:nowrap}.ag-grid-table td{border:1px solid var(--sleeper-sand);padding:2px;text-align:center}.ag-row-label{text-align:left!important;padding:4px 8px!important;font-weight:600;color:var(--sleeper-ink-soft);white-space:nowrap}.ag-cell{width:52px;padding:5px 4px;border:1px solid transparent;border-radius:4px;font-size:12px;text-align:center}.ag-cell:hover{border-color:var(--sleeper-line)}.ag-cell:focus{border-color:var(--primary-color);outline:none;background:var(--sleeper-sand)}.ag-cutoff{width:95%}.ag-conv-boundary{border-left:2px solid var(--sleeper-line)!important}.ag-total-row td{background:var(--sleeper-paper);font-weight:600;color:var(--sleeper-ink);padding:6px 4px}.ag-p2-table .ag-cell{width:90px}.ag-p2-table th{min-width:100px}.ag-footer-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:40px}.ag-roomtype-cell{padding:2px 4px!important}.ag-roomtype-input{width:130px;padding:4px 6px;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:600;color:var(--sleeper-ink-soft);background:transparent}.ag-roomtype-input:hover{border-color:var(--sleeper-line)}.ag-roomtype-input:focus{border-color:var(--primary-color);outline:none;background:var(--sleeper-sand)}.ag-combo{position:relative;display:flex;align-items:center;width:140px}.ag-combo .ag-roomtype-input{width:100%;padding-right:18px}.ag-combo-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:15px;height:15px;line-height:13px;padding:0;border:none;border-radius:50%;background:var(--sleeper-line);color:var(--sleeper-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.ag-combo-clear:hover{background:var(--sleeper-line);color:var(--sleeper-ink-soft)}.ag-combo-list{position:fixed;z-index:1000;margin:2px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid var(--sleeper-line);border-radius:6px;box-shadow:0 6px 16px #00000024;max-height:240px;overflow-y:auto;font-size:12px;font-weight:400}.ag-combo-list li{padding:5px 9px;border-radius:4px;cursor:pointer;color:var(--sleeper-ink-soft)}.ag-combo-list li:hover{background:var(--sleeper-sand)}.ag-combo-list li.selected{font-weight:600;color:var(--primary-color)}.ag-combo-keep{color:var(--sleeper-muted);font-style:italic;border-top:1px solid var(--sleeper-sand);margin-top:2px}.ag-additional-info{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;font-family:inherit;color:var(--sleeper-ink);resize:none;line-height:1.4}.ag-additional-info:focus{border-color:var(--primary-color);outline:none}.ag-year-select{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:600;color:var(--sleeper-muted)}.ag-year-select select{padding:4px 8px;border:1px solid var(--sleeper-line);border-radius:6px;font-size:13px;color:var(--sleeper-ink)}.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary);padding:20px}.admin-login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:48px 40px;max-width:440px;width:100%}.admin-login-card h1{font-size:28px;color:var(--text-primary);margin-bottom:8px}.admin-login-card .tagline{color:var(--text-secondary);font-size:14px;margin-bottom:32px}.admin-login-card label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.admin-login-card input[type=email]{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:15px;outline:none;transition:border-color .2s}.admin-login-card input[type=email]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.admin-login-btn{width:100%;padding:12px;margin-top:20px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.admin-login-btn:hover:not(:disabled){background:var(--primary-hover)}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-login-error{margin-top:16px;padding:10px 14px;background:var(--error-wash);border:1px solid var(--error-border);border-radius:6px;color:var(--error-color);font-size:14px}.admin-portal-link{text-align:center;margin-top:24px}.admin-portal-link a{color:var(--text-secondary);font-size:13px;text-decoration:none}.admin-portal-link a:hover{color:var(--primary-color)}@media(max-width:480px){.admin-login{padding:12px}.admin-login-card{padding:32px 20px}.admin-login-card h1{font-size:22px}.admin-login-btn{min-height:44px}}.portal-login{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary);padding:20px}.portal-login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:48px 40px;max-width:440px;width:100%}.portal-login-card h1{font-size:28px;color:var(--text-primary);margin-bottom:8px}.portal-login-card .tagline{color:var(--text-secondary);font-size:14px;margin-bottom:32px}.portal-login-card label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.portal-login-card input[type=email]{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:15px;outline:none;transition:border-color .2s}.portal-login-card input[type=email]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.portal-login-btn{width:100%;padding:12px;margin-top:20px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.portal-login-btn:hover:not(:disabled){background:var(--primary-hover)}.portal-login-btn:disabled{opacity:.6;cursor:not-allowed}.portal-login-error{margin-top:16px;padding:10px 14px;background:var(--error-wash);border:1px solid var(--error-border);border-radius:6px;color:var(--error-color);font-size:14px}.portal-admin-link{text-align:center;margin-top:24px}.portal-admin-link a{color:var(--text-secondary);font-size:13px;text-decoration:none}.portal-admin-link a:hover{color:var(--primary-color)}@media(max-width:480px){.portal-login{padding:12px}.portal-login-card{padding:32px 20px}.portal-login-card h1{font-size:22px}.portal-login-btn{min-height:44px}}.portal-dashboard{max-width:900px;margin:0 auto;padding:20px}.portal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.portal-header h2{font-size:24px;color:var(--text-primary);margin:0 0 4px}.portal-header .welcome{font-size:14px;color:var(--text-secondary);margin:0}.convention-cards{display:grid;gap:16px}.convention-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:24px;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.convention-card:hover{box-shadow:0 2px 12px #00000014}.convention-card-info h3{font-size:18px;color:var(--text-primary);margin:0 0 6px}.convention-card-meta{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.convention-card-action .btn-primary{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}.convention-card-action .btn-primary:hover{background:var(--primary-hover)}.no-conventions{text-align:center;padding:60px 20px;color:var(--text-secondary)}.no-conventions p{font-size:16px}@media(max-width:768px){.portal-dashboard{padding:12px}.portal-header{flex-direction:column;gap:12px;margin-bottom:24px}.portal-header h2{font-size:20px}.convention-card{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.convention-card-action{width:100%}.convention-card-action .btn-primary{width:100%;min-height:44px;text-align:center;display:block}}@media(max-width:480px){.portal-dashboard{padding:8px}.portal-header h2{font-size:18px}.convention-card{padding:12px}.convention-card-info h3{font-size:16px}.no-conventions{padding:40px 16px}}.portal-convention{max-width:1100px;margin:0 auto;padding:20px}.portal-convention-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.portal-convention-header h2{font-size:24px;color:var(--text-primary);margin:0 0 4px}.portal-convention-header .convention-meta{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.portal-back-link{color:var(--text-secondary);text-decoration:none;font-size:14px;padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;transition:all .2s;white-space:nowrap}.portal-back-link:hover{border-color:var(--primary-color);color:var(--primary-color)}.portal-actions{display:flex;gap:12px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.portal-fetch-btn{background:var(--success-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.portal-fetch-btn:hover:not(:disabled){background:var(--success-color)}.portal-fetch-btn:disabled{opacity:.6;cursor:not-allowed}.portal-fetch-progress{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:16px 20px;margin-bottom:24px}.portal-fetch-progress .progress-text{font-size:14px;color:var(--text-primary);margin-bottom:8px}.portal-fetch-progress .progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.portal-fetch-progress .progress-bar-fill{height:100%;background:var(--primary-color);border-radius:4px;transition:width .3s ease}.portal-fetch-progress .progress-percentage{font-size:12px;color:var(--text-secondary);margin-top:4px;text-align:right}.portal-chart-section{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:24px}.portal-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.portal-chart-header h3{font-size:18px;color:var(--text-primary);margin:0}.portal-view-rates-link{display:inline-flex;align-items:center;padding:8px 16px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:6px;font-size:14px;font-weight:600;transition:background .2s;white-space:nowrap}.portal-view-rates-link:hover{background:var(--primary-hover)}.portal-chart-section h3{font-size:18px;color:var(--text-primary);margin:0 0 16px}.portal-chart-loading,.portal-chart-empty{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.portal-hotel-charts{display:grid;gap:24px}.portal-hotel-card{border:1px solid var(--border-color);border-radius:8px;padding:20px}.portal-hotel-card h4{font-size:16px;color:var(--text-primary);margin:0 0 4px}.portal-hotel-card .rate-info{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.portal-hotel-card .rate-value{font-weight:700;color:var(--primary-color)}.portal-hotel-card .lowest-ever-rate{color:var(--primary-color);margin-left:12px}.portal-hotel-card .contracted-rate{color:var(--success-color);margin-left:12px}.portal-chart-table{width:100%;border-collapse:collapse;font-size:13px}.portal-chart-table th,.portal-chart-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border-color)}.portal-chart-table th{font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase}.portal-chart-table td{color:var(--text-primary)}.portal-error{background:var(--error-wash);border:1px solid var(--error-border);border-radius:8px;padding:12px 16px;color:var(--error-color);font-size:14px;margin-bottom:16px}@media(max-width:768px){.portal-convention{padding:12px}.portal-convention-header{flex-direction:column;gap:12px;margin-bottom:16px}.portal-convention-header h2{font-size:20px}.portal-back-link{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center}.portal-actions{margin-bottom:16px}.portal-fetch-btn{width:100%;min-height:44px}.portal-chart-header{flex-direction:column;align-items:flex-start;gap:12px}.portal-chart-section{padding:16px}.portal-hotel-card{padding:14px}.portal-hotel-card .lowest-ever-rate,.portal-hotel-card .contracted-rate{display:block;margin-left:0;margin-top:4px}.portal-chart-table th,.portal-chart-table td{padding:8px;white-space:nowrap}.portal-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}.portal-tabs::-webkit-scrollbar{display:none}.portal-tabs button{min-height:44px;padding:10px 16px;flex-shrink:0}}@media(max-width:480px){.portal-convention{padding:8px}.portal-convention-header h2{font-size:18px}.portal-chart-section{padding:12px}.portal-chart-section h3{font-size:16px}.portal-hotel-card{padding:10px}.portal-hotel-card h4{font-size:15px}.portal-fetch-progress{padding:12px}.portal-chart-table{font-size:12px}}.portal-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px}.portal-table-scroll .portal-chart-table{min-width:340px}.portal-hotel-link{color:var(--sleeper-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;padding:6px 0;min-height:44px}.portal-hotel-link:hover,.portal-hotel-link:focus-visible{text-decoration:underline;color:var(--sleeper-ink)}.portal-hotel-link-hint{color:var(--sleeper-dim);font-weight:400;transition:transform .15s}.portal-hotel-link:hover .portal-hotel-link-hint{transform:translate(2px)}.portal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--sleeper-line);margin-bottom:20px;flex-wrap:wrap}.portal-tabs button{padding:10px 18px;border:none;background:none;font-size:14px;font-weight:600;color:var(--sleeper-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.portal-tabs button:hover{color:var(--sleeper-ink-soft)}.portal-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.portal-convention .crm,.portal-convention .documents{max-width:none;margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box}:root{--sleeper-ink: #14161a;--sleeper-ink-soft: #3a3f47;--sleeper-muted: #6f7480;--sleeper-accent: #a65a22;--sleeper-accent-soft: #c8752a;--sleeper-accent-wash: #f8efe6;--sleeper-paper: #fbfaf8;--sleeper-card: #ffffff;--sleeper-sand: #f2efe9;--sleeper-line: #e6e2db;--sleeper-dim: #b8b2a7;--font-ui: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(20, 22, 26, .06);--success-color: #2f6b4a;--success-wash: #e7efe9;--success-border: #cfe0d4;--error-color: #a3352a;--error-wash: #f8ece9;--error-border: #ecd2cb;--warning-color: #8a6116;--warning-wash: #f7efdf;--warning-border: #ecdcbb;--primary-color: var(--sleeper-ink);--primary-hover: #000000;--text-primary: var(--sleeper-ink);--text-secondary: var(--sleeper-muted);--border-color: var(--sleeper-line);--bg-primary: var(--sleeper-card);--bg-secondary: var(--sleeper-paper);--bg-tertiary: var(--sleeper-sand)}body{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-secondary)}table,.floor-table{font-variant-numeric:tabular-nums}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--sleeper-ink);color:#f4f2ee;padding:1.1rem 1rem}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:36px;height:36px;border-radius:var(--radius-sm);flex-shrink:0}.brand-text{display:flex;flex-direction:column;gap:1px}.header-content{max-width:1200px;margin:0 auto}.header-top-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.admin-header-user{display:flex;align-items:center;gap:12px;font-size:14px;opacity:.9;white-space:nowrap}.admin-logout-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.admin-logout-btn:hover{background:#ffffff4d}.header-content h1{font-size:1.45rem;font-weight:600;letter-spacing:-.025em;line-height:1.05;margin-bottom:0;color:inherit}.header-content h1 .brand-suffix{font-weight:400;color:#f4f2ee9e}.tagline{font-size:.8125rem;letter-spacing:.01em;color:#f4f2ee94}.app-nav{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:0 1rem;display:flex;gap:1rem;max-width:1200px;margin:0 auto;width:100%;position:relative}.hamburger-btn{display:none;background:none;border:none;cursor:pointer;padding:.75rem 0;z-index:1001}.hamburger-icon{display:block;width:24px;height:2px;background:var(--text-primary);position:relative;transition:background .2s}.hamburger-icon:before,.hamburger-icon:after{content:"";display:block;width:24px;height:2px;background:var(--text-primary);position:absolute;transition:transform .2s}.hamburger-icon:before{top:-7px}.hamburger-icon:after{top:7px}.hamburger-icon.open{background:transparent}.hamburger-icon.open:before{top:0;transform:rotate(45deg)}.hamburger-icon.open:after{top:0;transform:rotate(-45deg)}.nav-overlay{display:none}.nav-links{display:flex;gap:1rem}.nav-link{padding:.85rem 1.15rem;font-size:.9375rem;text-decoration:none;color:var(--text-secondary);font-weight:500;border-bottom:3px solid transparent;transition:all .2s}.nav-link:hover{color:var(--sleeper-ink);border-bottom-color:var(--sleeper-line)}.nav-link.active{color:var(--sleeper-ink);border-bottom-color:var(--sleeper-accent)}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.app-footer{background-color:var(--bg-tertiary);border-top:1px solid var(--border-color);padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.9rem}h1{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.subtitle{color:var(--text-secondary);margin-bottom:2rem}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem;margin-bottom:1rem;color:var(--error-color)}.empty-state{text-align:center;padding:3rem;background-color:var(--bg-primary);border-radius:.5rem;border:1px dashed var(--border-color);color:var(--text-secondary)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--border-color)}.comparison-form{background-color:var(--bg-primary);padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary)}.form-group input{padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a65a2224}.form-group small{color:var(--text-secondary);font-size:.875rem}.results{margin-top:2rem}.results-summary{background-color:var(--bg-primary);padding:1.5rem;border-radius:.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.results-summary h2{margin-bottom:.5rem}.best-value{margin-bottom:2rem}.best-value h3{margin-bottom:1rem;color:var(--success-color)}.hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.hotel-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.hotel-card:hover{box-shadow:0 4px 6px #0000001a}.hotel-card.not-found{opacity:.6}.hotel-card h3{color:var(--text-primary);margin-bottom:1rem}.hotel-stats{display:flex;gap:1rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.lowest-rate{border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1rem}.lowest-rate h4{font-size:.875rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem}.price{font-size:2rem;font-weight:700;color:var(--success-color);margin-bottom:1rem}.rate-details p{margin-bottom:.5rem;font-size:.875rem}.snapshot-info{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.conventions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.convention-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.convention-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.venue-tag{background-color:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem}.convention-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;font-size:.875rem}.detail-row .label{font-weight:500;color:var(--text-secondary)}.description{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.875rem;color:var(--text-secondary)}.hotels-table,.snapshots-table{background-color:var(--bg-primary);border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}table{width:100%;border-collapse:collapse}thead{background-color:var(--bg-tertiary)}th{text-align:left;padding:1rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}td{padding:1rem;border-bottom:1px solid var(--border-color)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background-color:var(--bg-secondary)}.provider-badge{background-color:var(--bg-tertiary);padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:500}.price-cell{font-weight:600;color:var(--success-color)}.timestamp{color:var(--text-secondary);font-size:.875rem}.text-muted{color:var(--text-secondary);font-style:italic}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.page-info{color:var(--text-secondary);font-weight:500}@media(max-width:768px){.app-nav{overflow:hidden}.hamburger-btn{display:block}.nav-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:999}.nav-links{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--bg-primary);flex-direction:column;gap:0;padding:4rem 0 1rem;box-shadow:2px 0 8px #00000026;transform:translate(-100%);transition:transform .25s ease;z-index:1000;overflow-y:auto}.nav-links.nav-open{transform:translate(0)}.nav-link{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);border-left:3px solid transparent}.nav-link:hover,.nav-link.active{border-bottom:1px solid var(--border-color);border-left-color:var(--primary-color)}.header-content h1{font-size:1.2rem}.tagline{font-size:.75rem}.app-header{padding:1rem}.hotel-grid,.conventions-grid,.form-row{grid-template-columns:1fr}table{font-size:.875rem}th,td{padding:.75rem .5rem}.hotels-table,.snapshots-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.btn-primary,.btn-secondary{min-height:44px}.convention-header{flex-direction:column;align-items:flex-start;gap:8px}.results-summary{padding:1rem}.results-summary h2{font-size:1.25rem}.hotel-grid{gap:1rem}.price{font-size:1.5rem}.pagination{gap:.5rem;padding:.75rem}.pagination .btn-secondary{padding:.5rem 1rem;font-size:.875rem}h1{font-size:1.5rem}h2{font-size:1.25rem}}@media(max-width:480px){.header-content h1{font-size:1.1rem;margin-bottom:0}.tagline{display:none}.brand-mark{width:30px;height:30px}.app-header{padding:.8rem .75rem}.app-main{padding:1rem .5rem}.hotel-grid,.conventions-grid{grid-template-columns:1fr}.comparison-form,.convention-card{padding:1rem}.detail-row{flex-direction:column;gap:2px}.hotel-card{padding:1rem}.hotel-card h3{font-size:1rem}.price{font-size:1.25rem}.snapshots-table table{min-width:600px}.empty-state{padding:2rem 1rem}.loading{padding:2rem}.app-footer{font-size:.8rem;padding:1rem}}
