:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-bg:#f5f6f8;--color-surface:#fff;--color-border:#e5e7eb;--color-border-dark:#d1d5db;--color-text:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-success:#15803d;--color-success-bg:#dcfce7;--color-warning:#92400e;--color-warning-bg:#fef3c7;--sidebar-bg:#111827;--sidebar-border:#273244;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--header-height:64px;--sidebar-width:240px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{margin:0 0 6px;font-size:28px}.page-header p{color:#6b7280;margin:0}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000a}.card h2{margin-top:0;margin-bottom:20px;font-size:20px}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;height:40px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.status-badge{border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-active{color:#166534;background:#dcfce7}.status-disabled{color:#991b1b;background:#fee2e2}.action-link{margin-right:12px}.action-button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:500}.action-button.danger{color:#dc2626}.action-button.danger:hover{color:#b91c1c;text-decoration:underline}.error-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:12px 14px;font-size:14px}.empty-state{text-align:center;color:#6b7280;padding:40px 20px}.empty-state h3{color:#374151;margin:0 0 8px;font-size:16px}.empty-state p{margin:0 0 16px;font-size:14px}.loading-state{color:#6b7280;justify-content:center;align-items:center;min-height:180px;font-size:14px;display:flex}.back-link{color:#4b5563;align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover{color:#2563eb}*{box-sizing:border-box}body{background:#f5f6f8;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-layout{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;flex-shrink:0;width:240px;min-height:100vh}.sidebar-logo{border-bottom:1px solid #273244;align-items:center;height:64px;padding:0 24px;display:flex}.sidebar-logo h2{margin:0}.sidebar-nav{padding:16px 12px}.nav-section{color:#9ca3af;letter-spacing:.08em;padding:20px 12px 8px;font-size:11px;font-weight:700}.nav-item{color:#d1d5db;border-radius:6px;margin:3px 0;padding:11px 12px;text-decoration:none;display:block}.nav-item:hover{color:#fff;background:#1f2937}.nav-item.active{color:#fff;background:#2563eb}.main-area{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.topbar-user{align-items:center;gap:16px;display:flex}.topbar-user button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 12px}.page-content{padding:24px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-title{margin:0;font-size:16px;font-weight:650}.card-body{padding:20px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{color:#147a48;background:#e8f7ef}.badge-warning{color:#956d00;background:#fff5d9}.badge-danger{color:#b42332;background:#fdebed}.badge-info{color:#0958b5;background:#e8f1ff}.badge-default{color:#59616b;background:#eef0f2}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:8px;display:flex}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.detail-grid>div{flex-direction:column;gap:4px;display:flex}.detail-grid strong{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:12px;font-weight:600}.detail-grid span{color:var(--color-text);word-break:break-word;font-size:14px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-header h2{margin:0;font-size:20px}.btn{border-radius:var(--radius-sm);min-height:38px;transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{border-color:var(--color-border);color:var(--color-text);background:#fff}.btn-secondary:hover{background:#f6f7f8}.btn-danger{background:var(--color-danger);color:#fff}.btn-success{background:var(--color-success);color:#fff}.btn-sm{min-height:32px;padding:0 10px;font-size:13px}.btn-icon{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.form-grid .form-group{margin-bottom:20px}.form-group.full-width{grid-column:1/-1}.form-group textarea{color:#111827;resize:vertical;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:140px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5}.form-group textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.form-group textarea:disabled{cursor:not-allowed;background:#f3f4f6}.form-help{color:#6b7280;margin:6px 0 0;font-size:12px;line-height:1.5}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;display:flex}.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-width:640px;padding:24px;box-shadow:0 1px 2px #0000000a}.form-card .form-group{margin-bottom:20px}.form-card input,.form-card select{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:14px}.form-card input:focus,.form-card select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.form-card input:disabled,.form-card select:disabled{cursor:not-allowed;background:#f3f4f6}.form-card label{color:#374151;margin-bottom:7px;font-size:14px;font-weight:600;display:block}.form-card select{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:14px}.form-card select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.table-container{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table thead{background:#f9fafb}.data-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5e7eb;padding:13px 16px;font-size:12px;font-weight:700}.data-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:14px 16px}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.data-table a{color:#2563eb;font-weight:500;text-decoration:none}.data-table a:hover{text-decoration:underline}.data-table td[colspan]{text-align:center;color:#6b7280;padding:32px 16px}.table-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.table-actions .action-link{margin-right:0}.room-table{width:100%;min-width:760px}.room-table th,.room-table td{white-space:nowrap}.room-table td:first-child{color:#111827;font-weight:600}.user-table{width:100%;min-width:900px}.user-table th,.user-table td{white-space:nowrap}.user-table td:first-child{color:#111827;font-weight:600}.user-table .user-name{flex-direction:column;gap:3px;display:flex}.user-table .user-name-primary{color:#111827;font-weight:600}.user-table .user-name-secondary{color:#6b7280;font-size:12px}.user-hotel-table{width:100%}.user-hotel-table th,.user-hotel-table td{white-space:nowrap}@media (width<=900px){:root{--sidebar-width:200px}.page-container{padding:18px}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:auto}}@media (width<=700px){.sidebar{width:64px}.sidebar-logo{justify-content:center;padding:0}.sidebar-logo span,.sidebar-nav-item span{display:none}.sidebar-nav-item{justify-content:center}.main-content{margin-left:64px}.page-header{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.btn{justify-content:center}}.login-page{background:#f3f4f6;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;max-width:400px;padding:32px;box-shadow:0 10px 30px #00000014}.login-header{text-align:center;margin-bottom:28px}.login-header h1{margin:0 0 8px}.login-header p{color:#6b7280;margin:0}.form-group{margin-bottom:18px}.form-group label{margin-bottom:7px;font-weight:600;display:block}.form-group input{border:1px solid #d1d5db;border-radius:6px;width:100%;height:42px;padding:0 12px;font-size:14px}.form-group input:focus{border-color:#2563eb;outline:none}.login-card form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;width:100%;height:42px;font-weight:600}.login-card form button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#b91c1c;background:#fee2e2;border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:14px}.room-page{flex-direction:column;gap:20px;display:flex}.btn-secondary{color:#374151;background:#fff;border-color:#d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-danger{color:#dc2626;background:#fff;border-color:#fecaca}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.btn-sm{height:34px;padding:0 11px;font-size:13px}.room-form{width:100%}.room-detail{flex-direction:column;gap:24px;display:flex}.room-detail .detail-grid{gap:20px}.detail-item{flex-direction:column;gap:6px;display:flex}.detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.detail-value{color:#111827;font-size:15px}.device-filters{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px;display:flex}.device-filter-search{flex:260px}.device-filters input,.device-filters select{width:100%;height:40px;font:inherit;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:0 12px}.device-filters select{width:auto;min-width:150px}.device-filters input:focus,.device-filters select:focus{border-color:#2563eb}.device-summary{color:#6b7280;align-items:center;gap:8px;margin-bottom:14px;display:flex}.device-summary strong{color:#111827;font-size:20px}.device-summary-total{color:#9ca3af}.device-name-cell{flex-direction:column;gap:3px;display:flex}.device-name-cell strong{color:#111827}.device-name-cell span{color:#9ca3af;font-size:12px}.device-empty-state{text-align:center;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:48px 24px}.device-section-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.device-section-header h2{margin:0 0 6px}.device-section-header p{color:#6b7280;margin:0;font-size:14px}.btn-primary,.btn-secondary{cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#374151;background:#e5e7eb}.modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 20px 50px #0003}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.modal-header h2{margin:0 0 6px;font-size:20px}.modal-header p{color:#6b7280;margin:0;font-size:14px}.modal-close{color:#6b7280;cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1}.modal-body{padding:24px}.form-field{flex-direction:column;gap:8px;display:flex}.form-field>span{color:#374151;font-size:14px;font-weight:600}.form-field select{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;height:42px;padding:0 12px;font-size:14px}.form-field select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.form-loading{color:#6b7280;background:#f3f4f6;border-radius:8px;padding:12px;font-size:14px}.modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.device-assignment-actions{align-items:center;gap:10px;display:flex}.btn-danger{cursor:pointer;color:#fff;background:#dc2626;border:0;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.form-static-value{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;min-height:42px;padding:0 12px;font-size:14px;display:flex}.form-help{color:#6b7280;margin-top:8px;font-size:13px}.error-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;padding:10px 12px;font-size:14px}.modal-close:disabled{opacity:.5;cursor:not-allowed}@media (width<=700px){.device-section-header{flex-direction:column;align-items:flex-start}.device-assignment-actions{flex-wrap:wrap;width:100%}.device-assignment-actions button{flex:1}.modal-overlay{padding:12px}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.devices-page{color:#111827;padding:28px}.devices-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.devices-header h1{margin:0;font-size:28px;font-weight:700}.devices-header p{color:#6b7280;margin:6px 0 0;font-size:14px}.device-detail{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:24px;padding:20px}.device-detail h2{margin:0 0 16px;font-size:18px;font-weight:700}.device-detail-grid{border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.device-detail-grid>div{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;flex-direction:column;gap:5px;padding:14px 16px;display:flex}.device-detail-grid>div:nth-child(3n){border-right:none}.device-detail-grid>div span{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.device-detail-grid>div strong{color:#111827;font-size:14px;font-weight:600}@media (width<=900px){.device-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-detail-grid>div:nth-child(3n){border-right:1px solid #e5e7eb}.device-detail-grid>div:nth-child(2n){border-right:none}}@media (width<=640px){.device-detail-grid{grid-template-columns:1fr}.device-detail-grid>div,.device-detail-grid>div:nth-child(2n),.device-detail-grid>div:nth-child(3n){border-right:none}}.device-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.device-table{border-collapse:collapse;width:100%}.device-table th{color:#6b7280;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:700}.device-table td{color:#374151;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.device-table tbody tr{cursor:pointer;transition:background-color .15s}.device-table tbody tr:hover{background:#f9fafb}.device-table tbody tr:last-child td{border-bottom:none}.application-page,.application-detail-page,.application-version-page{color:#111827;padding:28px}.application-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.application-page-header h1{color:#111827;margin:0;font-size:28px;font-weight:700}.application-page-header p{color:#6b7280;margin:6px 0 0;font-size:14px}.application-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;justify-content:center;align-items:center;min-height:36px;padding:8px 14px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.application-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.application-btn:disabled{opacity:.6;cursor:not-allowed}.application-btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.application-btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.application-btn-success{color:#166534;border-color:#16a34a}.application-btn-success:hover:not(:disabled){background:#f0fdf4;border-color:#15803d}.application-btn-danger{color:#b91c1c;border-color:#dc2626}.application-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#b91c1c}.application-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.application-card-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.application-card-header h2{color:#111827;margin:0;font-size:18px;font-weight:700}.application-card-header p{color:#6b7280;margin:4px 0 0;font-size:13px}.application-table-wrapper{overflow-x:auto}.application-table{border-collapse:collapse;width:100%}.application-table th{color:#6b7280;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:700}.application-table td{color:#374151;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.application-table tbody tr:hover{background:#f9fafb}.application-table tbody tr:last-child td{border-bottom:none}.application-name{color:#111827;font-weight:700}.application-package{color:#4b5563;font-family:monospace;font-size:13px}.application-table-link{color:#2563eb;font-weight:600;text-decoration:none}.application-table-link:hover{text-decoration:underline}.application-status,.application-version-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;min-width:70px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.application-status-active,.application-version-status-active{color:#166534;background:#dcfce7;border:1px solid #86efac}.application-status-inactive,.application-version-status-retired{color:#4b5563;background:#f3f4f6;border:1px solid #d1d5db}.application-version-status-draft{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.application-detail-header{margin-bottom:24px}.application-back{margin-bottom:18px}.application-detail-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.application-detail-title-row h1{margin:0;font-size:28px;font-weight:700}.application-detail-title-row p{color:#6b7280;margin:5px 0 0;font-size:14px}.application-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.application-info-item{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;flex-direction:column;gap:5px;padding:18px 20px;display:flex}.application-info-item:nth-child(3n){border-right:none}.application-info-item:nth-last-child(-n+3){border-bottom:none}.application-info-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.application-info-value{color:#111827;font-size:14px;font-weight:600}.application-version-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.application-version-header h1{margin:0;font-size:28px;font-weight:700}.application-version-header p{color:#6b7280;margin:6px 0 0;font-size:14px}.application-version-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.application-artifact{padding:20px}.application-artifact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.application-artifact-item{flex-direction:column;gap:6px;display:flex}.application-artifact-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.application-artifact-value{color:#111827;font-size:14px;font-weight:600}.application-artifact-checksum{word-break:break-all;font-family:monospace;font-size:12px}.application-management-error,.application-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:16px 0;padding:12px 16px;font-size:14px}.application-management-success,.application-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:16px 0;padding:12px 16px;font-size:14px}@media (width<=900px){.application-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.application-info-item:nth-child(3n){border-right:1px solid #e5e7eb}.application-info-item:nth-child(2n){border-right:none}.application-artifact-grid{grid-template-columns:1fr}}@media (width<=640px){.application-page,.application-detail-page,.application-version-page{padding:16px}.application-detail-title-row,.application-version-header{flex-direction:column;align-items:stretch}.application-info-grid{grid-template-columns:1fr}.application-info-item,.application-info-item:nth-child(2n),.application-info-item:nth-child(3n){border-bottom:1px solid #e5e7eb;border-right:none}.application-info-item:last-child{border-bottom:none}}.tenants-page{padding:var(--space-6);max-width:1400px;margin:0 auto}.tenants-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.tenants-header__title{flex:1;min-width:0}.tenants-header__title h1{margin-bottom:var(--space-1)}.tenants-header__title p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}.tenants-header__actions{gap:var(--space-3);flex-shrink:0;align-items:center;display:flex}.tenants-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.tenants-toolbar__search{min-width:220px;max-width:420px;padding:var(--space-2) var(--space-3);min-height:38px;font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex:1}.tenants-toolbar__search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.tenants-toolbar__filter{padding:var(--space-2) var(--space-3);min-height:38px;font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.tenants-toolbar__filter:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.tenants-table{width:100%}.tenants-table th:first-child,.tenants-table td:first-child{width:80px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs)}.tenants-table td:nth-child(3){font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:.02em}.tenants-table th:last-child,.tenants-table td:last-child{text-align:right;white-space:nowrap;width:160px}.tenants-table__name-link{font-weight:var(--font-weight-medium);color:var(--color-text);text-decoration:none}.tenants-table__name-link:hover{color:var(--color-primary);text-decoration:none}.tenant-detail{padding:var(--space-6);max-width:1400px;margin:0 auto}.tenant-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.tenant-detail__header-info{flex:1;min-width:0}.tenant-detail__header-info h1{margin-bottom:var(--space-1)}.tenant-detail__meta{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.tenant-detail__meta code{font-family:var(--font-mono);font-size:var(--font-size-xs);background-color:var(--color-bg);border-radius:var(--radius-sm);color:var(--color-text);padding:2px 6px}.tenant-hotels{margin-top:var(--space-6)}.tenant-hotels__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.tenant-hotels__header h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.tenant-hotels__table th:first-child,.tenant-hotels__table td:first-child{width:80px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs)}.tenant-hotels__table th:last-child,.tenant-hotels__table td:last-child{text-align:right;white-space:nowrap;width:160px}.tenant-hotels__empty{padding:var(--space-10) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.tenant-form-page{padding:var(--space-6);max-width:1400px;margin:0 auto}.tenant-form-page__header{margin-bottom:var(--space-6)}.tenant-form-page__header h1{margin-bottom:var(--space-1)}.tenant-form-page__header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}@media (width<=768px){.tenants-page,.tenant-detail,.tenant-form-page{padding:var(--space-4)}.tenants-header,.tenant-detail__header,.tenant-hotels__header{flex-direction:column;align-items:stretch}.tenants-header__actions,.tenants-header__actions .btn{width:100%}.tenants-table th:first-child,.tenants-table td:first-child,.tenant-hotels__table th:first-child,.tenant-hotels__table td:first-child{display:none}.tenants-table th:last-child,.tenants-table td:last-child,.tenant-hotels__table th:last-child,.tenant-hotels__table td:last-child{text-align:left;width:auto}}@media (width<=480px){.tenants-table td:nth-child(3),.tenants-table th:nth-child(3){display:none}.tenants-toolbar{flex-direction:column;align-items:stretch}.tenants-toolbar__search,.tenants-toolbar__filter{width:100%;max-width:none}}
