.hotel-view-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(54px,1fr));height:32px;border:1px solid var(--adm-line);border-radius:4px;overflow:hidden;background:var(--adm-card)}
.hotel-view-switch button{border:0;border-right:1px solid var(--adm-line);padding:0 10px;background:transparent;color:var(--adm-text-soft);font-size:12px;font-weight:600;letter-spacing:0;cursor:pointer}
.hotel-view-switch button:last-child{border-right:0}.hotel-view-switch button.active{background:var(--adm-brown);color:#fff}
.hotel-portfolio-root{display:grid;gap:12px;margin-bottom:14px}.hotel-portfolio-root[hidden]{display:none!important}
.hotel-table-mode>.hotel-grid,.hotel-portfolio-native-grid-hidden{display:none!important}
.hotel-portfolio-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.hotel-portfolio-card{display:grid;gap:14px;min-width:0;padding:14px;border:1px solid var(--adm-line);border-radius:6px;background:var(--adm-card)}
.hotel-portfolio-card.is-inactive{background:#fafafa}.hotel-portfolio-card header,.hotel-portfolio-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.hotel-portfolio-card header strong,.hotel-portfolio-card header small{display:block}.hotel-portfolio-card header strong{color:var(--adm-brown);font-size:14px}.hotel-portfolio-card header small{margin-top:3px;color:var(--adm-text-faint);font-size:11.5px}.hotel-portfolio-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.hotel-portfolio-card dl div{min-width:0}.hotel-portfolio-card dt{font-size:11px;color:var(--adm-text-soft)}.hotel-portfolio-card dd{margin:3px 0 0;color:var(--adm-text);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.hotel-portfolio-card footer{justify-content:flex-end;flex-wrap:wrap}
.hotel-portfolio-batch{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(170px,240px) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--adm-line);border-radius:6px;background:var(--adm-cream)}
.hotel-portfolio-batch-summary{display:flex;align-items:center;gap:4px;min-height:34px;white-space:nowrap}.hotel-portfolio-batch-summary strong{font-size:13px;color:var(--adm-brown)}
.hotel-portfolio-field{display:grid;gap:4px;min-width:0}.hotel-portfolio-field>span{font-size:11px;color:var(--adm-text-soft)}.hotel-portfolio-field .adm-input,.hotel-portfolio-field .adm-select{width:100%;min-width:0}
.hotel-portfolio-batch-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.hotel-portfolio-table-wrap{width:100%;overflow:auto;border:1px solid var(--adm-line);border-radius:6px;background:var(--adm-card)}
.hotel-portfolio-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:12.5px;color:var(--adm-text)}
.hotel-portfolio-table th,.hotel-portfolio-table td{padding:10px 11px;border-bottom:1px solid var(--adm-line-soft);text-align:left;vertical-align:middle}
.hotel-portfolio-table th{position:sticky;top:0;z-index:1;background:var(--adm-cream);color:var(--adm-text-soft);font-size:11.5px;font-weight:700;white-space:nowrap}
.hotel-portfolio-table tbody tr:last-child td{border-bottom:0}.hotel-portfolio-table tbody tr:hover{background:var(--adm-gold-bg)}.hotel-portfolio-table tbody tr.is-inactive{background:#fafafa}
.hotel-portfolio-table td strong{display:block;max-width:220px;color:var(--adm-brown);line-height:1.45}.hotel-portfolio-table td small{display:block;margin-top:3px;max-width:220px;color:var(--adm-text-faint);line-height:1.4}
.hotel-portfolio-table .select-column{width:38px;text-align:center}.hotel-portfolio-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.hotel-portfolio-table .address-cell{max-width:240px;white-space:normal;line-height:1.5}
.hotel-portfolio-table .operation-column{width:360px;text-align:center;white-space:nowrap}.hotel-portfolio-table .operation-column .adm-btn+.adm-btn{margin-left:4px}.hotel-portfolio-table .hotel-delete-button{color:var(--adm-danger)}.hotel-portfolio-table .hotel-delete-button:hover{background:var(--adm-danger-bg)}
.hotel-portfolio-status,.hotel-data-warning,.hotel-data-complete{display:inline-flex;align-items:center;min-height:23px;padding:2px 7px;border-radius:4px;font-size:11.5px;font-weight:700;white-space:nowrap}
.hotel-portfolio-status.active,.hotel-data-complete{background:var(--adm-success-bg);color:var(--adm-success)}.hotel-portfolio-status.inactive{background:var(--adm-warning-bg);color:var(--adm-warning)}.hotel-portfolio-status.system{background:var(--adm-cream);color:var(--adm-text-soft);border:1px solid var(--adm-line)}
.hotel-data-warning{background:var(--adm-danger-bg);color:var(--adm-danger)}.hotel-portfolio-empty{padding:42px!important;text-align:center!important;color:var(--adm-text-faint)}
.hotel-data-na{color:var(--adm-text-faint);white-space:nowrap}
.hotel-contact-editor{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--adm-line);border-radius:8px;background:var(--adm-card);color:var(--adm-text);box-shadow:0 18px 50px rgba(31,36,33,.24)}.hotel-contact-editor::backdrop{background:rgba(20,27,24,.42)}.hotel-contact-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 12px;border-bottom:1px solid var(--adm-line-soft)}.hotel-contact-editor-head small{color:var(--adm-text-soft);font-size:11px}.hotel-contact-editor-head h3{margin:3px 0 0;color:var(--adm-brown);font-size:17px}.hotel-contact-editor-head>button{border:0;background:transparent;color:var(--adm-text-soft);font-size:24px;line-height:1;cursor:pointer}.hotel-contact-editor-help{margin:0;padding:12px 20px;color:var(--adm-text-soft);font-size:12px}.hotel-contact-editor-rows{display:grid;gap:10px;padding:0 20px 16px;overflow:auto}.hotel-contact-editor-row{display:grid;grid-template-columns:1.1fr .85fr 1.2fr auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--adm-line-soft);border-radius:6px;background:var(--adm-cream)}.hotel-contact-editor-row label{display:grid;gap:4px;min-width:0}.hotel-contact-editor-row label>span{font-size:11px;color:var(--adm-text-soft)}.hotel-contact-editor-row .hotel-contact-primary{display:flex;align-items:center;gap:5px;min-height:34px;white-space:nowrap}.hotel-contact-editor-empty{padding:24px;text-align:center;color:var(--adm-text-faint);border:1px dashed var(--adm-line);border-radius:6px}.hotel-contact-editor-actions{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--adm-line-soft)}.hotel-contact-editor-actions .spacer{flex:1}.hotel-contact-remove{color:var(--adm-danger)}
.hotel-portfolio-toast{position:fixed;top:18px;left:50%;z-index:10000;transform:translate(-50%,-18px);padding:10px 16px;border-radius:6px;background:#254c3d;color:#fff;font-size:13px;box-shadow:0 8px 24px rgba(31,36,33,.18);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.hotel-portfolio-toast[data-tone="error"]{background:#a33d35}.hotel-portfolio-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media (max-width: 1100px){.hotel-portfolio-batch{grid-template-columns:1fr 1fr}.hotel-portfolio-batch-actions{justify-content:flex-end}}
@media (max-width: 767px){.hotel-view-switch{width:100%;height:36px;order:8}.hotel-portfolio-card-grid{grid-template-columns:1fr}.hotel-portfolio-card dl{grid-template-columns:1fr 1fr}.hotel-portfolio-card footer{display:grid;grid-template-columns:1fr 1fr}.hotel-portfolio-card footer .adm-btn{width:100%}.hotel-portfolio-batch{grid-template-columns:1fr;padding:10px}.hotel-portfolio-batch-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.hotel-portfolio-batch-actions .adm-btn:first-child{grid-column:1/-1}.hotel-portfolio-table-wrap{margin:0 -2px;width:calc(100% + 4px)}.hotel-contact-editor-row{grid-template-columns:1fr}.hotel-contact-editor-row .hotel-contact-primary{min-height:28px}.hotel-contact-editor-actions{flex-wrap:wrap}.hotel-contact-editor-actions .spacer{display:none}.hotel-contact-editor-actions .adm-btn{flex:1}.hotel-portfolio-toast{top:10px;width:calc(100% - 24px);text-align:center}}
