@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Playfair+Display:wght@600;700&display=swap";.layout{background:var(--bg-page);min-height:100vh;display:flex}.hamburger-btn{z-index:1100;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-card);width:40px;height:40px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:none;position:fixed;top:16px;left:16px;box-shadow:0 2px 8px #00000014}.hamburger-btn:hover{background:var(--bg-hover)}.hamburger-btn svg{width:20px;height:20px}.sidebar-overlay{z-index:999;background:#0006;animation:.2s sidebarFadeIn;display:none;position:fixed;inset:0}@keyframes sidebarFadeIn{0%{opacity:0}to{opacity:1}}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:240px;transition:width .2s,transform .2s;display:flex}.sidebar-brand{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:24px 20px;display:flex}.brand-icon{color:var(--accent);font-size:20px}.brand-text{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.nav-item{color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item--active{background:var(--accent-subtle);color:var(--accent)}.nav-icon{flex-shrink:0;width:18px;height:18px}.nav-separator{background:var(--border-subtle);height:1px;margin:12px 16px}.nav-section-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-tertiary);margin-bottom:4px;padding:4px 24px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--border-subtle);align-items:center;gap:8px;padding:16px;display:flex}.user-badge{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.user-avatar{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.user-info{flex-direction:column;min-width:0;display:flex}.user-email{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.user-role{color:var(--text-tertiary);text-transform:capitalize;font-size:11px}.logout-btn{border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.logout-btn:hover{background:var(--bg-danger-subtle);color:var(--danger);border-color:var(--danger)}.logout-icon{width:16px;height:16px}.main-content{flex:1;min-width:0;padding:32px;overflow-y:auto}@media (width<=768px){.hamburger-btn{display:flex}.sidebar-overlay{display:block}.sidebar{z-index:1000;width:240px;box-shadow:none;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.sidebar--open{transform:translate(0);box-shadow:4px 0 24px #0000001f}.sidebar-brand{padding:56px 16px 16px}.nav-item{padding:10px 12px}.sidebar-footer{padding:12px}.main-content{padding:64px 20px 20px}}.login-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-bg-shape{opacity:.06;border-radius:50%;position:absolute}.login-bg-shape--1{background:var(--accent);width:600px;height:600px;top:-200px;right:-100px}.login-bg-shape--2{background:var(--accent-warm);width:400px;height:400px;bottom:-150px;left:-100px}.login-bg-shape--3{background:var(--accent);opacity:.03;width:250px;height:250px;top:50%;left:50%;transform:translate(-50%,-50%)}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;width:100%;max-width:400px;padding:48px 40px;animation:.5s ease-out cardIn;position:relative;box-shadow:0 1px 3px #0000000a,0 8px 32px #0000000f}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:36px}.login-logo{color:var(--accent);margin-bottom:12px;font-size:28px;display:inline-block}.login-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:700}.login-subtitle{color:var(--text-tertiary);letter-spacing:.02em;margin:6px 0 0;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-secondary);letter-spacing:.01em;font-size:13px;font-weight:600}.field-input{border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:15px;font-family:var(--font-body);border-radius:10px;outline:none;padding:12px 14px;transition:all .15s}.field-input::placeholder{color:var(--text-placeholder)}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.field-input:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--bg-danger-subtle);border:1px solid var(--border-danger);color:var(--danger);border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;animation:.35s ease-out shakeIn;display:flex}.error-icon{flex-shrink:0;width:16px;height:16px}@keyframes shakeIn{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.login-btn{background:var(--accent);color:#fff;font-size:15px;font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;min-height:48px;margin-top:4px;padding:13px 20px;transition:all .15s;display:flex}.login-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px var(--accent-shadow);transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.login-card{margin:16px;padding:36px 28px}}.dashboard{max-width:1100px}.dashboard-export-actions{gap:8px;display:flex}.btn-export{border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:var(--bg-card);color:var(--text-secondary);align-items:center;gap:6px;padding:8px 16px;transition:all .15s;display:inline-flex}.btn-export:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.btn-export:disabled{opacity:.6;cursor:not-allowed}.btn-export--excel{color:#2d6a3f;border-color:#b7d9b7}.btn-export--excel:hover:not(:disabled){background:#f0f8f0;border-color:#8ac28a}.btn-export--pdf{color:#8b3232;border-color:#e0b8b8}.btn-export--pdf:hover:not(:disabled){background:#fdf5f5;border-color:#d09090}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.notification-banner{border-radius:var(--radius-md);color:inherit;background:linear-gradient(135deg,#fdf6f0 0%,#fef0e8 100%);border:1px solid #f0d4c0;align-items:center;gap:14px;margin-bottom:24px;padding:14px 20px;text-decoration:none;transition:all .2s;display:flex}.notification-banner:hover{border-color:var(--accent-warm);transform:translateY(-1px);box-shadow:0 2px 12px #c4653a1a}.notification-banner-icon{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-banner-icon svg{width:18px;height:18px}.notification-banner-content{flex-direction:column;flex:1;gap:2px;display:flex}.notification-banner-title{color:var(--text-primary);font-size:14px;font-weight:600}.notification-banner-detail{gap:10px;font-size:12px;display:flex}.notif-count{font-weight:600}.notif-count--critical{color:var(--danger)}.notif-count--warning{color:#b07020}.notification-banner-arrow{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.summary-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:24px;display:flex;position:relative;overflow:hidden}.summary-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:3px;position:absolute;top:0;left:0;right:0}.summary-card-header{justify-content:space-between;align-items:center;display:flex}.summary-card-currency{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.summary-card-profit{flex-direction:column;gap:2px;display:flex}.summary-card-profit-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.summary-card-profit-value{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.1}.summary-card-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.summary-card-metric{flex-direction:column;gap:2px;display:flex}.metric-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.metric-value{color:var(--text-primary);font-size:16px;font-weight:600}.summary-card-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.summary-card-alert{border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600}.summary-card-alert--danger{color:var(--danger);background:#fdf2f2}.summary-card-alert--warning{color:#9a6c20;background:#fef8f0}.summary-card-alert--ok{color:#3a7a4f;background:#f0f8f0}.profit-positive{color:#2d6a3f}.profit-negative{color:var(--danger)}.property-table-section{margin-top:8px}.section-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:16px;font-size:18px;font-weight:700}.table-wrapper{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:auto hidden}.property-table{border-collapse:collapse;width:100%;font-size:14px}.property-table thead{background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.property-table th{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;text-align:left;white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700}.property-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:14px 16px}.property-table tbody tr:last-child td{border-bottom:none}.property-table tbody tr:hover{background:#00000004}.property-table .text-right{text-align:right}.property-table .text-center{text-align:center}.property-table-link{color:var(--text-primary);font-weight:600;text-decoration:none;transition:color .15s}.property-table-link:hover{color:var(--accent)}.count-badge{border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.count-badge--danger{color:var(--danger);background:#fdf2f2}.count-badge--warning{color:#9a6c20;background:#fef8f0}.count-badge--ok{background:var(--bg-hover);color:var(--text-tertiary)}@media (width<=768px){.summary-cards,.stat-cards{grid-template-columns:1fr}.dashboard-filters,.dashboard-export-actions{flex-wrap:wrap}.page-header{flex-direction:column;align-items:flex-start}}@media (width<=480px){.summary-card{padding:18px}.summary-card-profit-value{font-size:22px}.property-table th,.property-table td{padding:10px 12px}}.dashboard-filters{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:end;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.filter-field{flex-direction:column;gap:4px;min-width:140px;display:flex}.filter-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.filter-select{border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-page);cursor:pointer;padding:8px 12px;transition:border-color .15s}.filter-select:focus{border-color:var(--accent);outline:none}.stat-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:16px;padding:20px 24px;display:flex}.stat-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-card-icon--property{color:#3a6fa5;background:#f0f4fa}.stat-card-icon--tenant{color:#2d6a3f;background:#f0f8f0}.stat-card-icon--occupancy{color:#9a6c20;background:#fef8f0}.stat-card-content{flex-direction:column;gap:2px;display:flex}.stat-card-value{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.1}.stat-card-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.section-title-filter{color:var(--text-tertiary);font-size:13px;font-weight:500}.notifications-page{max-width:800px}.notification-list{flex-direction:column;gap:12px;display:flex}.notification-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);border-left:4px solid var(--border-subtle);flex-direction:column;gap:10px;padding:20px 24px;transition:box-shadow .15s;display:flex}.notification-card:hover{box-shadow:0 2px 8px #0000000a}.notification-card--critical{border-left-color:var(--danger)}.notification-card--warning{border-left-color:#c48c2a}.notification-card--info{border-left-color:#3a6fa5}.notification-card-top{align-items:center;gap:10px;display:flex}.dismiss-btn{cursor:pointer;color:var(--text-tertiary);opacity:.5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:opacity .15s,color .15s,background-color .15s;display:flex}.dismiss-btn:hover{opacity:1;color:var(--text-primary);background-color:#0000000d}.dismiss-btn:disabled{opacity:.3;cursor:not-allowed}.severity-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;align-items:center;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.severity-badge--Critical{color:var(--danger);background:#fdf2f2}.severity-badge--Warning{color:#9a6c20;background:#fef8f0}.severity-badge--Info{color:#3a6fa5;background:#f0f4fa}.notification-type{color:var(--text-secondary);font-size:13px;font-weight:700}.notification-message{color:var(--text-primary);font-size:14px;line-height:1.5}.notification-meta{justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.notification-property-link{color:var(--text-tertiary);align-items:center;gap:5px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.notification-property-link:hover{color:var(--accent)}.notification-date{color:var(--text-tertiary);white-space:nowrap;font-size:12px}@media (width<=480px){.notification-card{padding:16px 18px}.notification-meta{flex-direction:column;align-items:flex-start;gap:6px}}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.page-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:26px;font-weight:700}.page-subtitle{color:var(--text-tertiary);margin-top:2px;font-size:13px}.btn{border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{flex-shrink:0;width:16px;height:16px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px var(--accent-shadow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-input);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-tertiary)}.btn-danger{color:var(--danger);border:1px solid var(--border-danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--bg-danger-subtle)}.btn-ghost{color:var(--text-tertiary);background:0 0;padding:6px 8px}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.btn-sm{padding:6px 12px;font-size:13px}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-type{background:var(--accent-subtle);color:var(--accent)}.badge-currency{color:#3a7a4f;background:#f0f4f0}.badge-currency--usd{color:#3a5a8f;background:#f0f3f9}.badge-currency--eur{color:#6a3a8f;background:#f5f0f9}.status-badge{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge--pending{color:#b7870a;background:#fef9e7}.status-badge--paid{color:#2e7d32;background:#edf7ed}.status-badge--late{background:var(--bg-danger-subtle);color:var(--danger)}.status-badge--cancelled{color:var(--text-tertiary);background:#f2f1ef}.status-badge--active{color:#2e7d32;background:#edf7ed}.status-badge--inactive{color:var(--text-tertiary);background:#f2f1ef}.platform-badge{letter-spacing:.02em;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.platform-badge--airbnb{color:#e0564b;background:#fff0ec}.platform-badge--booking{color:#003580;background:#eaf0fa}.platform-badge--direct{background:var(--accent-subtle);color:var(--accent)}.loading-container{justify-content:center;align-items:center;padding:80px 20px;display:flex}.error-banner{background:var(--bg-danger-subtle);border:1px solid var(--border-danger);border-radius:var(--radius-sm);color:var(--danger);align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;font-size:14px;font-weight:500;display:flex}.error-banner svg{flex-shrink:0;width:18px;height:18px}.empty-state{text-align:center;padding:80px 20px}.empty-state-icon{width:64px;height:64px;color:var(--text-placeholder);margin:0 auto 16px}.empty-state-title{font-family:var(--font-display);color:var(--text-secondary);margin-bottom:8px;font-size:20px;font-weight:600}.empty-state-text{color:var(--text-tertiary);margin-bottom:24px;font-size:14px}.form-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:32px}.form-section{margin-bottom:28px}.form-section:last-child{margin-bottom:0}.form-section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-subtle);margin-bottom:16px;padding-bottom:8px;font-size:13px;font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.form-field:last-child,.form-row>.form-field,.form-row-3>.form-field{margin-bottom:0}.form-label .required{color:var(--danger);margin-left:2px}.form-input,.form-select,.form-textarea{border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-body);outline:none;padding:10px 14px;transition:all .15s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-placeholder)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239a9189' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.form-hint{color:var(--text-tertiary);font-size:12px}.form-error{color:var(--danger);font-size:12px}.form-checkbox{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.form-checkbox span{-webkit-user-select:none;user-select:none}.form-actions{border-top:1px solid var(--border-subtle);align-items:center;gap:12px;margin-top:28px;padding-top:24px;display:flex}.back-link{color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--accent)}.back-link svg{width:16px;height:16px}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title{font-family:var(--font-display);color:var(--text-primary);font-size:18px;font-weight:700}.section-subtitle{color:var(--text-tertiary);margin-top:2px;font-size:13px}.property-tabs{border-bottom:2px solid var(--border-subtle);gap:0;margin-bottom:24px;display:flex}.property-tab{font-size:14px;font-weight:600;font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:10px 20px;text-decoration:none;transition:color .15s;position:relative}.property-tab:hover{color:var(--text-primary)}.property-tab--active{color:var(--accent)}.property-tab--active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-2px;left:0;right:0}.data-table-wrap,.data-table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border-subtle);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:12px 14px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table .amount{font-variant-numeric:tabular-nums;font-weight:600}.data-table .date{white-space:nowrap;color:var(--text-secondary)}.table-link{color:var(--accent);font-weight:500;text-decoration:none}.table-link:hover{text-decoration:underline}.badge-status--active{background:var(--success-subtle,#e6f9ee);color:var(--success,#16a34a)}.badge-status--inactive{background:var(--border-subtle);color:var(--text-secondary)}.confirm-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-card);border-radius:var(--radius-md);width:90%;max-width:400px;padding:28px;animation:.2s ease-out dialogIn;box-shadow:0 20px 60px #00000026}.confirm-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:700}.confirm-text{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-card);border-radius:var(--radius-md);width:90%;max-width:520px;padding:28px;animation:.2s ease-out dialogIn;box-shadow:0 20px 60px #00000026}.modal-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:20px;font-size:18px;font-weight:700}.modal-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=768px){.form-row,.form-row-3{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.property-tabs{overflow-x:auto}}@media (width<=480px){.form-card{padding:20px}}.property-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.property-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;color:inherit;flex-direction:column;gap:12px;padding:20px;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.property-card:before{content:"";background:var(--accent);opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.property-card:hover{border-color:var(--accent-warm);transform:translateY(-2px);box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f}.property-card:hover:before{opacity:1}.property-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.property-card-name{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.3}.property-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.property-card-city{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}.property-card-city svg{width:14px;height:14px;color:var(--text-tertiary)}.property-card-group{color:var(--text-tertiary);background:var(--bg-hover);border-radius:4px;padding:2px 8px;font-size:12px}.property-form-container{max-width:680px}.detail-container{max-width:800px}.detail-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.detail-top-bar{background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:4px}.detail-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px;display:flex}.detail-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:22px;font-weight:700}.detail-badges{gap:8px;margin-top:8px;display:flex}.detail-actions{flex-shrink:0;gap:8px;display:flex}.detail-body{padding:28px}.detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.detail-field{flex-direction:column;gap:4px;display:flex}.detail-field--full{grid-column:1/-1}.detail-field-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.detail-field-value{color:var(--text-primary);font-size:15px;line-height:1.4}.detail-field-value--empty{color:var(--text-placeholder);font-style:italic}.notes-section{margin-top:24px}.notes-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.notes-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.notes-title{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.notes-count{color:var(--text-tertiary);background:var(--bg-hover);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.notes-add-form{border-bottom:1px solid var(--border-subtle);background:var(--bg-page);gap:10px;padding:16px 24px;display:flex}.notes-add-input{border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-body);outline:none;flex:1;padding:10px 14px;transition:all .15s}.notes-add-input::placeholder{color:var(--text-placeholder)}.notes-add-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.notes-list{list-style:none}.note-item{border-bottom:1px solid var(--border-subtle);padding:16px 24px;transition:background .15s}.note-item:last-child{border-bottom:none}.note-item:hover{background:#00000003}.note-content{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.5}.note-meta{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.note-author{color:var(--text-tertiary);font-size:12px}.note-author strong{color:var(--text-secondary);font-weight:600}.note-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.note-item:hover .note-actions{opacity:1}.note-action-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.note-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.note-action-btn--danger:hover{background:var(--bg-danger-subtle);color:var(--danger)}.note-action-btn svg{width:14px;height:14px}.note-edit-form{align-items:flex-start;gap:8px;display:flex}.note-edit-input{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-body);box-shadow:0 0 0 3px var(--accent-ring);resize:vertical;outline:none;flex:1;min-height:60px;padding:8px 12px;line-height:1.5}.note-edit-actions{flex-direction:column;gap:4px;display:flex}.notes-empty{text-align:center;color:var(--text-tertiary);padding:40px 24px;font-size:14px}@media (width<=768px){.property-grid,.detail-grid{grid-template-columns:1fr}.detail-header{flex-direction:column}}@media (width<=480px){.detail-header{padding:16px 20px}.detail-body{padding:20px}.notes-add-form,.note-item{padding:12px 16px}}.tenant-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:24px;transition:all .2s;position:relative;overflow:hidden}.tenant-card:before{content:"";background:var(--accent);height:3px;position:absolute;top:0;left:0;right:0}.tenant-card--inactive:before{background:var(--text-placeholder)}.tenant-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.tenant-card-name{font-family:var(--font-display);color:var(--text-primary);font-size:18px;font-weight:700}.tenant-card-contact{color:var(--text-secondary);margin-top:4px;font-size:13px}.tenant-card-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.tenant-card-field-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:11px;font-weight:600}.tenant-card-field-value{color:var(--text-primary);font-size:14px;font-weight:500}.tenant-card-actions{border-top:1px solid var(--border-subtle);gap:8px;margin-top:20px;padding-top:16px;display:flex}.past-tenant-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:inherit;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;text-decoration:none;transition:all .15s;display:flex}.past-tenant-item:hover{border-color:var(--accent-warm);background:var(--bg-hover)}.past-tenant-info{align-items:center;gap:16px;display:flex}.past-tenant-name{color:var(--text-primary);font-size:14px;font-weight:600}.past-tenant-dates{color:var(--text-tertiary);font-size:13px}.past-tenant-list{flex-direction:column;gap:8px;display:flex}.tenant-info-section{margin-bottom:24px}.tenant-info-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.tenant-info-topbar{background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:4px}.tenant-info-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px;display:flex}.tenant-info-body{padding:24px 28px}.tenant-info-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.payments-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:24px;overflow:hidden}.payments-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.payments-title{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.increase-rate{color:#2e7d32;font-weight:600}@media (width<=768px){.tenant-card-grid,.tenant-info-grid{grid-template-columns:1fr 1fr}.past-tenant-item{flex-direction:column;align-items:flex-start}.past-tenant-info{flex-direction:column;gap:4px}}@media (width<=480px){.tenant-card-grid,.tenant-info-grid{grid-template-columns:1fr}.tenant-info-header{flex-direction:column;padding:16px 20px}.tenant-info-body{padding:16px 20px}}.str-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.str-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px;transition:all .2s;position:relative;overflow:hidden}.str-card:hover{border-color:var(--accent-warm);transform:translateY(-1px);box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f}.str-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.str-guest-name{color:var(--text-primary);font-size:15px;font-weight:600}.str-dates{color:var(--text-secondary);margin-top:4px;font-size:13px}.str-card-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.str-field-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:11px;font-weight:600}.str-field-value{color:var(--text-primary);font-size:14px;font-weight:500}.str-card-footer{border-top:1px solid var(--border-subtle);gap:8px;padding-top:14px;display:flex}.str-summary{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:24px;margin-bottom:20px;padding:16px 20px;display:flex}.str-summary-item{flex-direction:column;gap:2px;display:flex}.str-summary-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.str-summary-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}@media (width<=768px){.str-grid{grid-template-columns:1fr}.str-summary{flex-wrap:wrap;gap:16px}}.category-badge{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.category-badge--maintenance{color:#1a56db;background:#e8f0fe}.category-badge--repair{color:#c2571a;background:#fef0e6}.category-badge--tax{color:#b87514;background:#fff3e0}.category-badge--insurance{color:#6b21a8;background:#f0e8fe}.category-badge--management{color:#2e7d32;background:#e8f5e9}.category-badge--other{color:var(--text-tertiary);background:#f2f1ef}.recurring-yes{color:#2e7d32;font-size:13px;font-weight:600}.recurring-no{color:var(--text-tertiary);font-size:13px}.expense-summary{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:24px;margin-bottom:20px;padding:16px 20px;display:flex}.expense-summary-item{flex-direction:column;gap:2px;display:flex}.expense-summary-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.expense-summary-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.form-checkbox-row{align-items:center;gap:10px;margin:8px 0;display:flex}.form-checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form-checkbox-row label{color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500}@media (width<=768px){.expense-summary{flex-wrap:wrap;gap:16px}}.status-badge--overdue{background:var(--bg-danger-subtle);color:var(--danger)}.bill-summary{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:24px;margin-bottom:20px;padding:16px 20px;display:flex}.bill-summary-item{flex-direction:column;gap:2px;display:flex}.bill-summary-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.bill-summary-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.btn-pay{color:#2e7d32;cursor:pointer;white-space:nowrap;background:#edf7ed;border:1px solid #c8e6c9;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s}.btn-pay:hover{color:#1b5e20;background:#c8e6c9}.btn-pay:disabled{opacity:.5;cursor:not-allowed}.bill-type-badge{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.bill-type-badge--water{color:#00796b;background:#e0f2f1}.bill-type-badge--electric{color:#f57f17;background:#fff8e1}.bill-type-badge--gas{color:#c62828;background:#fce4ec}.bill-type-badge--internet{color:#283593;background:#e8eaf6}.bill-type-badge--dues{color:#6a1b9a;background:#f3e5f5}@media (width<=768px){.bill-summary{flex-wrap:wrap;gap:16px}}.doc-upload-form{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:20px;padding:16px 20px}.doc-upload-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.doc-file-input{min-width:200px;font-size:13px;font-family:var(--font-body,"DM Sans", sans-serif);color:var(--text-primary);flex:1}.doc-file-input::file-selector-button{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-subtle);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body,"DM Sans", sans-serif);border-radius:6px;margin-right:10px;padding:6px 14px;transition:all .15s}.doc-file-input::file-selector-button:hover{background:var(--border-subtle)}.doc-category-select{border:1px solid var(--border-subtle);color:var(--text-primary);background:var(--bg-card);cursor:pointer;min-width:120px;font-size:13px;font-weight:500;font-family:var(--font-body,"DM Sans", sans-serif);border-radius:6px;padding:7px 12px}.doc-category-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb,183, 101, 71), .15);outline:none}.doc-upload-error{color:var(--danger);align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:500;display:flex}.doc-cat-badge{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.doc-cat-badge--titledeed{color:#2e7d32;background:#e8f5e9}.doc-cat-badge--contract{color:#1565c0;background:#e3f2fd}.doc-cat-badge--insurance{color:#e65100;background:#fff3e0}.doc-cat-badge--invoice{color:#c62828;background:#fce4ec}.doc-cat-badge--photo{color:#6a1b9a;background:#f3e5f5}.doc-cat-badge--other{background:var(--bg-hover);color:var(--text-secondary)}.btn-download{color:#1565c0;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--font-body,"DM Sans", sans-serif);background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;transition:all .15s;display:inline-flex}.btn-download:hover{color:#0d47a1;background:#bbdefb}.doc-filename{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-weight:500;overflow:hidden}.doc-filesize{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:13px}@media (width<=768px){.doc-upload-row{flex-direction:column;align-items:stretch}.doc-file-input{min-width:unset}.doc-filename{max-width:160px}}.import-tabs{border-bottom:2px solid var(--border-subtle);gap:0;margin-bottom:28px;display:flex}.import-tab{font-size:14px;font-weight:600;font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 24px;transition:color .15s;display:inline-flex;position:relative}.import-tab:hover{color:var(--text-primary)}.import-tab--active{color:var(--accent)}.import-tab--active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-2px;left:0;right:0}.import-tab svg{width:16px;height:16px}.import-upload-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:24px;padding:24px}.import-upload-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.import-upload-row .form-field{flex:1;min-width:180px;margin-bottom:0}.import-file-input{border:1px dashed var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:var(--font-body);cursor:pointer;width:100%;padding:9px 12px;transition:border-color .15s}.import-file-input:hover{border-color:var(--accent)}.import-file-input:disabled{opacity:.6;cursor:not-allowed}.import-actions{align-items:flex-end;gap:10px;display:flex}.import-summary{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:24px;padding:20px 24px;display:flex}.import-summary-stat{flex-direction:column;gap:2px;display:flex}.import-summary-stat .stat-value{font-size:22px;font-weight:700;font-family:var(--font-display);color:var(--text-primary);font-variant-numeric:tabular-nums}.import-summary-stat .stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:11px;font-weight:600}.import-summary-stat--errors .stat-value{color:var(--danger)}.import-summary-stat--warnings .stat-value{color:#b7870a}.import-summary-stat--success .stat-value{color:#2e7d32}.import-summary-divider{background:var(--border-subtle);width:1px;height:36px}.import-row--error{background:#fdf2f2!important}.import-row--error:hover{background:#fbe8e8!important}.import-row--warning{background:#fef9e7!important}.import-row--warning:hover{background:#fdf3d0!important}.import-status{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.import-status--success{color:#2e7d32;background:#edf7ed}.import-status--error{background:var(--bg-danger-subtle);color:var(--danger)}.import-status--warning{color:#b7870a;background:#fef9e7}.import-status--duplicate{color:var(--text-tertiary);background:#f2f1ef}.import-row-message{margin-top:2px;font-size:12px;line-height:1.3}.import-row-message--error{color:var(--danger)}.import-row-message--warning{color:#b7870a}.import-result{border-radius:var(--radius-md);background:#edf7ed;border:1px solid #c3e6c3;align-items:center;gap:12px;margin-bottom:24px;padding:20px 24px;display:flex}.import-result svg{color:#2e7d32;flex-shrink:0;width:22px;height:22px}.import-result-text{color:#2e7d32;font-size:14px;font-weight:500}.import-result-text strong{font-weight:700}.import-result-link{color:var(--accent);margin-left:auto;font-size:13px;font-weight:600;text-decoration:none}.import-result-link:hover{text-decoration:underline}.import-amount{font-variant-numeric:tabular-nums;font-weight:600}@media (width<=768px){.import-upload-row{flex-direction:column;align-items:stretch}.import-upload-row .form-field{min-width:unset}.import-summary{gap:16px}.import-summary-divider{display:none}}.admin-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.admin-title{font-family:var(--font-display);color:var(--text-primary);font-size:24px;font-weight:700}.role-badge{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.role-badge--superadmin{background:var(--accent);color:#fff}.role-badge--user{background:var(--border-subtle);color:var(--text-secondary)}.row-actions{gap:6px;display:flex}.group-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.group-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:20px;transition:border-color .15s,box-shadow .15s}.group-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.group-card-name{font-family:var(--font-display);color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:700}.group-card-desc{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.group-card-stats{color:var(--text-tertiary);gap:20px;font-size:13px;display:flex}.group-detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.group-detail-info{flex:1}.group-detail-desc{color:var(--text-secondary);margin-top:4px;font-size:14px}.group-detail-actions{gap:8px;display:flex}.group-sections{grid-template-columns:1fr 1fr;gap:24px;display:grid}.group-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px}.group-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.group-section-title{font-family:var(--font-display);color:var(--text-primary);font-size:15px;font-weight:700}.member-row,.property-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.member-row:last-child,.property-row:last-child{border-bottom:none}.member-info{flex-direction:column;display:flex}.member-name{color:var(--text-primary);font-weight:500}.member-email{color:var(--text-tertiary);font-size:12px}.member-role-badge{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.member-role-badge--admin{background:var(--accent-subtle);color:var(--accent)}.member-role-badge--member{background:var(--border-subtle);color:var(--text-secondary)}@media (width<=768px){.group-sections{grid-template-columns:1fr}.group-detail-header{flex-direction:column;gap:12px}.admin-header{flex-direction:column;align-items:flex-start;gap:12px}}.telegram-link-page{max-width:560px}.telegram-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:32px}.telegram-status-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.telegram-status-icon svg{width:22px;height:22px}.telegram-status-icon--linked{color:#2e7d32;background:#edf7ed}.telegram-status-icon--unlinked{background:var(--accent-subtle);color:var(--accent)}.telegram-linked{align-items:center;gap:16px;display:flex}.telegram-linked-info{flex-direction:column;flex:1;gap:2px;display:flex}.telegram-linked-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.telegram-linked-username{color:var(--text-primary);font-size:18px;font-weight:700;font-family:var(--font-display)}.telegram-linked-date{color:var(--text-secondary);font-size:13px}.telegram-unlinked{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.telegram-unlinked-desc{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.telegram-link-form{align-items:flex-end;gap:12px;width:100%;display:flex}.telegram-link-form .form-field{flex:1;margin-bottom:0}.form-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-input{border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-input);letter-spacing:.1em;padding:10px 14px;transition:border-color .15s}.form-input:focus{border-color:var(--accent);outline:none}.form-input:disabled{opacity:.6;cursor:not-allowed}:root{--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Playfair Display", Georgia, serif;--accent:#c4653a;--accent-hover:#b3562d;--accent-warm:#d4845e;--accent-subtle:#fdf2ee;--accent-ring:#c4653a26;--accent-shadow:#c4653a40;--bg-page:#faf9f7;--bg-card:#fff;--bg-sidebar:#fff;--bg-input:#fff;--bg-hover:#f5f3f0;--text-primary:#1a1714;--text-secondary:#5c564e;--text-tertiary:#9a9189;--text-placeholder:#c4bdb4;--border-subtle:#eae6e1;--border-input:#ddd8d1;--danger:#c43a3a;--bg-danger-subtle:#fdf2f2;--border-danger:#f5d5d5;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-page);line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.loading-screen{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}
