.login-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-card{background:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-3xl);max-width:440px;width:100%;margin:20px}.logo{text-align:center;margin-bottom:var(--space-2xl)}.logo h1{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.logo p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.logo-image{width:48px;height:48px;margin:0 auto var(--space-lg)}.login-content{text-align:center}.login-content h2{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.login-content>p{margin:0 0 var(--space-2xl) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-md);width:100%;padding:14px var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-normal)}.google-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.google-button:active{transform:translateY(0)}.login-container .error-message{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#ff3b301a;border:1px solid rgba(255,59,48,.2);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);text-align:left}.login-container .error-message h2{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-h4);color:var(--color-error)}.login-container .error-message p{margin:var(--space-sm) 0;font-size:var(--font-size-sm)}@media (max-width: 480px){.login-card{padding:var(--space-2xl) var(--space-xl)}.logo h1{font-size:var(--font-size-h2)}.login-content h2{font-size:var(--font-size-h3)}}.access-denied-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:linear-gradient(135deg,var(--color-bg-primary) 0%,#ebe5d9 100%)}.access-denied-card{max-width:520px;width:100%;background:#fffffff2;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-radius:var(--radius-xl);padding:var(--space-3xl) 40px;text-align:center;box-shadow:0 0 0 1px #0000000a,0 4px 8px #0000000a,0 16px 48px #00000014}.access-denied-icon{margin-bottom:24px;display:flex;justify-content:center;animation:scaleIn .4s cubic-bezier(.4,0,.2,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.access-denied-title{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-xl) 0;letter-spacing:-.02em}.access-denied-message{margin-bottom:var(--space-2xl)}.access-denied-message p{font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-secondary);margin:0 0 var(--space-lg) 0}.access-denied-message strong{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.user-info{background:var(--color-accent-light);border:1px solid rgba(221,65,50,.2);border-radius:var(--radius-lg);padding:var(--space-lg);margin:var(--space-xl) 0}.user-info p:first-child{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.user-email{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:var(--font-mono);word-break:break-all}.help-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-xl)!important}.access-denied-actions{margin-bottom:var(--space-xl)}.btn-sign-out{width:100%;padding:14px var(--space-xl);background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 2px 8px #dd413233}.btn-sign-out:hover{background:var(--color-accent-hover);box-shadow:0 4px 12px #dd41324d;transform:translateY(-1px)}.btn-sign-out:active{transform:translateY(0);box-shadow:0 2px 6px #dd413233}.security-note{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.security-note svg{flex-shrink:0;color:var(--color-text-tertiary)}@media (max-width: 640px){.access-denied-card{padding:var(--space-2xl) var(--space-xl)}.access-denied-title{font-size:var(--font-size-h2)}.access-denied-message p{font-size:var(--font-size-base)}.btn-sign-out{padding:var(--space-md) 20px;font-size:var(--font-size-base)}}.language-switcher{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.language-switcher:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent)}.language-flag{font-size:1.125rem;line-height:1}.language-code{letter-spacing:.025em}@media (max-width: 768px){.language-switcher{padding:.625rem .875rem;font-size:var(--font-size-base)}.language-flag{font-size:1.25rem}}.contractor-selector{position:relative;width:100%;margin-bottom:.75rem}.contractor-selector__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;background:#00000008;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px}.contractor-selector__trigger:hover{background:#0000000d;border-color:#0000001f}.contractor-selector__current{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.contractor-selector__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border-radius:6px;flex-shrink:0;color:var(--color-text-secondary, #666)}.contractor-selector__text{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.contractor-selector__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary, #999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contractor-selector__name{font-size:13px;font-weight:500;color:var(--color-text-primary, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contractor-selector__arrow{flex-shrink:0;color:var(--color-text-secondary, #666);transition:transform .2s}.contractor-selector__arrow.open{transform:rotate(180deg)}.contractor-selector__dropdown{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background:#fff;border:1.5px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:1000;overflow:hidden;animation:slideUp .2s ease-out;max-height:400px;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.contractor-selector__section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary, #999);padding:.75rem .75rem .375rem;background:#00000005}.contractor-selector__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:#fff;border:none;border-bottom:1px solid rgba(0,0,0,.06);cursor:pointer;transition:background .15s;text-align:left}.contractor-selector__option:last-child{border-bottom:none}.contractor-selector__option:hover{background:#00000008}.contractor-selector__option.active{background:#007aff14}.contractor-selector__option.active:hover{background:#007aff1f}.contractor-selector__option-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.contractor-selector__option-header{display:flex;align-items:center;gap:.5rem}.contractor-selector__option-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary, #999)}.contractor-selector__option-name{font-size:13px;font-weight:500;color:var(--color-text-primary, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contractor-selector__default-badge{padding:.125rem .375rem;background:#007aff1a;color:#007aff;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.contractor-selector__option-registry{font-size:11px;color:var(--color-text-secondary, #666)}.contractor-selector__option svg{flex-shrink:0;color:#007aff}.contractor-selector__divider{height:1px;background:#0000001a;margin:.25rem 0}.contractor-selector__empty{padding:1.5rem;text-align:center}.contractor-selector__empty p{margin:0;font-size:13px;color:var(--color-text-secondary, #666)}@media (max-width: 768px){.contractor-selector{margin-bottom:.5rem}.contractor-selector__trigger{padding:.5rem .625rem}.contractor-selector__icon{width:24px;height:24px}.contractor-selector__name{font-size:12px}.contractor-selector__label{font-size:9px}}.app-header--mobile{display:none}@media (max-width: 1023px){.app-header--mobile{display:block;position:sticky;top:0;z-index:var(--z-sticky);background:#f7f2e9f2;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--color-border-light)}.app-header__container{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-lg);height:var(--header-height)}.app-header__logo{display:flex;align-items:center;text-decoration:none}.app-header__logo-img{height:32px;width:auto}.app-header__menu-btn{display:flex;align-items:center;justify-content:center;border:none;background:none;padding:var(--space-sm);cursor:pointer;color:var(--color-text-primary);border-radius:var(--radius-md);transition:background var(--transition-fast)}.app-header__menu-btn:hover{background:#0000000d}}.app-sidebar--desktop{display:none}@media (min-width: 1024px){.app-sidebar--desktop{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:#f7f2e9fa;border-right:1px solid var(--color-border-light);z-index:var(--z-sticky);overflow-y:auto;-webkit-overflow-scrolling:touch}body{padding-left:var(--sidebar-width)}}.app-sidebar--mobile{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:85%;max-width:320px;background:#fffffffa;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);z-index:var(--z-modal);box-shadow:var(--shadow-lg);animation:slideInFromRight .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.app-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn .25s ease-out}.app-sidebar__header{display:flex;align-items:center;justify-content:flex-end;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.app-sidebar__close{display:flex;align-items:center;justify-content:center;border:none;background:#0000000d;padding:var(--space-sm);cursor:pointer;color:var(--color-text-primary);border-radius:var(--radius-full);width:36px;height:36px;transition:all var(--transition-fast)}.app-sidebar__close:hover{background:#00000014}.app-sidebar__logo-section{padding:20px var(--space-lg)}.app-sidebar__logo{display:flex;align-items:center;text-decoration:none;transition:opacity var(--transition-fast)}.app-sidebar__logo:hover{opacity:.7}.app-sidebar__logo-img{height:36px;width:auto}.app-sidebar__divider{height:1px;background:var(--color-border-light);margin:var(--space-sm) var(--space-lg)}.app-sidebar__section-label{padding:var(--space-sm) var(--space-lg) var(--space-xs);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.app-sidebar__links{display:flex;flex-direction:column;padding:var(--space-xs) var(--space-md);gap:2px}.app-sidebar__link{display:flex;align-items:center;gap:var(--space-md);padding:10px var(--space-md);color:var(--color-text-primary);text-decoration:none;font-size:14px;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.app-sidebar__link svg{flex-shrink:0;color:var(--color-text-secondary);transition:color var(--transition-fast)}.app-sidebar__link:hover{background:#0000000a;color:var(--color-text-primary)}.app-sidebar__link:hover svg{color:var(--color-text-primary)}.app-sidebar__link.active{background:#dd413214;color:var(--color-accent)}.app-sidebar__link.active svg{color:var(--color-accent)}.app-sidebar__link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-accent);border-radius:0 3px 3px 0}.app-sidebar__spacer{flex:1;min-height:var(--space-lg)}.app-sidebar__compact-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light);gap:var(--space-md)}.app-sidebar__user{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:default}.app-sidebar__user-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-accent);display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);flex-shrink:0;overflow:hidden}.app-sidebar__user-avatar img{width:100%;height:100%;object-fit:cover}.app-sidebar__user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__actions{display:flex;align-items:center;gap:var(--space-xs)}.app-sidebar__action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.app-sidebar__action-btn:hover{background:#0000000d;color:var(--color-text-primary)}.app-sidebar__action-btn--danger:hover{background:var(--color-badge-error-bg);color:var(--color-error)}@media (max-width: 1023px){.app-sidebar--mobile .app-sidebar__link{padding:14px var(--space-md);font-size:var(--font-size-base)}.app-sidebar--mobile .app-sidebar__compact-footer{padding:14px var(--space-lg)}.app-sidebar--mobile .app-sidebar__user-avatar{width:32px;height:32px;font-size:var(--font-size-xs)}.app-sidebar--mobile .app-sidebar__user-name{font-size:14px}.app-sidebar--mobile .app-sidebar__action-btn{width:36px;height:36px}}@media (max-width: 375px){.app-header__container{padding:0 var(--space-md)}.app-header__logo-img{height:28px}}.skeleton{background:linear-gradient(90deg,var(--color-border, #e8e8e8) 0%,var(--color-bg-tertiary, #f5f5f5) 50%,var(--color-border, #e8e8e8) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-line{margin-bottom:var(--space-xs)}.skeleton-apartment-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-md)}.skeleton-card-header{display:flex;justify-content:space-between;align-items:center}.skeleton-card-details{display:flex;gap:var(--space-lg)}.skeleton-card-stats{display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-stat-row{display:flex;justify-content:space-between}.skeleton-card-footer{display:flex;justify-content:space-between;padding-top:var(--space-sm);border-top:1px solid var(--color-border-light)}.skeleton-apartment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg);padding:var(--space-lg) 0}.skeleton-apartment-detail{padding:var(--space-xl);max-width:var(--container-max-width);margin:0 auto}.skeleton-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.skeleton-header-actions{display:flex;gap:var(--space-md)}.skeleton-info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.skeleton-info-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-detail-sections{display:flex;flex-direction:column;gap:var(--space-2xl)}.skeleton-section{display:flex;flex-direction:column;gap:var(--space-lg)}.skeleton-viewings-page{display:flex;flex-direction:column;gap:var(--space-xl)}.skeleton-viewings-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg)}.skeleton-segmented-control{display:flex;gap:var(--space-xs);background:var(--color-border-light);padding:var(--space-xs);border-radius:10px}.skeleton-viewing-row{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:10px;box-shadow:var(--shadow-sm)}.skeleton-viewing-header{display:flex;justify-content:space-between;align-items:center}.skeleton-viewings-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.skeleton-timeline-chart{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.skeleton-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.skeleton-chart-legend{display:flex;gap:var(--space-sm)}.skeleton-chart-area{height:calc(100% - 40px)}.skeleton-table{background:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:hidden}.skeleton-table-header{display:flex;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.skeleton-table-row{display:flex;gap:var(--space-lg);padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-timelines{padding:var(--space-xl)}.skeleton-filter-bar{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl)}.skeleton-timeline-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.skeleton-timeline-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.skeleton-timeline-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.skeleton-timeline-card-content{margin-bottom:var(--space-md)}.skeleton-timeline-card-footer{padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.skeleton-settings{padding:var(--space-xl);max-width:600px}.skeleton-title{margin-bottom:var(--space-xl)}.skeleton-form-section{display:flex;flex-direction:column;gap:20px;margin-bottom:var(--space-xl)}.skeleton-form-row{display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-monthly-targets{padding:var(--space-xl)}.skeleton-targets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.skeleton-target-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-md)}@media (prefers-color-scheme: dark){.skeleton{background:linear-gradient(90deg,#2a2a2a,#3a3a3a,#2a2a2a);background-size:200% 100%}.skeleton-apartment-card,.skeleton-info-card,.skeleton-viewing-row,.skeleton-timeline-chart,.skeleton-table,.skeleton-timeline-card{background:#1a1a1a}.skeleton-table-header{background:#2a2a2a;border-bottom-color:#333}.skeleton-table-row,.skeleton-card-footer,.skeleton-timeline-card-footer{border-color:#333}}@media (max-width: 768px){.skeleton-apartment-grid{grid-template-columns:1fr}.skeleton-info-cards{grid-template-columns:1fr 1fr}.skeleton-detail-header{flex-direction:column;align-items:flex-start;gap:var(--space-lg)}.skeleton-viewing-row{flex-wrap:wrap;gap:var(--space-md)}.skeleton-timeline-cards{grid-template-columns:1fr}}.addr-container,.addr-input-wrapper{position:relative}.addr-input{width:100%;padding:12px 36px 12px 14px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease;box-sizing:border-box}.addr-input:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.addr-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;padding:2px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease,background .15s ease}.addr-clear:hover{color:#1d1d1f;background:#0000000f}.addr-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-top-color:#007aff;border-radius:50%;animation:addrSpin .6s linear infinite}@keyframes addrSpin{to{transform:translateY(-50%) rotate(360deg)}}.addr-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 8px 24px #0000001f;list-style:none;margin:0;padding:4px;z-index:1010;max-height:320px;overflow-y:auto}.addr-option{padding:10px 12px;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .1s ease}.addr-option:hover{background:#007aff0f}.addr-option-building{border-bottom:1px solid rgba(0,0,0,.04);font-weight:500}.addr-option-main{font-size:13px;color:#1d1d1f;flex:1}.addr-option-badge{font-size:10px;font-weight:500;color:#6b7280;background:#0000000d;padding:2px 6px;border-radius:4px;flex-shrink:0}.addr-option-badge-apt{color:#007aff;background:#007aff14}.aam-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:aamOverlayFadeIn .2s ease}@keyframes aamOverlayFadeIn{0%{opacity:0}to{opacity:1}}.aam-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow:visible;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:aamModalSlideIn .25s ease}@keyframes aamModalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.aam-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.06)}.aam-header h2{font-size:18px;font-weight:600;color:#1d1d1f;margin:0}.aam-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s ease}.aam-close:hover{background:#0000001a;color:#1d1d1f}.aam-form{padding:24px;display:flex;flex-direction:column;gap:20px;overflow:visible}.aam-form-group{display:flex;flex-direction:column;gap:6px}.aam-form-group label{font-size:12px;font-weight:500;color:#6b7280}.aam-selected-info{padding:12px 14px;background:#007aff0a;border:1px solid rgba(0,122,255,.15);border-radius:10px;display:flex;flex-direction:column;gap:4px}.aam-selected-address{font-size:14px;font-weight:500;color:#1d1d1f}.aam-maps-link{font-size:12px;color:#007aff;text-decoration:none}.aam-maps-link:hover{text-decoration:underline}.aam-error{padding:10px 14px;background:#ff3b300f;border:1px solid rgba(255,59,48,.15);border-radius:10px;font-size:13px;color:#ff3b30}.aam-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.aam-btn-secondary{padding:12px 24px;font-size:14px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.aam-btn-secondary:hover{background:#e5e7eb;color:#1d1d1f}.aam-btn-primary{padding:12px 24px;font-size:14px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.aam-btn-primary:hover:not(:disabled){background:#0066d6}.aam-btn-primary:disabled,.aam-btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 540px){.aam-overlay{padding:16px}.aam-modal{max-height:calc(100vh - 32px)}.aam-header{padding:16px 20px}.aam-form{padding:20px;gap:16px}.aam-actions{flex-direction:column-reverse}.aam-btn-secondary,.aam-btn-primary{width:100%;justify-content:center}}.apartments-container{max-width:1200px;margin:2rem auto 0;padding:0 2rem 2rem;position:relative}.apartments-container.apartments-loading .apartments-header p{opacity:0}.apartments-container.ready .apartments-header p{animation:fadeInCount .2s ease-out forwards}@keyframes fadeInCount{0%{opacity:0}to{opacity:1}}.apartments-header p,.filter-results{font-variant-numeric:tabular-nums;min-width:180px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sync-toast{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:#fff;color:var(--color-text-primary);border-radius:12px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1001;animation:slideInUp .3s ease}.apartments-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.apartments-header-left{flex:1}.apartments-header h2{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);margin:0 0 .5rem;color:var(--color-text-primary)}.apartments-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.apartments-header-actions{display:flex;align-items:center;gap:8px}.add-apartment-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#007aff;border:none;border-radius:10px;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none}.add-apartment-button:hover{background:#0066d6}.add-apartment-button:active{transform:scale(.98)}.add-apartment-button svg{flex-shrink:0}.sync-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1.5px solid rgba(0,0,0,.1);border-radius:10px;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none}.sync-button:hover:not(:disabled){background:#00000008;border-color:#0003}.sync-button:active:not(:disabled){transform:scale(.98)}.sync-button:disabled{opacity:.6;cursor:not-allowed}.sync-button svg{flex-shrink:0}.sync-button svg.spinning{animation:spin 1s linear infinite}.filter-bar-compact{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.filter-bar-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}.filter-dropdowns{display:flex;align-items:center;gap:.5rem}.filter-dropdown-wrapper{position:relative}.filter-dropdown-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#fff;border:1.5px solid rgba(0,0,0,.12);border-radius:20px;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-dropdown-btn:hover{border-color:#00000040;background:#00000005}.filter-dropdown-btn.has-active{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.filter-dropdown-btn.open{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.filter-dropdown-btn .chevron{width:12px;height:12px;transition:transform .2s ease;opacity:.6}.filter-dropdown-btn.open .chevron{transform:rotate(180deg)}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-accent);color:#fff;border-radius:9px;font-size:.6875rem;font-weight:700;line-height:1}.filter-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 4px 20px #0000001f;z-index:100;padding:.5rem;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-menu .filter-checkbox{padding:.5rem .625rem;border-radius:8px;margin:0;transition:background .15s ease}.filter-dropdown-menu .filter-checkbox:hover{background:#0000000a;opacity:1}.mobile-filter-btn{display:none;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1.5px solid rgba(0,0,0,.12);border-radius:20px;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.mobile-filter-btn:hover{border-color:#00000040}.mobile-filter-btn.has-active{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.filter-chips-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:#f5f5f7;border:none;border-radius:16px;font-size:.8125rem;font-weight:500;color:var(--color-text-primary);cursor:default;transition:all .15s ease}.filter-chip:hover{background:#ebebed}.chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:#0000001a;border:none;border-radius:50%;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease;font-size:10px;line-height:1}.chip-remove:hover{background:var(--color-accent);color:#fff}.clear-filters-btn{padding:.375rem .75rem;background:transparent;border:none;border-radius:16px;font-size:.8125rem;font-weight:500;color:var(--color-accent);cursor:pointer;transition:all .15s ease}.clear-filters-btn:hover{background:var(--color-accent-light)}.filter-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.filter-drawer-backdrop.open{opacity:1;visibility:visible}.filter-drawer{position:fixed;top:0;right:0;width:320px;max-width:85vw;height:100vh;height:100dvh;background:#fff;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 20px #0000001a}.filter-drawer.open{transform:translate(0)}.filter-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}.filter-drawer-header h3{font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text-primary)}.drawer-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#f5f5f7;border:none;border-radius:50%;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease}.drawer-close-btn:hover{background:#e5e5e7}.filter-drawer-content{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.drawer-section{display:flex;flex-direction:column;gap:.625rem}.drawer-section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.filter-drawer-footer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid rgba(0,0,0,.08);flex-shrink:0;background:#fff}.drawer-clear-btn{flex:1;padding:.75rem 1rem;background:#f5f5f7;border:none;border-radius:10px;font-size:.9375rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease}.drawer-clear-btn:hover{background:#e5e5e7}.drawer-apply-btn{flex:1;padding:.75rem 1rem;background:var(--color-accent);border:none;border-radius:10px;font-size:.9375rem;font-weight:600;color:var(--color-text-inverse);cursor:pointer;transition:all .15s ease}.drawer-apply-btn:hover{background:var(--color-accent-hover)}.filter-bar{display:none;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#00000005;border-radius:12px;border:1px solid rgba(0,0,0,.06)}.filter-sections{display:flex;flex-wrap:wrap;gap:1.5rem}.sort-dropdown{position:relative}.sort-select{padding:.625rem 2.5rem .625rem .875rem;background:#fff;border:1.5px solid rgba(0,0,0,.1);border-radius:10px;font-size:.9375rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease;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='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-width:180px}.sort-select:hover{border-color:#0003}.sort-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.filter-chips{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.filter-chip{padding:.5rem 1rem;background:#fff;border:1.5px solid rgba(0,0,0,.1);border-radius:20px;font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-chip:hover{background:#00000008;border-color:#0003}.filter-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse);font-weight:600}.filter-chip.sold-chip.active{background:#6b7280;border-color:#6b7280;color:#fff}.filter-chip.sold-chip:hover:not(.active){background:#6b72801a;border-color:#9ca3af}.filter-chip.warning-chip.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.filter-chip.warning-chip:hover:not(.active){background:#f59e0b1a;border-color:#fbbf24}.filter-section{display:flex;flex-direction:column;gap:.5rem;min-width:0}.filter-section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);white-space:nowrap}.filter-checkboxes{display:flex;flex-direction:column;gap:.375rem}.filter-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0;transition:opacity .15s ease}.filter-checkbox:hover{opacity:.8}.filter-checkbox input[type=checkbox]{width:16px;height:16px;border:1.5px solid rgba(0,0,0,.25);border-radius:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background:#fff;transition:all .15s ease;flex-shrink:0;position:relative}.filter-checkbox input[type=checkbox]:hover{border-color:var(--color-accent)}.filter-checkbox input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.filter-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.filter-checkbox .checkbox-label{font-size:.8125rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap}.filter-checkbox .checkbox-count{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);margin-left:auto;padding-left:.5rem}.filter-checkbox.warning input[type=checkbox]:checked{background:#f59e0b;border-color:#f59e0b}.filter-checkbox.warning .checkbox-label{color:#b45309}.filter-checkbox.sold input[type=checkbox]:checked{background:#6b7280;border-color:#6b7280}.filter-checkbox.sold .checkbox-label{color:#4b5563}.filter-controls{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.filter-results{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem;padding:0 .25rem}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.no-results svg{stroke:var(--muted-text);opacity:.3;margin-bottom:1.5rem}.no-results h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.no-results p{font-size:.9375rem;color:var(--color-text-secondary);margin:0}.apartments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.apartment-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000a,0 1px 2px #0000000f;border:1px solid rgba(0,0,0,.06);transition:all .2s ease-in-out;display:flex;flex-direction:column;gap:1rem}.apartment-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000014,0 2px 4px #0000000a}.apartment-card.clickable{cursor:pointer}.apartment-card.clickable:focus{outline:2px solid var(--accent);outline-offset:2px}.apartment-card.clickable:active{transform:translateY(-1px)}.apartment-card.sold{opacity:.75;background:#fafafa}.apartment-card.sold:hover{opacity:.9}.apartment-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.apartment-address{font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text-primary);line-height:1.4;flex:1}.gmaps-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-bg-tertiary);color:var(--color-accent);transition:all .2s;flex-shrink:0}.gmaps-link:hover{background:var(--color-accent);color:#fff;transform:scale(1.05)}.gmaps-link svg{width:20px;height:20px}.apartment-details{display:flex;flex-direction:column;gap:.75rem}.detail-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.detail-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.detail-value{font-size:.9375rem;font-weight:500;color:var(--color-text-primary)}.contractor-name{display:flex;align-items:center;gap:6px;font-weight:500;color:#6e6e73!important}.contractor-name svg{flex-shrink:0;opacity:.7}.status-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.status-completed{background:#34c75926;color:var(--color-success)}.status-almost-ready{background:#34c7591a;color:#0f766e}.status-in-progress{background:#ff950026;color:var(--color-warning)}.status-early{background:#007aff26;color:var(--color-info)}.status-booked{background:#5856d626;color:#5856d6}.status-sold{background:#8e8e9326;color:#8e8e93}.status-badge:not([class*=status-]){background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.error-message{background:#ff3b301a;color:var(--color-error);padding:1rem;border-radius:var(--radius-lg);text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.apartments-container .apartments-header p{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.budgets-section{display:flex;flex-direction:column}.time-budget,.cost-budget{display:flex;flex-direction:column;gap:.625rem;padding:.75rem 0;margin-top:.75rem;border-top:1px solid rgba(0,0,0,.08)}.cost-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.cost-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.cost-amounts{display:flex;align-items:baseline;gap:.25rem;font-variant-numeric:tabular-nums}.cost-spent{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.cost-separator{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.cost-total{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.timeline-dates{display:flex;justify-content:space-between;align-items:center;margin:.625rem 0}.timeline-date-start{color:var(--text-color);font-weight:600;font-size:.8125rem;text-align:left}.timeline-date-end{color:var(--text-color);font-weight:600;font-size:.8125rem;text-align:right}.cost-bar{width:100%;height:4px;background:#0000000f;border-radius:2px;overflow:hidden}.cost-fill{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.cost-fill.good{background:var(--color-success)}.cost-fill.warning{background:var(--color-warning)}.cost-fill.over{background:var(--color-error)}.cost-fill.future-waiting{background:var(--color-info)}.cost-footer{display:flex;justify-content:space-between;align-items:center}.cost-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success)}.cost-status.over{color:var(--color-error);font-weight:var(--font-weight-semibold)}.cost-status.awaiting{color:var(--color-info);font-weight:var(--font-weight-semibold)}.cost-percent{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.cost-budget.spent-only .cost-amounts{flex-direction:row;gap:.5rem;align-items:baseline}.cost-budget.spent-only .cost-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.future-handover{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:linear-gradient(135deg,#e3f2fd,#f0f7ff);border:1.5px solid #2196f3;border-radius:8px;animation:slideIn .3s ease-out}.future-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.future-text{flex:1}.future-title{font-size:.875rem;font-weight:600;color:#1565c0;margin-bottom:.25rem}.future-date{font-size:.8125rem;color:#1976d2}.future-countdown{font-weight:600}.missing-date-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;margin-bottom:.5rem;background:linear-gradient(135deg,#fff3cd,#fff8e1);border:1.5px solid #ffc107;border-radius:8px;font-size:.8125rem;line-height:1.5;color:#856404;animation:slideIn .3s ease-out}.warning-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:.125rem;cursor:help}.warning-text{flex:1}.warning-text strong{font-weight:600;color:#664d03}.time-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.time-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.time-dates{display:flex;align-items:baseline;gap:.25rem;font-variant-numeric:tabular-nums}.time-elapsed{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.time-separator{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.time-total{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.time-bar{width:100%;height:4px;background:#0000000f;border-radius:2px;overflow:hidden}.time-fill{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.time-fill.good{background:var(--color-success)}.time-fill.warning{background:var(--color-warning)}.time-fill.over{background:var(--color-error)}.time-footer{display:flex;justify-content:space-between;align-items:flex-end}.time-footer-left{display:flex;flex-direction:column;gap:.25rem}.time-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success)}.time-status.over{color:var(--color-error);font-weight:var(--font-weight-semibold)}.time-handover{font-size:.6875rem;font-weight:400;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.time-percent{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}@media (max-width: 1024px){.apartments-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.missing-date-warning{font-size:.75rem;padding:.625rem}.warning-icon{font-size:1rem}.future-handover{padding:.75rem;gap:.625rem}.future-icon{font-size:1.25rem}.future-title{font-size:.8125rem}.future-date{font-size:.75rem}}@media (max-width: 767px){.apartments-container{padding:0 1rem 2rem}.apartments-header{flex-direction:column;align-items:flex-start;gap:1rem}.apartments-header h2{font-size:1.5rem}.sync-button{width:100%;justify-content:center}.apartments-grid{grid-template-columns:1fr;gap:1rem}.apartment-card{padding:1.25rem}.apartment-address{font-size:1rem}.detail-item{flex-direction:column;align-items:flex-start;gap:.375rem}.filter-dropdowns{display:none}.mobile-filter-btn{display:inline-flex}.filter-bar-top{flex-wrap:wrap;gap:.75rem}.sort-dropdown{order:2;width:100%}.sort-select{width:100%;min-width:unset}.filter-chips-row{gap:.375rem}.filter-chip{font-size:.75rem;padding:.3rem .5rem}.chip-remove{width:14px;height:14px;font-size:9px}.clear-filters-btn{font-size:.75rem;padding:.3rem .5rem}.filter-bar{padding:.75rem;gap:.75rem}.filter-sections{flex-direction:column;gap:1rem}.filter-section{width:100%}.filter-checkboxes{flex-direction:row;flex-wrap:wrap;gap:.5rem 1rem}.filter-checkbox{padding:.125rem 0}.sync-indicator,.sync-toast{bottom:1rem;right:1rem;left:1rem;max-width:calc(100vw - 2rem);font-size:.8125rem}.timeline-date-start,.timeline-date-end{font-size:.75rem}}.contractor-label{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .875rem;background:var(--color-bg-tertiary);border-radius:8px;font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.contractor-label svg{flex-shrink:0;color:var(--color-accent)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-secondary)}.empty-state svg{margin-bottom:1.5rem;color:var(--border)}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.empty-state p{font-size:.9375rem;line-height:1.5;max-width:400px;margin:.25rem 0}.empty-state-hint{color:var(--accent)!important;font-weight:500;margin-top:1rem!important}.contractor-filter{display:flex;align-items:center}.contractor-filter .sort-select{min-width:200px}.viewing-counts{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.viewing-badges{display:flex;align-items:center;gap:.5rem}.viewing-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:6px;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;transition:all .2s ease;white-space:nowrap}.viewing-badge svg{flex-shrink:0}.viewing-badge .count{font-weight:700}.viewing-badge .label{font-weight:500;opacity:.85}.viewing-badge.past{background:linear-gradient(135deg,#e3f2fd,#f0f7ff);color:#1976d2;border:1px solid #90caf9}.viewing-badge.past:hover{background:linear-gradient(135deg,#d1e9ff,#e3f2fd);border-color:#64b5f6}.viewing-badge.future{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);color:#388e3c;border:1px solid #81c784}.viewing-badge.future:hover{background:linear-gradient(135deg,#d7f0d9,#e8f5e9);border-color:#66bb6a}@media (max-width: 768px){.viewing-counts{flex-direction:column;align-items:flex-start;gap:.375rem}.viewing-badges{flex-wrap:wrap;gap:.375rem}.viewing-badge{font-size:.75rem;padding:.1875rem .5rem;gap:.25rem}.viewing-badge svg{width:10px;height:10px}}@media (max-width: 480px){.viewing-badge .label{display:none}.viewing-badge{min-width:2.5rem;justify-content:center}}.apartments-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.5rem;padding:0 .5rem;border-radius:12px}.apartments-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.apartments-table thead th{position:sticky;top:0;background:#f9f9fb;padding:.875rem 1rem;text-align:left;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid rgba(0,0,0,.08);white-space:nowrap}.apartment-row{cursor:pointer;transition:background .15s ease}.apartment-row:hover{background:#00000005}.apartment-row.sold{opacity:.6;background:#fafafa}.apartment-row.sold:hover{opacity:.75}.apartment-row:focus{outline:2px solid var(--color-accent);outline-offset:-2px}.apartments-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.05);vertical-align:top}.apartments-table tbody tr:last-child td{border-bottom:none}.apartments-table .col-photo{width:48px;padding:8px}.apt-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:6px;display:block}.apt-thumbnail-placeholder{width:40px;height:40px;background:var(--color-bg-tertiary, #f3f4f6);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary, #9ca3af)}.apartments-table .col-address{white-space:nowrap;width:auto;min-width:auto;max-width:none;display:table-cell}.apartments-table .col-area{width:1%;text-align:right;white-space:nowrap}.apartments-table .col-floor{width:1%;text-align:center;white-space:nowrap}.apartments-table .col-contractor{width:1%;white-space:nowrap}.apartments-table .col-price{width:1%;white-space:nowrap;min-width:70px}.apartments-table .col-budget,.apartments-table .col-timeline{width:1%;white-space:nowrap;min-width:120px}.address-cell-stacked{display:flex;flex-direction:column;gap:.375rem}.address-line{display:flex;align-items:center;gap:.5rem}.address-text{font-weight:500;color:var(--color-text-primary)}.status-badges-line{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.address-cell{display:flex;align-items:center;gap:.5rem}.gmaps-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-bg-tertiary);color:var(--color-accent);flex-shrink:0;transition:all .2s}.gmaps-icon:hover{background:var(--color-accent);color:#fff}.gmaps-icon svg{width:14px;height:14px}.viewing-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:#2196f31a;color:#1976d2;border-radius:10px;font-size:.6875rem;font-weight:600;white-space:nowrap}.viewing-indicator svg{opacity:.8}.status-badge.compact{padding:.25rem .5rem;font-size:.6875rem;border-radius:6px}.mini-progress{display:flex;align-items:center;gap:.5rem}.mini-bar{flex:1;height:6px;background:#00000014;border-radius:3px;overflow:hidden;min-width:50px}.mini-fill{height:100%;border-radius:3px;transition:width .3s ease}.mini-fill.good{background:var(--color-success)}.mini-fill.warning{background:var(--color-warning)}.mini-fill.over{background:var(--color-error)}.mini-percent{font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:40px;text-align:right;white-space:nowrap;color:var(--color-text-secondary)}.mini-percent.over{color:var(--color-error)}.budget-spent-only{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.timeline-awaiting{font-size:.75rem;font-weight:500;color:var(--color-info);background:#007aff1a;padding:.25rem .5rem;border-radius:4px}.no-data{color:var(--color-text-secondary);opacity:.5}.budget-cell-stacked,.timeline-cell-stacked{display:flex;flex-direction:column;gap:.25rem;height:2.5rem;justify-content:center}.budget-amounts,.timeline-amounts{font-size:.75rem;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.price-cell-stacked{display:flex;flex-direction:column;gap:.125rem;height:2.5rem;justify-content:center;position:relative}.price-buy{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.price-sell{font-size:.75rem;color:var(--color-success);font-weight:500;font-variant-numeric:tabular-nums}.price-sell.roi-good{color:var(--color-success)}.price-sell.roi-average{color:var(--color-warning, #f59e0b)}.price-sell.roi-poor{color:var(--color-error, #ef4444)}.tooltip-roi{margin-top:.375rem;padding-top:.375rem;border-top:1px solid rgba(255,255,255,.2)}.tooltip-value.roi-good{color:#4ade80}.tooltip-value.roi-average{color:#fbbf24}.tooltip-value.roi-poor{color:#f87171}.price-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1a1a1a;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;white-space:nowrap;z-index:100;box-shadow:0 4px 12px #00000026;margin-bottom:4px}.price-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1a1a1a}.price-cell-stacked:hover .price-tooltip{display:block}.tooltip-row{display:flex;justify-content:space-between;gap:1rem}.tooltip-row+.tooltip-row{margin-top:.25rem}.tooltip-label{color:#ffffffb3}.tooltip-value{font-weight:500}@media (max-width: 767px){.apartments-table-wrapper{margin:0 -1rem;padding:0;border-radius:0}.apartments-table{border-radius:0}.apartments-table th:first-child,.apartments-table td:first-child{position:sticky;left:0;background:#fff;z-index:1;box-shadow:2px 0 4px #0000000d}.apartments-table thead th:first-child{background:#f9f9fb;z-index:2}.apartment-row:hover td:first-child{background:#f8f8f8}.apartment-row.sold td:first-child{background:#fafafa}.apartments-table td,.apartments-table th{padding:.625rem .75rem}.apartments-table{width:max-content;min-width:100%}.address-text{font-size:.8125rem}.status-badges-line{gap:.25rem}.status-badge.compact{padding:.1875rem .375rem;font-size:.625rem}.viewing-indicator{display:none}.budget-amounts,.timeline-amounts{font-size:.6875rem}}.um-stats-bar{display:flex;align-items:center;gap:24px;padding:20px 24px;background:var(--color-bg-secondary, #ffffff);border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));margin-bottom:16px}.stat-item-wrapper{display:flex;align-items:center;gap:24px}.stat-item{display:flex;flex-direction:column;gap:4px;min-width:60px}.stat-total{min-width:80px}.stat-count{font-size:24px;font-weight:600;color:var(--color-text-primary, #1d1d1f);line-height:1;font-variant-numeric:tabular-nums}.stat-total .stat-count{font-size:28px}.stat-label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.3px}.stat-success .stat-count{color:#22c55e}.stat-info .stat-count{color:#007aff}.stat-warning .stat-count{color:#f59e0b}.stat-neutral .stat-count{color:#8e8e93}.stat-divider{width:1px;height:40px;background:var(--color-border, rgba(0, 0, 0, .1))}.stat-divider-small{width:1px;height:24px;background:var(--color-border-light, rgba(0, 0, 0, .06))}@media (max-width: 767px){.um-stats-bar{flex-wrap:wrap;gap:16px;padding:16px}.stat-divider,.stat-divider-small{display:none}.stat-item-wrapper{gap:16px}.stat-item{min-width:50px}.stat-total{width:100%;flex-direction:row;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06))}.stat-total .stat-count{font-size:24px}.stat-total .stat-label{font-size:14px;text-transform:none}.stat-count{font-size:20px}.stat-label{font-size:11px}}.um-filter-bar{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-secondary, #ffffff);border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));margin-bottom:16px}.search-wrapper{position:relative;flex:1;max-width:320px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary, #6b7280);pointer-events:none}.search-input{width:100%;padding:8px 36px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;font-size:14px;color:var(--color-text-primary, #1d1d1f);background:#f5f5f7;transition:all .15s ease}.search-input::placeholder{color:var(--color-text-secondary, #6b7280)}.search-input:focus{outline:none;background:#fff;border-color:var(--color-accent, #dd4132);box-shadow:0 0 0 3px #dd41321a}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;border-radius:4px;transition:all .15s ease}.search-clear:hover{color:var(--color-text-primary, #1d1d1f);background:#0000000f}.filter-dropdowns{display:flex;align-items:center;gap:8px}.filter-dropdown{position:relative}.filter-dropdown-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f5f5f7;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text-primary, #1d1d1f);cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-dropdown-btn:hover{background:#ebebed}.filter-dropdown-btn.has-filter{background:#dd413214;border-color:#dd413233;color:var(--color-accent, #dd4132)}.filter-count{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-accent, #dd4132);color:#fff;border-radius:9px;font-size:11px;font-weight:600}.dropdown-chevron{color:var(--color-text-secondary, #6b7280);transition:transform .15s ease}.filter-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;box-shadow:0 4px 12px #0000001a,0 0 1px #0000001a;min-width:200px;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .15s ease}.filter-option:hover{background:#f5f5f7}.filter-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent, #dd4132);cursor:pointer;flex-shrink:0}.option-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.option-dot-success{background:#22c55e}.option-dot-info{background:#007aff}.option-dot-warning{background:#f59e0b}.option-dot-neutral{background:#8e8e93}.option-label{flex:1;font-size:13px;color:var(--color-text-primary, #1d1d1f)}.option-count{font-size:12px;color:var(--color-text-secondary, #6b7280);font-variant-numeric:tabular-nums}.clear-filters-btn{padding:8px 12px;background:none;border:none;border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;white-space:nowrap}.clear-filters-btn:hover{background:#f5f5f7;color:var(--color-text-primary, #1d1d1f)}.btn-add-user{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-accent, #dd4132);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;margin-left:auto}.btn-add-user:hover{background:var(--color-accent-hover, #c73828);transform:translateY(-1px);box-shadow:0 4px 8px #dd413240}.btn-add-user:active{transform:translateY(0)}@media (max-width: 1024px){.search-wrapper{max-width:240px}}@media (max-width: 767px){.um-filter-bar{flex-wrap:wrap;gap:10px;padding:12px}.search-wrapper{width:100%;max-width:none;order:1}.filter-dropdowns{flex:1;order:2;flex-wrap:wrap}.btn-add-user{width:100%;justify-content:center;order:3;margin-left:0;margin-top:4px}.filter-dropdown-menu{left:50%;transform:translate(-50%)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}}@media (max-width: 479px){.filter-dropdown-btn span:first-child{display:none}.filter-dropdown-btn{padding:8px 10px}.filter-dropdown-btn .filter-count{margin-left:0}}.um-table-container{background:var(--color-bg-secondary, #ffffff);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.um-table{width:100%;border-collapse:collapse;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.um-table thead{background:#f9fafb;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1))}.um-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.um-table th:last-child{width:48px}.um-table tbody tr{border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06));transition:background .15s ease;cursor:pointer}.um-table tbody tr:last-child{border-bottom:none}.um-table tbody tr:hover{background:#f9fafb}.um-table td{padding:12px 16px;vertical-align:middle}.um-table .user-cell{min-width:240px}.um-table .user-info{display:flex;align-items:center;gap:12px;border:none}.um-table .avatar,.um-table .avatar-placeholder{width:40px;height:40px;border-radius:50%;flex-shrink:0;border:none}.um-table .avatar{object-fit:cover}.um-table .avatar-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.um-table .user-text{min-width:0;flex:1;border:none}.um-table .user-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none;outline:none}.um-table .user-email{font-size:12px;color:var(--color-text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;border:none;outline:none}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap}.badge-type.badge-internal{background:#0000000f;color:var(--color-text-primary, #1d1d1f)}.badge-type.badge-external{background:#007aff1a;color:#007aff}.badge-status.badge-active{background:#34c7591f;color:#22c55e}.badge-status.badge-invited{background:#007aff1f;color:#007aff}.badge-status.badge-suspended{background:#ff95001f;color:#f59e0b}.badge-status.badge-archived{background:#8e8e931f;color:#8e8e93}.badge-role{font-size:11px}.badge-role-super-admin{background:linear-gradient(135deg,#ffd70033,#ffed4e33);color:#b8860b}.badge-role-admin{background:#dd41321f;color:var(--color-accent, #dd4132)}.badge-role-payment_manager{background:#af52de1f;color:#af52de}.badge-role-building_contractor{background:#007aff1f;color:#007aff}.badge-role-planning_contractor{background:#00c7be1f;color:#00c7be}.badge-more{background:var(--color-badge-neutral-bg, rgba(0, 0, 0, .06));color:var(--color-text-secondary, #6b7280)}.badge-group{display:flex;flex-wrap:wrap;gap:4px}.roles-cell,.contractors-cell{min-width:160px}.contractor-list{display:flex;flex-direction:column;gap:2px}.contractor-name{font-size:13px;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.text-more{font-size:11px;color:var(--color-text-secondary, #6b7280)}.login-cell{min-width:120px}.login-info,.invited-info{display:flex;flex-direction:column;gap:2px}.login-time{font-size:13px;color:var(--color-text-primary, #1d1d1f)}.login-count,.invited-date{font-size:11px;color:var(--color-text-secondary, #6b7280)}.text-muted{color:var(--color-text-secondary, #6b7280);font-size:12px}.um-table td.actions-cell{position:relative;width:48px;text-align:center;vertical-align:middle}.um-table .action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .15s ease}.um-table .action-btn:hover{background:#0000000f;color:var(--color-text-primary, #1d1d1f)}.um-table .action-btn:focus{outline:none;box-shadow:0 0 0 2px #007aff4d}.action-menu{position:absolute;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;box-shadow:0 4px 12px #0000001a,0 0 1px #0000001a;min-width:180px;z-index:100;overflow:hidden;animation:menuFadeIn .15s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-menu button{display:block;width:100%;padding:10px 16px;text-align:left;font-size:13px;color:var(--color-text-primary, #1d1d1f);background:none;border:none;cursor:pointer;transition:background .15s ease}.action-menu button:hover{background:#f5f5f7}.action-menu button:focus{outline:none;background:#f5f5f7}.action-menu button.danger{color:#ff3b30}.action-menu button.danger:hover{background:#ff3b3014}.menu-divider{height:1px;background:var(--color-border-light, rgba(0, 0, 0, .06));margin:4px 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-icon{width:64px;height:64px;color:var(--color-text-tertiary, #9ca3af);margin-bottom:16px}.empty-title{font-size:16px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin:0 0 4px}.empty-desc{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:0}@media (max-width: 1024px){.um-table th:nth-child(5),.um-table td:nth-child(5){display:none}.user-cell{min-width:200px}.roles-cell{min-width:120px}}@media (max-width: 767px){.um-table th:nth-child(2),.um-table td:nth-child(2),.um-table th:nth-child(5),.um-table td:nth-child(5),.um-table th:nth-child(6),.um-table td:nth-child(6){display:none}.um-table td,.um-table th{padding:10px 12px}.user-cell{min-width:160px}.avatar,.avatar-placeholder{width:32px;height:32px;font-size:14px}.user-name{font-size:13px}.user-email{font-size:11px}.roles-cell{min-width:100px}.badge{padding:3px 6px;font-size:10px}.action-menu{right:-8px;min-width:160px}}@media (max-width: 479px){.um-table th:nth-child(4),.um-table td:nth-child(4){display:none}.user-info{gap:8px}}.um-v2-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:addUserOverlayFadeIn .2s ease}@keyframes addUserOverlayFadeIn{0%{opacity:0}to{opacity:1}}.um-v2-modal.add-user-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:addUserModalSlideIn .25s ease}@keyframes addUserModalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.um-v2-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.06)}.um-v2-modal .modal-header h2{font-size:18px;font-weight:600;color:#1d1d1f;margin:0}.um-v2-modal .modal-header button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;font-size:20px;line-height:1;transition:all .15s ease}.um-v2-modal .modal-header button:hover{background:#0000001a;color:#1d1d1f}.um-v2-modal .modal-body{padding:24px;overflow-y:auto;flex:1}.um-v2-modal .modal-error{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#ff3b3014;border:1px solid rgba(255,59,48,.2);border-radius:10px;color:#ff3b30;font-size:13px;margin-bottom:20px}.um-v2-modal .form-section{margin-bottom:20px}.um-v2-modal .form-section:last-of-type{margin-bottom:0}.um-v2-modal .form-label{display:block;font-size:12px;font-weight:500;color:#6b7280;margin-bottom:8px}.um-v2-modal .optional-label{font-weight:400;color:#9ca3af}.um-v2-modal .form-input{width:100%;padding:12px 14px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease;box-sizing:border-box}.um-v2-modal .form-input:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.um-v2-modal select.form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.um-v2-modal .form-hint{font-size:12px;color:#6b7280;margin-top:6px}.um-v2-modal .form-hint.warning{color:#f59e0b}.um-v2-modal .radio-group{display:flex;flex-direction:column;gap:10px}.um-v2-modal .radio-option{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#f9fafb;border:1px solid rgba(0,0,0,.06);border-radius:10px;cursor:pointer;transition:all .15s ease}.um-v2-modal .radio-option:hover{background:#f5f5f7;border-color:#0000001a}.um-v2-modal .radio-option:has(input:checked){background:#007aff0f;border-color:#007aff}.um-v2-modal .radio-option input[type=radio]{width:18px;height:18px;margin-top:2px;accent-color:#007aff;cursor:pointer;flex-shrink:0}.um-v2-modal .radio-content{display:flex;flex-direction:column;gap:2px}.um-v2-modal .radio-title{font-size:14px;font-weight:500;color:#1d1d1f}.um-v2-modal .radio-desc{font-size:12px;color:#6b7280}.um-v2-modal .company-mode-toggle{display:flex;gap:0;border:1px solid rgba(0,0,0,.12);border-radius:10px;overflow:hidden;background:#f9fafb}.um-v2-modal .company-mode-toggle .toggle-btn{flex:1;padding:10px 16px;font-size:13px;font-weight:500;color:#6b7280;background:transparent;border:none;cursor:pointer;transition:all .15s ease}.um-v2-modal .company-mode-toggle .toggle-btn:first-child{border-right:1px solid rgba(0,0,0,.08)}.um-v2-modal .company-mode-toggle .toggle-btn.active{background:#007aff;color:#fff}.um-v2-modal .company-mode-toggle .toggle-btn:not(.active):hover{background:#0000000a}.um-v2-modal .checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.um-v2-modal .checkbox-option{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f9fafb;border:1px solid rgba(0,0,0,.06);border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:13px;color:#1d1d1f}.um-v2-modal .checkbox-option:hover{background:#f5f5f7;border-color:#0000001a}.um-v2-modal .checkbox-option:has(input:checked){background:#007aff14;border-color:#007aff4d}.um-v2-modal .checkbox-option input[type=checkbox]{width:16px;height:16px;accent-color:#007aff;cursor:pointer;flex-shrink:0}.um-v2-modal .checkbox-option.send-invite{padding:14px;margin-top:8px}.um-v2-modal .checkbox-content{display:flex;flex-direction:column;gap:2px}.um-v2-modal .checkbox-title{font-size:14px;font-weight:500;color:#1d1d1f}.um-v2-modal .checkbox-desc{font-size:12px;color:#6b7280}.um-v2-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.06)}.um-v2-modal .btn-secondary{padding:12px 24px;font-size:14px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.um-v2-modal .btn-secondary:hover:not(:disabled){background:#e5e7eb;color:#1d1d1f}.um-v2-modal .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.um-v2-modal .btn-primary{padding:12px 24px;font-size:14px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.um-v2-modal .btn-primary:hover:not(:disabled){background:#0066d6}.um-v2-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.um-v2-modal-overlay{padding:0;align-items:flex-end}.um-v2-modal.add-user-modal{max-width:none;max-height:90vh;border-radius:16px 16px 0 0;animation:addUserModalSlideUp .3s ease}@keyframes addUserModalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.um-v2-modal .modal-header{padding:16px 20px}.um-v2-modal .modal-body{padding:20px}.um-v2-modal .radio-group{gap:8px}.um-v2-modal .radio-option{padding:12px}.um-v2-modal .checkbox-group{flex-direction:column}.um-v2-modal .checkbox-option{width:100%;box-sizing:border-box}.um-v2-modal .modal-actions{flex-direction:column-reverse;gap:10px}.um-v2-modal .btn-secondary,.um-v2-modal .btn-primary{width:100%;justify-content:center;text-align:center}}@media (max-width: 380px){.um-v2-modal .modal-header h2{font-size:16px}.um-v2-modal .radio-title,.um-v2-modal .checkbox-title{font-size:13px}.um-v2-modal .radio-desc,.um-v2-modal .checkbox-desc{font-size:11px}}.udm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:overlayFadeIn .2s ease}.udm-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;animation:modalSlideIn .25s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.udm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06))}.udm-user-info{display:flex;align-items:center;gap:14px}.udm-avatar,.udm-avatar-placeholder{width:48px;height:48px;border-radius:50%;flex-shrink:0}.udm-avatar{object-fit:cover}.udm-avatar-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.udm-user-text{min-width:0}.udm-user-name{font-size:18px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.udm-user-email{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:2px 0 0}.udm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000a;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .15s ease}.udm-close:hover{background:#00000014;color:var(--color-text-primary, #1d1d1f)}.udm-badges{display:flex;gap:8px;padding:12px 24px;background:#f9fafb}.udm-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.udm-badge-type-internal{background:#0000000f;color:var(--color-text-primary, #1d1d1f)}.udm-badge-type-external{background:#007aff1a;color:#007aff}.udm-badge-status-active{background:#34c7591f;color:#22c55e}.udm-badge-status-invited{background:#007aff1f;color:#007aff}.udm-badge-status-suspended{background:#ff95001f;color:#f59e0b}.udm-badge-status-archived{background:#8e8e931f;color:#8e8e93}.udm-badge-super-admin{background:linear-gradient(135deg,#ffd70033,#ffed4e33);color:#b8860b}.udm-tabs{display:flex;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06));padding:0 24px}.udm-tab{padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.udm-tab:hover{color:var(--color-text-primary, #1d1d1f)}.udm-tab.active{color:var(--color-accent, #dd4132);border-bottom-color:var(--color-accent, #dd4132)}.udm-content{padding:24px;overflow-y:auto;flex:1}.udm-section-desc{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:0 0 20px}.udm-detail-group{margin-bottom:24px}.udm-detail-group:last-child{margin-bottom:0}.udm-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.udm-detail-header h3{margin:0}.udm-detail-group h3{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.udm-edit-btn{font-size:13px;font-weight:500;color:#007aff;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s ease}.udm-edit-btn:hover{background:#007aff1a}.udm-edit-form{display:flex;flex-direction:column;gap:16px}.udm-form-group{display:flex;flex-direction:column;gap:6px}.udm-form-group label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280)}.udm-form-group input{padding:10px 12px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f9fafb;color:var(--color-text-primary, #1d1d1f);transition:all .15s ease}.udm-form-group input:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.udm-type-selector{display:flex;gap:8px}.udm-type-option{flex:1;padding:10px 12px;font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280);background:#f9fafb;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .15s ease}.udm-type-option:hover{background:#f3f4f6}.udm-type-option.selected{background:#007aff1a;border-color:#007aff;color:#007aff}.udm-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.udm-btn-secondary{padding:10px 20px;font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280);background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.udm-btn-secondary:hover{background:#e5e7eb;color:var(--color-text-primary, #1d1d1f)}.udm-btn-primary{padding:10px 20px;font-size:13px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.udm-btn-primary:hover{background:#0066d6}.udm-detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06))}.udm-detail-row:last-child{border-bottom:none}.udm-detail-label{font-size:13px;color:var(--color-text-secondary, #6b7280)}.udm-detail-value{font-size:13px;font-weight:500;color:var(--color-text-primary, #1d1d1f)}.udm-detail-desc{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:0 0 12px}.udm-status-actions{display:flex;gap:8px;flex-wrap:wrap}.udm-action-btn{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .15s ease}.udm-action-btn:hover{transform:translateY(-1px)}.udm-action-success{background:#34c7591f;color:#22c55e}.udm-action-success:hover{background:#34c75933}.udm-action-warning{background:#ff95001f;color:#f59e0b}.udm-action-warning:hover{background:#ff950033}.udm-action-danger{background:#ff3b301f;color:#ff3b30}.udm-action-danger:hover{background:#ff3b3033}.udm-super-admin-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#ffd7001a,#ffed4e1a);border-radius:8px;margin-bottom:20px;font-size:13px;color:#b8860b}.udm-role-list{display:flex;flex-direction:column;gap:8px}.udm-role-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#f9fafb;border:1px solid var(--color-border-light, rgba(0, 0, 0, .06));border-radius:8px;cursor:pointer;transition:all .15s ease}.udm-role-item:hover{background:#f5f5f7;border-color:#0000001a}.udm-role-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--color-accent, #dd4132);cursor:pointer}.udm-role-item input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.udm-role-info{display:flex;flex-direction:column;gap:2px}.udm-role-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f)}.udm-role-desc{font-size:12px;color:var(--color-text-secondary, #6b7280)}.udm-assigned-contractors h4,.udm-add-contractor h4{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.udm-no-contractors{padding:24px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px;background:#f9fafb;border-radius:8px;margin-bottom:20px}.udm-contractor-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f9fafb;border:1px solid var(--color-border-light, rgba(0, 0, 0, .06));border-radius:8px;margin-bottom:8px}.udm-contractor-info{display:flex;flex-direction:column;gap:2px}.udm-contractor-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f)}.udm-contractor-type{font-size:12px;color:var(--color-text-secondary, #6b7280);text-transform:capitalize}.udm-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ff3b301a;border:none;border-radius:6px;cursor:pointer;color:#ff3b30;transition:all .15s ease}.udm-remove-btn:hover{background:#ff3b3033}.udm-add-contractor{margin-top:20px}.udm-contractor-select{width:100%;padding:10px 12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;font-size:14px;background:#fff;color:var(--color-text-primary, #1d1d1f);cursor:pointer;transition:all .15s ease}.udm-contractor-select:hover{border-color:#0003}.udm-contractor-select:focus{outline:none;border-color:var(--color-accent, #dd4132);box-shadow:0 0 0 3px #dd41321a}.udm-activity-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.udm-stat-card{padding:16px;background:#f9fafb;border-radius:8px;text-align:center}.udm-stat-value{display:block;font-size:20px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin-bottom:4px}.udm-stat-label{font-size:12px;color:var(--color-text-secondary, #6b7280)}.udm-activity-timeline h4{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.udm-timeline{position:relative;padding-left:20px}.udm-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--color-border-light, rgba(0, 0, 0, .1))}.udm-timeline-item{position:relative;padding-bottom:16px}.udm-timeline-item:last-child{padding-bottom:0}.udm-timeline-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;background:#fff;border:2px solid var(--color-accent, #dd4132);border-radius:50%}.udm-timeline-content{display:flex;flex-direction:column;gap:2px}.udm-timeline-title{font-size:13px;font-weight:500;color:var(--color-text-primary, #1d1d1f)}.udm-timeline-date{font-size:12px;color:var(--color-text-secondary, #6b7280)}@media (max-width: 560px){.udm-overlay{padding:0;align-items:flex-end}.udm-modal{max-width:none;max-height:90vh;border-radius:16px 16px 0 0;animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.udm-header{padding:16px 20px}.udm-badges{padding:10px 20px;flex-wrap:wrap}.udm-tabs{padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.udm-tab{padding:10px 12px;font-size:12px;white-space:nowrap}.udm-content{padding:20px}.udm-activity-stats{grid-template-columns:1fr}.udm-type-selector{flex-direction:column}.udm-form-actions{flex-direction:column-reverse;gap:10px}.udm-btn-secondary,.udm-btn-primary{width:100%;text-align:center}.udm-status-actions{flex-direction:column;gap:10px}.udm-action-btn{width:100%;text-align:center}}@media (max-width: 380px){.udm-header{padding:14px 16px}.udm-user-info{gap:10px}.udm-avatar,.udm-avatar-placeholder{width:40px;height:40px;font-size:16px}.udm-user-name{font-size:16px}.udm-user-email{font-size:12px}.udm-badges{padding:8px 16px;gap:6px}.udm-badge{padding:3px 8px;font-size:11px}.udm-tabs{padding:0 12px}.udm-content{padding:16px}.udm-detail-group h3{font-size:11px}.udm-detail-label,.udm-detail-value{font-size:12px}.udm-role-item{padding:12px}.udm-role-name{font-size:13px}.udm-role-desc{font-size:11px}}.user-management-v2{max-width:1200px;margin:0 auto;padding:24px}.um-v2-header{margin-bottom:24px}.um-v2-header-content h1{font-size:28px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin:0;letter-spacing:-.5px}.um-v2-header-subtitle{font-size:14px;color:var(--color-text-secondary, #6b7280);margin:6px 0 0}.um-v2-message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;animation:messageSlideIn .3s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.um-v2-error{background:#ff3b3014;border:1px solid rgba(255,59,48,.2);color:#ff3b30}.um-v2-success{background:#34c75914;border:1px solid rgba(52,199,89,.2);color:#22c55e}.um-v2-message svg{flex-shrink:0}.um-v2-message span{flex:1}.message-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:4px;font-size:18px;cursor:pointer;opacity:.6;transition:all .15s ease}.message-close:hover{opacity:1;background:#0000000d}.um-v2-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;background:var(--color-bg-secondary, #ffffff);border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-light, rgba(0, 0, 0, .1));border-top-color:var(--color-accent, #dd4132);border-radius:50%;animation:spin .8s linear infinite}.um-v2-loading p{margin:16px 0 0;font-size:14px;color:var(--color-text-secondary, #6b7280)}@media (max-width: 767px){.user-management-v2{padding:16px}.um-v2-header-content h1{font-size:24px}}.org-filter-bar{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-secondary, #ffffff);border-radius:12px;margin-bottom:16px;flex-wrap:wrap}.org-type-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.org-type-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.chip-all,.chip-building_contractor{background:#007aff14;color:#007aff}.chip-planning_contractor{background:#5856d614;color:#5856d6}.chip-ku{background:#0099a014;color:#0099a0}.chip-insurance{background:#ff950014;color:#e08600}.chip-investor{background:#af52de14;color:#af52de}.chip-company{background:#34c75914;color:#2da94f}.chip-all:hover,.chip-building_contractor:hover{background:#007aff24}.chip-planning_contractor:hover{background:#5856d624}.chip-ku:hover{background:#0099a024}.chip-insurance:hover{background:#ff950024}.chip-investor:hover{background:#af52de24}.chip-company:hover{background:#34c75924}.org-type-chip.active.chip-all,.org-type-chip.active.chip-building_contractor{background:#007aff2e;border-color:#007aff4d}.org-type-chip.active.chip-planning_contractor{background:#5856d62e;border-color:#5856d64d}.org-type-chip.active.chip-ku{background:#0099a02e;border-color:#0099a04d}.org-type-chip.active.chip-insurance{background:#ff95002e;border-color:#ff95004d}.org-type-chip.active.chip-investor{background:#af52de2e;border-color:#af52de4d}.org-type-chip.active.chip-company{background:#34c7592e;border-color:#34c7594d}.org-type-chip.active{font-weight:600}.chip-count{font-size:11px;font-weight:600;opacity:.7}.org-type-chip.active .chip-count{opacity:1}.org-filter-right{display:flex;align-items:center;gap:8px}.org-filter-bar .search-wrapper{position:relative;width:220px}.org-filter-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary, #6b7280);pointer-events:none}.org-filter-bar .search-input{width:100%;padding:8px 36px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;font-size:14px;color:var(--color-text-primary, #1d1d1f);background:#f5f5f7;transition:all .15s ease;box-sizing:border-box}.org-filter-bar .search-input::placeholder{color:var(--color-text-secondary, #6b7280)}.org-filter-bar .search-input:focus{outline:none;background:#fff;border-color:var(--color-accent, #dd4132);box-shadow:0 0 0 3px #dd41321a}.org-filter-bar .search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;border-radius:4px;transition:all .15s ease}.org-filter-bar .search-clear:hover{color:var(--color-text-primary, #1d1d1f);background:#0000000f}.add-org-wrapper{position:relative}.btn-add-org{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-accent, #dd4132);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-add-org:hover{background:var(--color-accent-hover, #c73828);transform:translateY(-1px);box-shadow:0 4px 8px #dd413240}.btn-add-org:active{transform:translateY(0)}.add-org-menu{position:absolute;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;box-shadow:0 4px 12px #0000001a,0 0 1px #0000001a;min-width:180px;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease}.add-org-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;text-align:left;font-size:13px;color:var(--color-text-primary, #1d1d1f);background:none;border:none;cursor:pointer;transition:background .15s ease}.add-org-menu button:hover{background:#f5f5f7}.add-org-menu .option-dot,.org-filter-bar .option-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.option-dot-contractor{background:#007aff}.option-dot-ku{background:#0099a0}.option-dot-insurance{background:#ff9500}.option-dot-investor{background:#af52de}.option-dot-company{background:#34c759}@media (max-width: 1024px){.org-filter-bar .search-wrapper{width:180px}}@media (max-width: 767px){.org-filter-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.org-type-chips{order:1}.org-filter-right{order:2;width:100%}.org-filter-bar .search-wrapper{flex:1;width:auto}.btn-add-org{flex-shrink:0}.add-org-menu{right:0}}.org-table-container{background:var(--color-bg-secondary, #ffffff);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.org-table{width:100%;border-collapse:collapse;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.org-table thead{background:#f9fafb;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1))}.org-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.org-table th:last-child{width:48px}.org-table tbody tr{border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06));transition:background .15s ease;cursor:pointer}.org-table tbody tr:last-child{border-bottom:none}.org-table tbody tr:hover{background:#f9fafb}.org-table tbody tr.inactive{opacity:.6}.org-table td{padding:12px 16px;vertical-align:middle}.org-name-cell{min-width:240px}.org-name-info{display:flex;align-items:center;gap:12px}.org-avatar{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0;color:#fff}.org-avatar-building_contractor,.org-avatar-both_contractor{background:linear-gradient(135deg,#007aff,#5856d6)}.org-avatar-planning_contractor{background:linear-gradient(135deg,#5856d6,#af52de)}.org-avatar-ku{background:linear-gradient(135deg,#0099a0,#00b4d8)}.org-avatar-insurance{background:linear-gradient(135deg,#ff9500,#ffb347)}.org-avatar-investor{background:linear-gradient(135deg,#af52de,orchid)}.org-avatar-company{background:linear-gradient(135deg,#34c759,#5ed17a)}.org-name-text{min-width:0;flex:1}.org-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-email{font-size:12px;color:var(--color-text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.org-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.org-badge-building_contractor,.org-badge-both_contractor{background:#007aff1f;color:#007aff}.org-badge-planning_contractor{background:#5856d61f;color:#5856d6}.org-badge-ku{background:#0099a01f;color:#0099a0}.org-badge-insurance{background:#ff95001f;color:#e08600}.org-badge-investor{background:#af52de1f;color:#af52de}.org-badge-company{background:#34c7591f;color:#2da94f}.org-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600}.org-status-active{background:#34c7591f;color:#22c55e}.org-status-inactive{background:#8e8e931f;color:#8e8e93}.org-reg-cell,.org-phone-cell{font-size:13px;color:var(--color-text-primary, #1d1d1f)}.org-date-cell{min-width:100px}.org-date-text{font-size:13px;color:var(--color-text-secondary, #6b7280)}.org-table .text-muted{color:var(--color-text-secondary, #6b7280);font-size:12px}.org-actions-cell{position:relative;width:48px}.org-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .15s ease}.org-action-btn:hover{background:#0000000f;color:var(--color-text-primary, #1d1d1f)}.org-action-menu{position:absolute;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;box-shadow:0 4px 12px #0000001a,0 0 1px #0000001a;min-width:180px;z-index:100;overflow:hidden;animation:orgMenuFadeIn .15s ease}@keyframes orgMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.org-action-menu button{display:block;width:100%;padding:10px 16px;text-align:left;font-size:13px;color:var(--color-text-primary, #1d1d1f);background:none;border:none;cursor:pointer;transition:background .15s ease}.org-action-menu button:hover{background:#f5f5f7}.org-action-menu button.danger{color:#ff3b30}.org-action-menu button.danger:hover{background:#ff3b3014}.org-menu-divider{height:1px;background:var(--color-border-light, rgba(0, 0, 0, .06));margin:4px 0}.org-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.org-empty-icon{width:64px;height:64px;color:var(--color-text-tertiary, #9ca3af);margin-bottom:16px}.org-empty-title{font-size:16px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin:0 0 4px}.org-empty-desc{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:0}@media (max-width: 1024px){.org-table th:nth-child(4),.org-table td:nth-child(4),.org-table th:nth-child(6),.org-table td:nth-child(6){display:none}.org-name-cell{min-width:200px}}@media (max-width: 767px){.org-table th:nth-child(3),.org-table td:nth-child(3),.org-table th:nth-child(4),.org-table td:nth-child(4),.org-table th:nth-child(5),.org-table td:nth-child(5),.org-table th:nth-child(6),.org-table td:nth-child(6){display:none}.org-table td,.org-table th{padding:10px 12px}.org-name-cell{min-width:160px}.org-avatar{width:32px;height:32px;font-size:14px;border-radius:6px}.org-name{font-size:13px}.org-email{font-size:11px}.org-badge{padding:3px 6px;font-size:10px}}.cp-editing{position:relative}.cp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.cp-chip{display:inline-flex;align-items:center;gap:6px;background:var(--color-bg-tertiary, #f3f4f6);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:4px 6px 4px 10px;font-size:13px;color:var(--color-text-primary, #374151);line-height:1.3}.cp-chip-name{font-weight:500}.cp-chip-meta{font-size:11px;color:var(--color-text-secondary, #9ca3af)}.cp-chip-remove{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary, #9ca3af);cursor:pointer;padding:2px;border-radius:4px;transition:all .15s ease}.cp-chip-remove:hover{color:#ef4444;background:#ef444414}.cp-search-wrapper{position:relative;display:flex;align-items:center}.cp-search-icon{position:absolute;left:8px;color:var(--color-text-secondary, #9ca3af);pointer-events:none}.cp-search-input{width:100%;padding:7px 8px 7px 28px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;font-size:13px;background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #111827);outline:none;box-sizing:border-box}.cp-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.cp-spinner{position:absolute;right:8px;width:14px;height:14px;border:2px solid rgba(0,0,0,.1);border-top-color:#2563eb;border-radius:50%;animation:cpSpin .6s linear infinite}@keyframes cpSpin{to{transform:rotate(360deg)}}.cp-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #d1d5db);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:50;max-height:240px;overflow-y:auto}.cp-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--color-border, #f3f4f6);background:none;cursor:pointer;text-align:left;font-size:13px;color:var(--color-text-primary, #111827);transition:background .1s ease}.cp-option:last-child{border-bottom:none}.cp-option:hover{background:var(--color-bg-tertiary, #f3f4f6)}.cp-option-row{display:flex;align-items:center;gap:8px}.cp-option-name{font-weight:500}.cp-option-role{font-size:11px;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-tertiary, #f3f4f6);padding:1px 6px;border-radius:4px}.cp-option-meta{font-size:11px;color:var(--color-text-secondary, #9ca3af)}.cp-create-option{border-top:1px solid var(--color-border, #e5e7eb);color:#2563eb}.cp-create-option .cp-option-name{color:#2563eb;font-weight:500}.cp-create-option svg{color:#2563eb;flex-shrink:0}.cp-create-option:hover{background:#2563eb0a}.cp-no-results{padding:16px 12px;text-align:center;font-size:13px;color:var(--color-text-secondary, #6b7280)}.cp-create-form{margin-top:8px;padding:10px 12px;border:1px solid #2563eb;border-radius:8px;background:#2563eb05}.cp-create-header{font-size:13px;color:var(--color-text-secondary, #6b7280);margin-bottom:8px}.cp-create-header strong{color:var(--color-text-primary, #111827)}.cp-create-fields{display:flex;gap:8px;margin-bottom:8px}.cp-create-input{flex:1;padding:6px 10px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:13px;background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #111827);outline:none;box-sizing:border-box}.cp-create-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.cp-create-error{font-size:12px;color:#ef4444;margin-bottom:8px}.cp-create-actions{display:flex;gap:8px}.cp-create-save{padding:5px 14px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.cp-create-save:hover:not(:disabled){background:#1d4ed8}.cp-create-save:disabled{opacity:.6;cursor:not-allowed}.cp-create-cancel{padding:5px 14px;background:var(--color-bg-tertiary, #f3f4f6);border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.cp-create-cancel:hover{background:var(--color-border, #e5e7eb);color:var(--color-text-primary, #374151)}.cp-chip-edit{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary, #9ca3af);cursor:pointer;padding:2px;border-radius:4px;transition:all .15s ease}.cp-chip-edit:hover{color:#2563eb;background:#2563eb14}.cp-chip-active{border-color:#2563eb;background:#2563eb0a}.cp-edit-form{margin-bottom:8px;padding:10px 12px;border:1px solid #2563eb;border-radius:8px;background:#2563eb05}.cp-edit-fields{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cp-edit-field{display:flex;align-items:center;gap:8px}.cp-edit-label{font-size:11px;font-weight:500;color:var(--color-text-secondary, #6b7280);min-width:72px;flex-shrink:0}.cp-done-btn{margin-top:8px;padding:5px 14px;background:var(--color-bg-tertiary, #f3f4f6);border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.cp-done-btn:hover{background:var(--color-border, #e5e7eb);color:var(--color-text-primary, #374151)}.odm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:odmOverlayFadeIn .2s ease}@keyframes odmOverlayFadeIn{0%{opacity:0}to{opacity:1}}.odm-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:odmModalSlideIn .25s ease}@keyframes odmModalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.odm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.odm-org-info{display:flex;align-items:center;gap:14px;min-width:0}.odm-avatar{width:48px;height:48px;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.odm-org-text{min-width:0}.odm-org-name{font-size:18px;font-weight:600;color:#1d1d1f;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odm-org-email{font-size:13px;color:#6b7280;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s ease;flex-shrink:0}.odm-close:hover{background:#0000001a;color:#1d1d1f}.odm-badges{display:flex;gap:8px;padding:0 24px 16px}.odm-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.odm-tabs{display:flex;padding:0 24px;border-bottom:1px solid rgba(0,0,0,.06)}.odm-tab{padding:12px 16px;font-size:13px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.odm-tab:hover{color:#1d1d1f}.odm-tab.active{color:#007aff;border-bottom-color:#007aff}.odm-content{flex:1;overflow-y:auto;padding:20px 24px 24px}.odm-details{display:flex;flex-direction:column;gap:24px}.odm-detail-group{display:flex;flex-direction:column;gap:12px}.odm-detail-group h3{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0}.odm-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04)}.odm-detail-row:last-child{border-bottom:none}.odm-detail-label{font-size:13px;color:#6b7280}.odm-detail-value{font-size:13px;color:#1d1d1f;font-weight:500;text-align:right;max-width:60%;word-break:break-word}.odm-edit-form{display:flex;flex-direction:column;gap:16px}.odm-edit-form .form-group{display:flex;flex-direction:column;gap:6px}.odm-edit-form label{font-size:12px;font-weight:500;color:#6b7280}.odm-edit-form input,.odm-edit-form textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease;box-sizing:border-box;font-family:inherit}.odm-edit-form input:focus,.odm-edit-form textarea:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.odm-edit-form textarea{resize:vertical;min-height:60px}.odm-danger-zone{margin-top:8px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.odm-action-btn{padding:10px 16px;font-size:13px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.odm-action-btn:disabled{opacity:.5;cursor:not-allowed}.odm-action-danger{background:#ff3b301a;color:#ff3b30}.odm-action-danger:hover:not(:disabled){background:#ff3b3026}.odm-contacts{min-height:120px}.odm-loading-contacts{text-align:center;padding:32px;color:#6b7280;font-size:14px}@media (max-width: 600px){.odm-overlay{padding:0;align-items:flex-end}.odm-modal{max-width:none;max-height:90vh;border-radius:16px 16px 0 0;animation:odmModalSlideUp .3s ease}@keyframes odmModalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.odm-header{padding:16px 20px 12px}.odm-avatar{width:40px;height:40px;font-size:16px}.odm-org-name{font-size:16px}.odm-badges{padding:0 20px 12px}.odm-tabs{padding:0 16px}.odm-tab{padding:10px 12px;font-size:12px}.odm-content{padding:16px 20px 20px}.form-actions{flex-direction:column-reverse;gap:10px}.form-actions .btn-secondary,.form-actions .btn-primary{width:100%;text-align:center}}.aom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:odmOverlayFadeIn .2s ease}.aom-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:odmModalSlideIn .25s ease}.aom-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.aom-header h2{font-size:18px;font-weight:600;color:#1d1d1f;margin:0}.aom-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s ease}.aom-close:hover{background:#0000001a;color:#1d1d1f}.aom-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.aom-form-group{display:flex;flex-direction:column;gap:6px}.aom-form-group label{font-size:12px;font-weight:500;color:#6b7280}.aom-form-group input{width:100%;padding:10px 12px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease;box-sizing:border-box}.aom-form-group input:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.aom-form-group input.error{border-color:#ff3b30}.aom-form-group .error-text{font-size:12px;color:#ff3b30}.aom-type-selector{display:flex;gap:8px}.aom-type-option{flex:1;padding:10px 12px;font-size:13px;font-weight:500;color:#6b7280;background:#f9fafb;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .15s ease}.aom-type-option:hover{background:#f3f4f6}.aom-type-option.selected{background:#007aff1a;border-color:#007aff;color:#007aff}.aom-type-ku.selected{background:#0099a01a;border-color:#0099a0;color:#0099a0}.aom-type-insurance.selected{background:#ff95001a;border-color:#e08600;color:#e08600}.aom-type-investor.selected{background:#af52de1a;border-color:#af52de;color:#af52de}.aom-type-company.selected{background:#34c7591a;border-color:#2da94f;color:#2da94f}.aom-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.aom-btn-secondary{padding:10px 20px;font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.aom-btn-secondary:hover{background:#e5e7eb;color:#1d1d1f}.aom-btn-primary{padding:10px 20px;font-size:13px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.aom-btn-primary:hover{background:#0066d6}.aom-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.aom-overlay{padding:0;align-items:flex-end}.aom-modal{max-width:none;border-radius:16px 16px 0 0}.aom-type-selector{flex-wrap:wrap}.aom-actions{flex-direction:column-reverse;gap:10px}.aom-btn-secondary,.aom-btn-primary{width:100%;text-align:center}}.cdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:overlayFadeIn .2s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.cdm-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:modalSlideIn .25s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cdm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.cdm-contractor-info{display:flex;align-items:center;gap:14px}.cdm-avatar{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.cdm-contractor-text{min-width:0}.cdm-contractor-name{font-size:18px;font-weight:600;color:#1d1d1f;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdm-contractor-email{font-size:13px;color:#6b7280;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s ease;flex-shrink:0}.cdm-close:hover{background:#0000001a;color:#1d1d1f}.cdm-badges{display:flex;gap:8px;padding:0 24px 16px}.cdm-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.cdm-badge-type-building{background:#007aff1f;color:#007aff}.cdm-badge-type-planning{background:#af52de1f;color:#af52de}.cdm-badge-type-both{background:#34c7591f;color:#34c759}.cdm-badge-status-active{background:#34c7591f;color:#22c55e}.cdm-badge-status-inactive{background:#8e8e931f;color:#8e8e93}.cdm-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid rgba(0,0,0,.06)}.cdm-tab{padding:12px 16px;font-size:13px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.cdm-tab:hover{color:#1d1d1f}.cdm-tab.active{color:#007aff;border-bottom-color:#007aff}.cdm-content{flex:1;overflow-y:auto;padding:20px 24px 24px}.cdm-details{display:flex;flex-direction:column;gap:24px}.cdm-detail-group{display:flex;flex-direction:column;gap:12px}.cdm-detail-group h3{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0}.detail-header{display:flex;align-items:center;justify-content:space-between}.edit-btn{font-size:13px;font-weight:500;color:#007aff;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s ease}.edit-btn:hover{background:#007aff1a}.cdm-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04)}.cdm-detail-row:last-child{border-bottom:none}.cdm-detail-label{font-size:13px;color:#6b7280}.cdm-detail-value{font-size:13px;color:#1d1d1f;font-weight:500}.cdm-detail-desc{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.cdm-status-actions{margin-top:8px}.cdm-action-btn{padding:10px 16px;font-size:13px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.cdm-action-danger{background:#ff3b301a;color:#ff3b30}.cdm-action-danger:hover{background:#ff3b3026}.cdm-action-success{background:#34c7591a;color:#34c759}.cdm-action-success:hover{background:#34c75926}.cdm-edit-form{display:flex;flex-direction:column;gap:16px}.cdm-edit-form .form-group{display:flex;flex-direction:column;gap:6px}.cdm-edit-form label{font-size:12px;font-weight:500;color:#6b7280}.cdm-edit-form input{width:100%;padding:10px 12px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease;box-sizing:border-box;-webkit-user-select:text;user-select:text}.cdm-edit-form input:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.type-selector{display:flex;gap:8px}.type-option{flex:1;padding:10px 12px;font-size:13px;font-weight:500;color:#6b7280;background:#f9fafb;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .15s ease}.type-option:hover{background:#f3f4f6}.type-option.selected{background:#007aff1a;border-color:#007aff;color:#007aff}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-secondary{padding:10px 20px;font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:#e5e7eb;color:#1d1d1f}.btn-primary{padding:10px 20px;font-size:13px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.btn-primary:hover{background:#0066d6}.cdm-users{display:flex;flex-direction:column;gap:16px}.cdm-section-desc{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.cdm-user-list{display:flex;flex-direction:column;gap:8px}.cdm-user-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f9fafb;border-radius:10px}.cdm-user-info{display:flex;flex-direction:column;gap:2px}.cdm-user-email{font-size:14px;font-weight:500;color:#1d1d1f}.cdm-user-date{font-size:12px;color:#6b7280}.cdm-user-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s ease;flex-shrink:0}.cdm-user-remove:hover{color:#ff3b30;background:#ff3b3014}.cdm-add-user-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cdm-add-user-hint{width:100%;margin:4px 0 0;font-size:12px;color:#6b7280}.cdm-add-user-input{flex:1;padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:13px;color:#1d1d1f;background:#f9fafb;transition:all .15s ease}.cdm-add-user-input:focus{outline:none;background:#fff;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.cdm-add-user-input::placeholder{color:#9ca3af}.cdm-add-user-btn{padding:8px 16px;background:#007aff;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cdm-add-user-btn:hover:not(:disabled){background:#0066d6}.cdm-add-user-btn:disabled{opacity:.4;cursor:not-allowed}.cdm-companies{display:flex;flex-direction:column;gap:16px}.cdm-company-list{display:flex;flex-direction:column;gap:12px}.cdm-company-card{background:#f9fafb;border-radius:10px;padding:14px 16px}.cdm-company-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cdm-company-name{font-size:14px;font-weight:600;color:#1d1d1f}.cdm-default-badge{font-size:10px;font-weight:600;color:#007aff;background:#007aff1a;padding:3px 8px;border-radius:4px;text-transform:uppercase}.cdm-company-details{display:flex;flex-direction:column;gap:6px}.cdm-company-row{display:flex;gap:8px;font-size:12px}.cdm-company-row .label{color:#6b7280;min-width:60px}.cdm-company-row .value{color:#1d1d1f}.cdm-empty-section{text-align:center;padding:32px 16px;color:#6b7280}.cdm-empty-section p{margin:0 0 8px;font-size:14px}.cdm-empty-hint{font-size:12px!important;color:#9ca3af!important}.tgp-container{display:flex;flex-direction:column;gap:6px}.tgp-select-row{display:flex;gap:8px;align-items:center}.tgp-select{flex:1;padding:10px 32px 10px 12px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f9fafb url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;color:#1d1d1f;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;box-sizing:border-box;min-width:0}.tgp-select:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.tgp-refresh{width:38px;height:38px;padding:0;font-size:16px;color:#007aff;background:#007aff14;border:1px solid rgba(0,122,255,.15);border-radius:8px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.tgp-refresh:hover{background:#007aff26}.tgp-refresh:disabled{opacity:.5;cursor:not-allowed}.tgp-toggle{font-size:12px;color:#6b7280;background:none;border:none;padding:0;cursor:pointer;text-align:left}.tgp-toggle:hover{color:#007aff}.tgp-hint{font-size:12px;color:#9ca3af}.tgp-error{font-size:12px;color:#ef4444}.tgp-actions{display:flex;align-items:center;gap:8px}.tgp-separator{font-size:12px;color:#d1d5db}.tgp-guide{margin-top:4px;padding:12px 14px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;font-size:13px;color:#1e3a5f;line-height:1.5}.tgp-guide-title{font-weight:600;margin-bottom:8px;font-size:13px}.tgp-guide-steps{margin:0;padding-left:20px}.tgp-guide-steps li{margin-bottom:6px}.tgp-guide-steps li:last-child{margin-bottom:0}.tgp-guide-steps em{color:#2563eb;font-style:normal}.tgp-guide-note{margin-top:10px;padding:8px 10px;background:#fef3c7;border-radius:6px;font-size:12px;color:#78350f}.cdm-pricing{display:flex;flex-direction:column;gap:20px}.cdm-pricing-tiers{display:flex;flex-direction:column;gap:0;background:#f9fafb;border-radius:10px;overflow:hidden}.cdm-pricing-header-row{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.06)}.cdm-pricing-header-row span{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.cdm-pricing-tier-row{display:flex;gap:8px;padding:10px 14px;align-items:center;border-bottom:1px solid rgba(0,0,0,.04)}.cdm-pricing-tier-row:last-of-type{border-bottom:none}.cdm-pricing-col-area,.cdm-pricing-col-rate{flex:1;min-width:0}.cdm-pricing-col-action{width:28px;flex-shrink:0}.cdm-pricing-any{font-size:13px;color:#6b7280;font-style:italic}.cdm-pricing-area-input,.cdm-pricing-rate-input{display:flex;align-items:center;gap:4px}.cdm-pricing-area-input input,.cdm-pricing-rate-input input{width:70px;padding:6px 8px;font-size:13px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff;color:#1d1d1f;box-sizing:border-box}.cdm-pricing-area-input input:focus,.cdm-pricing-rate-input input:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 2px #007aff1a}.cdm-pricing-prefix,.cdm-pricing-suffix{font-size:12px;color:#9ca3af;white-space:nowrap}.cdm-pricing-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ff3b3014;border:none;border-radius:4px;color:#ff3b30;font-size:13px;cursor:pointer;transition:background .15s}.cdm-pricing-remove:hover{background:#ff3b3026}.cdm-pricing-add{padding:10px 14px;font-size:13px;font-weight:500;color:#007aff;background:none;border:none;border-top:1px solid rgba(0,0,0,.06);cursor:pointer;text-align:left;transition:background .15s}.cdm-pricing-add:hover{background:#007aff0a}.cdm-pricing-preview{display:flex;flex-direction:column;gap:10px}.cdm-pricing-preview h3{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0}.cdm-pricing-preview-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cdm-pricing-preview-row label{font-size:13px;color:#6b7280}.cdm-pricing-preview-result{font-size:14px;font-weight:600;color:#1d1d1f}.cdm-pricing-error{padding:10px 14px;background:#ff3b3014;color:#ff3b30;font-size:13px;border-radius:8px}.cdm-pricing-success{padding:10px 14px;background:#34c75914;color:#22c55e;font-size:13px;border-radius:8px}@media (max-width: 600px){.cdm-overlay{padding:0;align-items:flex-end}.cdm-modal{max-width:none;max-height:90vh;border-radius:16px 16px 0 0;animation:cdmModalSlideUp .3s ease}@keyframes cdmModalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cdm-header{padding:16px 20px 12px}.cdm-avatar{width:40px;height:40px;font-size:16px}.cdm-contractor-name{font-size:16px}.cdm-badges{padding:0 20px 12px;flex-wrap:wrap}.cdm-tabs{padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.cdm-tab{padding:10px 12px;font-size:12px;white-space:nowrap}.cdm-content{padding:16px 20px 20px}.type-selector{flex-direction:column}.form-actions{flex-direction:column-reverse;gap:10px}.btn-secondary,.btn-primary{width:100%;text-align:center}.cdm-status-actions{display:flex;flex-direction:column;gap:10px}.cdm-action-btn{width:100%;text-align:center}}@media (max-width: 380px){.cdm-header{padding:14px 16px 10px}.cdm-contractor-info{gap:10px}.cdm-avatar{width:36px;height:36px;font-size:14px;border-radius:8px}.cdm-contractor-name{font-size:15px}.cdm-contractor-email{font-size:12px}.cdm-badges{padding:0 16px 10px;gap:6px}.cdm-badge{padding:3px 8px;font-size:11px}.cdm-tabs{padding:0 12px}.cdm-content{padding:14px 16px 16px}.cdm-detail-group h3{font-size:10px}.cdm-detail-label,.cdm-detail-value{font-size:12px}.cdm-edit-form input{padding:10px 12px;font-size:13px}.cdm-edit-form label{font-size:11px}.type-option{padding:10px 12px;font-size:12px}.cdm-user-email{font-size:13px}.cdm-user-date{font-size:11px}.cdm-company-name{font-size:13px}.cdm-company-row{font-size:11px}}.acm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:acmOverlayFadeIn .2s ease}@keyframes acmOverlayFadeIn{0%{opacity:0}to{opacity:1}}.acm-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:acmModalSlideIn .25s ease}@keyframes acmModalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.acm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.06)}.acm-header h2{font-size:18px;font-weight:600;color:#1d1d1f;margin:0}.acm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s ease}.acm-close:hover{background:#0000001a;color:#1d1d1f}.acm-form{padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.acm-form-group{display:flex;flex-direction:column;gap:6px}.acm-form-group label{font-size:12px;font-weight:500;color:#6b7280}.acm-form-group input{padding:12px 14px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease}.acm-form-group input:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.acm-form-group input.error{border-color:#ff3b30;background:#ff3b300a}.acm-form-group input.error:focus{box-shadow:0 0 0 3px #ff3b301a}.error-text{font-size:12px;color:#ff3b30}.acm-type-selector{display:flex;gap:8px}.acm-type-option{flex:1;padding:12px 14px;font-size:13px;font-weight:500;color:#6b7280;background:#f9fafb;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .15s ease}.acm-type-option:hover{background:#f3f4f6}.acm-type-option.selected{background:#007aff1a;border-color:#007aff;color:#007aff}.acm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.acm-btn-secondary{padding:12px 24px;font-size:14px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.acm-btn-secondary:hover{background:#e5e7eb;color:#1d1d1f}.acm-btn-primary{padding:12px 24px;font-size:14px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.acm-btn-primary:hover{background:#0066d6}@media (max-width: 540px){.acm-overlay{padding:16px}.acm-modal{max-height:calc(100vh - 32px)}.acm-header{padding:16px 20px}.acm-form{padding:20px;gap:16px}.acm-type-selector{flex-direction:column}.acm-actions{flex-direction:column-reverse}.acm-btn-secondary,.acm-btn-primary{width:100%;justify-content:center}}.orgm-container{padding:0 24px 24px;max-width:1400px;margin:0 auto}.orgm-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:64px 24px;color:#6b7280;font-size:14px}.orgm-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#007aff;border-radius:50%;animation:orgmSpin .8s linear infinite}@keyframes orgmSpin{to{transform:rotate(360deg)}}.orgm-notification{position:fixed;top:24px;right:24px;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1100;animation:orgmNotifSlideIn .25s ease}@keyframes orgmNotifSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.orgm-notification-success{background:#34c759;color:#fff}.orgm-notification-error{background:#ff3b30;color:#fff}@media (max-width: 768px){.orgm-container{padding:0 16px 16px}.orgm-notification{top:16px;right:16px;left:16px}}.admin-panel{width:100%;padding:0}.admin-panel .segmented-control{width:fit-content;margin:24px auto 0;background:#f3f4f6;border-radius:8px;padding:4px;display:flex;gap:4px}.admin-panel .segment{display:flex;align-items:center;gap:8px;padding:8px 20px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s}.admin-panel .segment:hover{color:#111827}.admin-panel .segment.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.admin-panel .segment svg{width:16px;height:16px}.admin-panel-content{margin-top:24px}@media (max-width: 768px){.admin-panel{padding:0}.admin-panel-header{margin-bottom:2rem}.admin-panel-header h1{font-size:var(--font-size-h1-mobile)}.admin-panel-subtitle{font-size:var(--font-size-sm)}.admin-panel .segmented-control{width:calc(100% - 32px);margin:16px 16px 0;box-sizing:border-box}.admin-panel .segment{flex:1;justify-content:center;padding:10px 12px;font-size:13px}.admin-panel .segment svg{display:none}}@media (max-width: 380px){.admin-panel .segmented-control{margin:12px 12px 0;width:calc(100% - 24px);padding:3px}.admin-panel .segment{padding:8px 10px;font-size:12px}}.settings-container{max-width:900px;margin:0 auto;padding:2rem}.settings-header{margin-bottom:2.5rem}.settings-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .5rem}.settings-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.settings-section{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.section-header h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .5rem}.section-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6;margin:0}.info-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-top:1rem;background:linear-gradient(135deg,#e3f2fd,#f0f7ff);border:1.5px solid #2196f3;border-radius:10px;font-size:.875rem;color:#1565c0}.info-icon{font-size:1.125rem;flex-shrink:0}.error-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#ffebee,#fff5f5);border:1.5px solid var(--color-error);border-radius:10px;font-size:.875rem;color:#c62828;animation:slideIn .3s ease-out}.error-icon{font-size:1.125rem;flex-shrink:0}.success-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border:1.5px solid var(--color-success);border-radius:10px;font-size:.875rem;color:#2e7d32;animation:slideIn .3s ease-out}.success-icon{font-size:1.125rem;font-weight:700;flex-shrink:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.budgets-grid{display:flex;flex-direction:column;gap:.75rem}.budget-header{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.budget-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:1rem;background:var(--color-bg-tertiary);border-radius:10px;align-items:center;transition:background-color .2s ease}.budget-row:hover{background:#ececee}.budget-range{display:flex;align-items:center;gap:.5rem}.budget-range input{width:80px;padding:.5rem .75rem;font-size:.9375rem;font-weight:500;color:var(--color-text-primary);border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);transition:border-color .2s ease,box-shadow .2s ease}.budget-range input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.budget-range input:disabled{background:#f9f9f9;color:var(--color-text-secondary);cursor:not-allowed}.range-separator{color:var(--color-text-secondary);font-weight:500;font-size:1rem}.range-unit{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.budget-duration{display:flex;align-items:center;gap:.5rem}.budget-duration input{width:80px;padding:.5rem .75rem;font-size:.9375rem;font-weight:600;color:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:8px;background:var(--color-bg-secondary);transition:border-color .2s ease,box-shadow .2s ease}.budget-duration input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd413226}.budget-duration input:disabled{background:#f9f9f9;color:var(--color-text-secondary);border-color:var(--color-border);cursor:not-allowed}.duration-unit{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.settings-actions{display:flex;gap:.75rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.save-button{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;color:var(--color-bg-secondary);background:var(--color-accent);border:none;border-radius:10px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.save-button:hover:not(:disabled){background:#c23828}.save-button:active:not(:disabled){transform:scale(.98)}.save-button:disabled{opacity:.5;cursor:not-allowed}.cancel-button{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1.5px solid var(--color-border);border-radius:10px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.cancel-button:hover:not(:disabled){background:#e8e8ed}.cancel-button:active:not(:disabled){transform:scale(.98)}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:3rem;color:var(--color-text-secondary);font-size:1rem}.pricing-rules-grid{display:flex;flex-direction:column;gap:2rem}.rules-group{padding:1.5rem;background:var(--color-bg-tertiary);border-radius:12px}.rules-group-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.rules-group-description{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 1.25rem;line-height:1.5}.pricing-rule-row{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:var(--color-bg-secondary);border-radius:8px;margin-bottom:.5rem;border:1px solid var(--color-border)}.pricing-rule-row:last-child{margin-bottom:0}.rule-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.rule-label{font-size:.9375rem;font-weight:500;color:var(--color-text-primary)}.rule-description{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4}.rule-input{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.rule-input input{width:70px;padding:.5rem .75rem;font-size:.9375rem;font-weight:600;color:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:8px;background:var(--color-bg-secondary);text-align:center;transition:border-color .2s ease,box-shadow .2s ease}.rule-input input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd413226}.rule-input input:disabled{background:#f9f9f9;color:var(--color-text-secondary);border-color:var(--color-border);cursor:not-allowed}.rule-unit{font-size:.875rem;color:var(--color-text-secondary);font-weight:500;min-width:60px}@media (max-width: 768px){.settings-container{padding:1rem}.settings-header h1{font-size:1.75rem}.settings-section{padding:1.5rem}.section-header h2{font-size:1.25rem}.budget-header{font-size:.75rem}.budget-row{padding:.875rem}.budget-range input,.budget-duration input{width:70px;padding:.5rem;font-size:.875rem}.settings-actions{flex-direction:column}.save-button,.cancel-button{width:100%}.pricing-rule-row{flex-direction:column;align-items:flex-start;gap:.75rem}.rule-input{width:100%;justify-content:flex-start}.rule-input input{width:80px}.rules-group{padding:1rem}.rules-group-title{font-size:1rem}}.email-recipients-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.empty-message{color:var(--color-text-secondary);font-style:italic;padding:1rem;text-align:center}.recipient-row{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;transition:background-color .2s ease}.recipient-row:hover{background:var(--color-bg-tertiary)}.recipient-info{display:flex;align-items:center;gap:.5rem}.recipient-email{font-weight:500;color:var(--color-text-primary)}.recipient-name{color:var(--color-text-secondary);font-size:.875rem}.recipient-actions{display:flex;gap:.5rem}.delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:1.25rem;cursor:pointer;transition:all .2s ease}.delete-btn:hover{border-color:var(--color-error);background:var(--color-error);color:var(--color-bg-secondary)}.add-recipient-form{padding:1.5rem;background:var(--color-bg-tertiary);border-radius:12px}.add-recipient-form h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.add-recipient-form .form-row{display:flex;gap:.75rem;align-items:center}.user-select{flex:1;min-width:250px;padding:.625rem .875rem;font-size:.9375rem;border:1.5px solid var(--color-border);border-radius:8px;background-color:var(--color-bg-secondary);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.user-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.all-users-added{color:var(--color-text-secondary);font-style:italic;margin:0;padding:.5rem 0}.add-button{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:var(--color-bg-secondary);background:var(--color-success);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap}.add-button:hover{background:#2e9c50}.add-button:active{transform:scale(.98)}.add-button:disabled{background:var(--color-text-secondary);cursor:not-allowed;opacity:.6}@media (max-width: 768px){.add-recipient-form .form-row{flex-direction:column;align-items:stretch}.user-select{width:100%;min-width:unset}.add-button{width:100%}.recipient-row{flex-direction:column;align-items:flex-start;gap:.75rem}.recipient-actions{width:100%;justify-content:flex-end}}.work-stages-section{margin-top:2rem}.percentage-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:600}.percentage-indicator.valid{background:#34c7591a;color:var(--color-success);border:1px solid var(--color-success)}.percentage-indicator.invalid{background:#ff3b301a;color:var(--color-error);border:1px solid var(--color-error)}.percentage-warning{font-weight:400;font-size:.875rem;opacity:.8}.holdback-info{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#007aff0d;border:1px solid rgba(0,122,255,.2);border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;color:var(--color-text-secondary)}.holdback-info .info-icon{width:18px;height:18px;min-width:18px;display:flex;align-items:center;justify-content:center;background:#007aff33;color:var(--primary-blue, #007aff);border-radius:50%;font-size:10px;font-weight:700}.fixed-amount-label{display:inline-block;padding:.375rem .625rem;background:#ff95001a;color:var(--warning, #ff9500);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.work-stages-table{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.work-stages-header{display:grid;grid-template-columns:50px 1fr 1fr 1fr 70px 120px 60px 50px;gap:.75rem;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.work-stage-row{display:grid;grid-template-columns:50px 1fr 1fr 1fr 70px 120px 60px 50px;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-tertiary);border-radius:8px;align-items:center;transition:background-color .2s ease}.work-stage-row:hover{background:#ececee}.work-stage-row.inactive{opacity:.5}.work-stage-row input[type=text],.work-stage-row input[type=number]{width:100%;padding:.5rem .625rem;font-size:.875rem;border:1.5px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);transition:border-color .2s ease,box-shadow .2s ease}.work-stage-row input[type=text]:focus,.work-stage-row input[type=number]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #dd41321a}.work-stage-row input:disabled{background:#f9f9f9;color:var(--color-text-secondary);cursor:not-allowed}.work-stage-row input[type=checkbox]{width:18px;height:18px;cursor:pointer}.work-stage-row input[type=checkbox]:disabled{cursor:not-allowed}.col-percentage input{text-align:center;font-weight:600;color:var(--color-accent);border-color:var(--color-accent)}.col-percentage input:disabled{color:var(--color-text-secondary);border-color:var(--color-border)}.order-buttons{display:flex;flex-direction:column;gap:2px}.order-btn{width:24px;height:20px;padding:0;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.order-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:#dd41320d}.order-btn:disabled{opacity:.3;cursor:not-allowed}.holdback-group{display:flex;align-items:center;gap:.5rem}.holdback-amount{width:70px!important;padding:.375rem .5rem!important;font-size:.8125rem!important}.col-actions .delete-btn{width:28px;height:28px;font-size:1rem}.add-stage-form{padding:1.5rem;background:var(--color-bg-tertiary);border-radius:12px;margin-bottom:1.5rem}.add-stage-form h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.add-stage-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.add-stage-fields .form-group{display:flex;flex-direction:column;gap:.375rem}.add-stage-fields .form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.add-stage-fields .form-group input{padding:.625rem .75rem;font-size:.9375rem;border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);transition:border-color .2s ease,box-shadow .2s ease}.add-stage-fields .form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.add-stage-fields .checkbox-inline{flex-direction:row;align-items:center;gap:.5rem}.add-stage-fields .checkbox-inline label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem;color:var(--color-text-primary)}.add-stage-fields .checkbox-inline input[type=checkbox]{width:18px;height:18px;cursor:pointer}.add-stage-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.add-stage-btn{padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;color:var(--color-success);background:#34c7591a;border:1.5px solid var(--color-success);border-radius:10px;cursor:pointer;transition:all .2s ease}.add-stage-btn:hover{background:var(--color-success);color:var(--color-bg-secondary)}.buyer-settings-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.form-row-inline{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.buyer-settings-form .form-group{display:flex;flex-direction:column;gap:.375rem}.buyer-settings-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.buyer-settings-form .form-group input{padding:.625rem .875rem;font-size:.9375rem;border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);transition:border-color .2s ease,box-shadow .2s ease}.buyer-settings-form .form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.email-input,.name-input{padding:.625rem .875rem;font-size:.9375rem;border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);transition:border-color .2s ease,box-shadow .2s ease}.email-input{flex:2}.name-input{flex:1}.email-input:focus,.name-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.toggle-btn{padding:.375rem .75rem;font-size:.75rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;text-transform:uppercase}.toggle-btn.active{background:#34c75926;color:var(--color-success);border:1px solid var(--color-success)}.toggle-btn:not(.active){background:#aeaeb226;color:var(--color-text-secondary);border:1px solid var(--color-border)}.toggle-btn:hover{opacity:.8}.recipient-inactive{font-size:.75rem;padding:.25rem .5rem;background:#aeaeb226;color:var(--color-text-secondary);border-radius:4px;margin-left:.5rem}@media (max-width: 768px){.form-row-inline{grid-template-columns:1fr}.email-input,.name-input{flex:1;width:100%}}@media (max-width: 1024px){.work-stages-header,.work-stage-row{grid-template-columns:40px 1fr 1fr 1fr 60px 100px 50px 40px;gap:.5rem;font-size:.75rem}}@media (max-width: 768px){.work-stages-header{display:none}.work-stage-row{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.work-stage-row>span{display:flex;align-items:center;gap:.5rem;width:100%}.work-stage-row>span:before{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;min-width:60px}.work-stage-row .col-order:before{content:"#"}.work-stage-row .col-name-ru:before{content:"RU"}.work-stage-row .col-name-en:before{content:"EN"}.work-stage-row .col-name-et:before{content:"ET"}.work-stage-row .col-percentage:before{content:"%"}.work-stage-row .col-holdback:before{content:"Hold"}.work-stage-row .col-active:before{content:"Active"}.work-stage-row .col-actions:before{content:""}.order-buttons{flex-direction:row}.add-stage-fields{grid-template-columns:1fr}.add-stage-actions{flex-direction:column}.add-stage-actions button{width:100%}}.address-link{cursor:pointer;transition:color .2s ease}.address-link:hover{color:var(--accent, #DD4132);text-decoration:underline}.address-link:focus-visible{outline:2px solid var(--accent, #DD4132);outline-offset:2px;border-radius:2px}.timelines-container{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.timelines-header{margin-bottom:3rem}.timelines-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .5rem}.timelines-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.timelines-container .segmented-control{width:fit-content;margin-left:auto;margin-right:auto;margin-bottom:var(--space-2xl)}.timelines-container .segment{display:flex;align-items:center;gap:var(--space-sm);padding:10px 20px}.timeline-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000000d;animation:fadeIn .3s ease-in;width:100%;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-header{margin-bottom:2rem}.section-header-flex{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem}.section-header-left{flex:1}.section-header-right{flex-shrink:0}.section-header h2,.section-header-left h2{font-size:1.5rem;font-weight:600;color:#1d1d1f;margin:0 0 .5rem}.section-description{font-size:.9rem;color:#6e6e73;margin:0;line-height:1.5}.total-cash-card,.total-count-card{background:linear-gradient(135deg,#0071e3,#0077ed);padding:1.25rem 1.5rem;border-radius:12px;box-shadow:0 4px 12px #0071e326;min-width:180px;text-align:right}.total-count-card{background:linear-gradient(135deg,#34c759,#30d158);box-shadow:0 4px 12px #34c75926}.total-cash-label{font-size:.8rem;color:#ffffffe6;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.total-cash-amount{font-size:2rem;font-weight:700;color:#fff;line-height:1}.loading,.empty-state{text-align:center;padding:3rem;color:#6e6e73}.empty-state p{margin:0;font-size:.95rem}.cashflow-timeline{display:flex;flex-direction:column;gap:1.5rem}.cashflow-month{border:1px solid #e5e5e7;border-radius:10px;overflow:hidden;transition:all .2s ease}.cashflow-month:hover{border-color:#d1d1d6;box-shadow:0 2px 8px #0000000d}.month-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;background:#f5f5f7;border-bottom:1px solid #e5e5e7}.month-date{font-size:1rem;font-weight:600;color:#1d1d1f}.month-total{font-size:1.1rem;font-weight:600;color:#0071e3}.month-apartments{padding:.5rem 0}.cashflow-item{padding:.5rem 1rem;border-bottom:1px solid #f5f5f7;transition:background .15s ease}.cashflow-item:last-child{border-bottom:none}.cashflow-item:hover{background:#fafafa}.cashflow-item.over-budget{background:#fef2f2;border-left:3px solid #ef4444}.cashflow-item.over-budget:hover{background:#fee2e2}.cashflow-top-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem;gap:1rem}.cashflow-address{font-size:.9rem;font-weight:600;color:#1d1d1f;display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;flex:1}.cashflow-due-date,.cashflow-area{color:#6e6e73;font-size:.8rem;font-weight:500;white-space:nowrap}.over-budget-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#ef4444;color:#fff;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap}.budget-per-sqm{color:#6e6e73;font-size:.75rem;font-weight:400;margin-left:.25rem}.cashflow-budget-line{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.budget-item{display:inline-flex;align-items:center;gap:.375rem}.budget-separator{color:#d1d1d6;font-weight:300}.budget-label{color:#6e6e73;font-weight:400;font-size:.8rem}.budget-value{color:#1d1d1f;font-weight:600;font-size:.85rem}.budget-value.paid{color:#34c759}.budget-value.over-budget-value{color:#ef4444;font-weight:700}.budget-value.remainder-value{color:#0071e3;font-weight:700}.readiness-container{border-radius:10px}.readiness-timeline{display:flex;flex-direction:column;gap:0}.readiness-item{border-bottom:1px solid #f5f5f7;padding:.75rem 1rem;transition:all .15s ease;background:#fff}.readiness-item:last-child{border-bottom:none}.readiness-item:hover{background:#fafafa}.readiness-item.completed{background:#f0fdf4;border-color:#bbf7d0}.readiness-item.overdue{background:#fef2f2;border-color:#fecaca}.readiness-item.future{background:#f0f9ff;border-color:#bfdbfe}.readiness-header-compact{margin-bottom:.5rem}.readiness-title-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.375rem}.readiness-address{font-size:.9rem;font-weight:600;color:#1d1d1f;flex:1}.readiness-status{display:flex;gap:.375rem;flex-shrink:0}.time-budget{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.status-badge{padding:.25rem .625rem;border-radius:5px;font-size:.7rem;font-weight:600;white-space:nowrap}.status-badge.completed{background:#22c55e;color:#fff}.status-badge.overdue{background:#ef4444;color:#fff}.status-badge.future{background:#3b82f6;color:#fff}.status-badge.in-progress{background:#f59e0b;color:#fff}.status-badge.booked{background:#8b5cf6;color:#fff}.readiness-timeline-bar{margin-bottom:.75rem}.readiness-timeline-bar-compact{display:flex;flex-direction:column;gap:.375rem}.timeline-dates-inline{display:flex;align-items:center;gap:.625rem;font-size:.8rem;color:#6e6e73;flex-wrap:wrap}.date-item{white-space:nowrap}.date-separator{color:#d1d1d6;font-weight:300}.progress-percent-inline{font-weight:600;color:#1d1d1f;font-size:.8rem}.timeline-dates{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;color:#6e6e73}.date-label{font-size:.875rem}.progress-bar{height:8px;background:#e5e5e7;border-radius:4px;overflow:hidden}.progress-bar-compact{height:6px;background:#e5e5e7;border-radius:3px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease;border-radius:4px}.progress-fill.completed{background:#22c55e}.progress-fill.overdue{background:#ef4444}.progress-fill.in-progress{background:#0071e3}.readiness-footer{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.renovation-status{color:#6e6e73;font-style:italic}.progress-percent{font-weight:600;color:#1d1d1f}.readiness-item-apple{position:relative;display:flex;background:#fff;border-radius:12px;margin-bottom:12px;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 1px 3px #0000000a}.readiness-item-apple:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.status-accent{width:4px;flex-shrink:0;transition:width .2s ease}.status-completed .status-accent{background:linear-gradient(180deg,#34c759,#30d158)}.status-overdue .status-accent{background:linear-gradient(180deg,#ff3b30,#ff453a)}.status-in-progress .status-accent{background:linear-gradient(180deg,#007aff,#0a84ff)}.status-future .status-accent{background:linear-gradient(180deg,#8e8e93,#98989d)}.readiness-item-apple:hover .status-accent{width:6px}.item-content{flex:1;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.item-address{font-size:17px;font-weight:600;color:#1d1d1f;margin:0;line-height:1.3;letter-spacing:-.01em}.item-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.meta-badge{padding:4px 10px;background:#f5f5f7;color:#1d1d1f;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.01em}.meta-info{font-size:13px;color:#86868b;font-weight:500}.timeline-info{margin:4px 0}.timeline-dates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px}.date-group{display:flex;flex-direction:column;gap:4px}.date-label{font-size:11px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.06em}.date-value{font-size:15px;font-weight:600;color:#1d1d1f;letter-spacing:-.01em}.progress-group .date-value{font-size:20px;font-weight:700}.status-completed .progress-group .date-value{color:#34c759}.status-overdue .progress-group .date-value{color:#ff3b30}.status-in-progress .progress-group .date-value{color:#007aff}.progress-container{margin:8px 0 4px}.readiness-item-apple:hover .progress-glow{opacity:.5;box-shadow:0 0 12px currentColor}.status-completed .progress-indicator{background:linear-gradient(90deg,#34c759,#30d158)}.status-overdue .progress-indicator{background:linear-gradient(90deg,#ff3b30,#ff453a)}.status-in-progress .progress-indicator{background:linear-gradient(90deg,#007aff,#0a84ff)}.item-footer{padding-top:8px;border-top:1px solid #f5f5f7}.status-text{font-size:13px;font-weight:500;color:#86868b;display:flex;align-items:center;gap:6px}.status-completed .status-text{color:#34c759}.status-overdue .status-text{color:#ff3b30}.delay-badge{margin-left:8px;padding:3px 8px;background:#ff3b3026;color:#ff3b30;border-radius:5px;font-size:12px;font-weight:600;white-space:nowrap}@media (max-width: 768px){.timelines-container{padding:1rem}.timelines-header{margin-bottom:2rem}.timelines-header h1{font-size:1.5rem}.timeline-section{padding:1.25rem;margin-bottom:1.5rem}.section-header h2{font-size:1.25rem}.month-header{padding:.5rem .875rem;flex-direction:column;align-items:flex-start;gap:.375rem}.cashflow-item{padding:.5rem .875rem}.cashflow-top-line{flex-direction:column;align-items:flex-start;gap:.25rem}.cashflow-due-date{font-size:.75rem}.cashflow-budget-line{flex-wrap:wrap;gap:.5rem}.readiness-item{padding:.625rem .875rem}.readiness-title-line{flex-direction:column;align-items:flex-start;gap:.5rem}.readiness-status,.time-budget{flex-wrap:wrap}.timeline-dates-inline{font-size:.75rem}.timeline-dates{flex-direction:column;gap:.25rem}.segmented-control{width:100%;margin-left:0;margin-right:0}.segment{flex:1;justify-content:center;padding:10px 12px;font-size:13px}.segment svg{display:none}.section-header-flex{flex-direction:column;gap:1.5rem}.total-cash-card,.total-count-card{width:100%;text-align:center}.item-content{padding:16px 20px;gap:14px}.item-address{font-size:15px}.timeline-dates-grid{grid-template-columns:1fr 1fr;gap:16px}.date-value{font-size:14px}.progress-group .date-value{font-size:18px}.item-header{flex-direction:column;gap:10px}.item-meta{align-self:flex-start}}.contractor-filter-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--light-gray, #f5f5f5);border-radius:12px}.filter-label{font-size:.875rem;font-weight:600;color:var(--text, #2c2c2c);white-space:nowrap}.contractor-select{flex:1;max-width:400px;padding:.5rem .875rem;font-size:.875rem;border:1px solid var(--border, #d1d5db);border-radius:8px;background-color:#fff;color:var(--text, #2c2c2c);cursor:pointer;transition:all .2s}.contractor-select:hover{border-color:var(--accent, #DD4132)}.contractor-select:focus{outline:none;border-color:var(--accent, #DD4132);box-shadow:0 0 0 3px #dd41321a}@media (max-width: 768px){.contractor-filter-row{flex-direction:column;align-items:stretch;gap:.75rem}.contractor-select{max-width:100%}}.sold-history-section{margin-top:3rem;border-top:2px solid var(--border, #d1d5db);padding-top:2rem}.section-header-with-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.toggle-history-button{padding:.625rem 1.25rem;background:#fff;border:1.5px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;font-weight:600;color:var(--text, #2c2c2c);cursor:pointer;transition:all .2s}.toggle-history-button:hover{border-color:var(--accent, #DD4132);color:var(--accent, #DD4132);background:#dd41320d}.sold-apartments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.sold-apartment-card{background:#fff;border:1px solid var(--border, #d1d5db);border-radius:12px;padding:1.5rem;transition:all .2s}.sold-apartment-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--accent, #DD4132)}.sold-card-header{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border, #d1d5db)}.sold-address{font-size:1rem;font-weight:600;color:var(--text, #2c2c2c);margin:0;flex:1}.sold-contractor-badge{display:inline-block;padding:.25rem .75rem;background:var(--light-gray, #f5f5f5);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--muted-text, #666);white-space:nowrap}.sold-dates{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem;background:var(--light-gray, #f5f5f5);border-radius:8px}.sold-date-item{display:flex;flex-direction:column;gap:.25rem;flex:1}.date-label{font-size:.75rem;font-weight:500;color:var(--muted-text, #666);text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.875rem;font-weight:600;color:var(--text, #2c2c2c)}.date-arrow{font-size:1.25rem;color:var(--muted-text, #666);flex-shrink:0}.payment-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.payment-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.payment-row:last-child{border-bottom:none}.payment-label{font-size:.875rem;color:var(--muted-text, #666)}.payment-value{font-size:.9375rem;font-weight:600;color:var(--text, #2c2c2c)}.variance-row{padding:.75rem;border-radius:6px;margin-top:.5rem;border:none}.variance-row.overpaid{background:#ff3b301a}.variance-row.underpaid{background:#34c7591a}.variance-row.on-budget{background:#007aff1a}.variance-value{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.variance-row.overpaid .variance-value{color:#ff3b30}.variance-row.underpaid .variance-value{color:#34c759}.variance-row.on-budget .variance-value{color:#007aff}.variance-percent{font-size:.8125rem;font-weight:600;opacity:.8}.variance-badge{padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;text-align:center}.variance-badge.overpaid{background:#ff3b3026;color:#ff3b30}.variance-badge.underpaid{background:#34c75926;color:#34c759}.variance-badge.on-budget{background:#007aff26;color:#007aff}@media (max-width: 768px){.section-header-with-toggle{flex-direction:column;align-items:stretch;gap:1rem}.toggle-history-button{width:100%}.sold-apartments-grid{grid-template-columns:1fr}.sold-dates{flex-direction:column;gap:.75rem}.date-arrow{transform:rotate(90deg)}}.targets-container{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.targets-header{margin-bottom:2rem}.targets-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.targets-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.targets-container .segmented-control{width:fit-content;margin-bottom:var(--space-xl)}.targets-container .section-header{margin-bottom:var(--space-xl)}.targets-container .section-header h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .25rem;letter-spacing:-.01em}.targets-container .section-header p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:2rem}.target-card{position:relative;display:flex;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1)}.target-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.target-accent{width:4px;flex-shrink:0;transition:width .2s ease}.target-card.success .target-accent{background:linear-gradient(180deg,#34c759,#30d158)}.target-card.warning .target-accent{background:linear-gradient(180deg,#ff9500,#ff9f0a)}.target-card.danger .target-accent{background:linear-gradient(180deg,#ff3b30,#ff453a)}.target-card:hover .target-accent{width:6px}.target-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:16px}.target-header{display:flex;align-items:center;gap:12px}.target-icon{font-size:24px}.target-header h3{font-size:17px;font-weight:600;color:#1d1d1f;margin:0;letter-spacing:-.01em}.target-value{font-size:36px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em;line-height:1}.target-goal{font-size:24px;font-weight:500;color:#86868b}.target-progress{margin:8px 0}.progress-track{height:8px;background:#f5f5f7;border-radius:10px;overflow:visible;position:relative}.progress-indicator{height:100%;border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible}.target-card.success .progress-indicator{background:linear-gradient(90deg,#34c759,#30d158)}.target-card.warning .progress-indicator{background:linear-gradient(90deg,#ff9500,#ff9f0a)}.target-card.danger .progress-indicator{background:linear-gradient(90deg,#ff3b30,#ff453a)}.progress-glow{position:absolute;top:0;right:0;width:100%;height:100%;border-radius:10px;opacity:0;transition:opacity .3s ease}.target-card:hover .progress-glow{opacity:.5;box-shadow:0 0 12px currentColor}.target-percent{font-size:20px;font-weight:700;color:#1d1d1f;letter-spacing:-.01em}.target-card.success .target-percent{color:#34c759}.target-card.warning .target-percent{color:#ff9500}.target-card.danger .target-percent{color:#ff3b30}.target-details{margin-top:8px;padding-top:16px;border-top:1px solid #f5f5f7;display:flex;flex-direction:column;gap:8px}.detail-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}.detail-address{color:#1d1d1f;font-weight:500;flex:1}.detail-date{color:#86868b;font-weight:400;margin-left:12px}.historical-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.month-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1)}.month-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.month-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:16px}.month-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.month-card-header h3{font-size:17px;font-weight:600;color:#1d1d1f;margin:0;letter-spacing:-.01em}.owned-badge{font-size:12px;font-weight:600;color:#6e6e73;background:#f5f5f7;padding:4px 10px;border-radius:6px;white-space:nowrap}.owned-badge-inline{font-size:14px;font-weight:500;color:#6e6e73;margin-left:12px}.projected-badge{font-size:11px;font-weight:600;color:#5856d6;background:#5856d61f;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.projected-badge-inline{font-size:12px;font-weight:600;color:#5856d6;background:#5856d61f;padding:3px 10px;border-radius:5px;margin-left:10px;text-transform:uppercase;letter-spacing:.03em}.month-card.future-month,.month-detail-card.future-month{border:2px dashed #5856d6;background:linear-gradient(135deg,#fafbff,#f5f5ff)}.month-stats{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.targets-stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f5f5f7;border-radius:8px}.stat-label{font-size:14px;font-weight:500;color:#1d1d1f}.targets-container .stat-value{font-size:14px;font-weight:700;padding:4px 10px;border-radius:6px}.targets-container .stat-value.success{background:#34c75926;color:#34c759}.targets-container .stat-value.warning{background:#ff950026;color:#ff9500}.targets-container .stat-value.danger{background:#ff3b3026;color:#ff3b30}.month-card-footer{padding-top:12px;border-top:1px solid #f5f5f7}.overall-status{display:flex;justify-content:center}.status-badge{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;text-align:center}.status-badge.targets-4{background:#34c759;color:#fff}.status-badge.targets-3{background:#34c75926;color:#248a3d}.status-badge.targets-2,.status-badge.targets-1{background:#ff950026;color:#cc7a00}.status-badge.targets-0{background:#ff3b3026;color:#ff3b30}.status-badge.success{background:#34c759;color:#fff}.status-badge.partial{background:#f5f5f7;color:#86868b}.all-data-section{display:flex;flex-direction:column;gap:20px}.month-detail-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1)}.month-detail-card:hover{box-shadow:0 4px 16px #00000014}.month-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.month-detail-header h3{font-size:20px;font-weight:600;color:#1d1d1f;margin:0;letter-spacing:-.01em}.month-summary{display:flex;gap:8px;flex-wrap:wrap}.summary-badge{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600}.summary-badge.success{background:#34c75926;color:#34c759}.summary-badge.warning{background:#ff950026;color:#ff9500}.summary-badge.danger{background:#ff3b3026;color:#ff3b30}.month-detail-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.detail-section h4{font-size:15px;font-weight:600;color:#1d1d1f;margin:0 0 12px;letter-spacing:-.01em}.detail-list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f5f7;border-radius:8px;font-size:13px;transition:background .15s ease}.list-item:hover{background:#e5e5e7}.item-date{color:#86868b;font-weight:500;margin-left:12px;white-space:nowrap}.stat-values{display:flex;align-items:center;gap:8px}.stat-scheduled{font-size:12px;font-weight:500;color:#007aff;font-style:italic}.scheduled-indicator{font-weight:500;opacity:.7;font-style:italic}.scheduled-header{font-size:13px;font-weight:600;color:#86868b;margin:12px 0 8px;font-style:italic}.scheduled-list .list-item{background:#f0f7ff;border-left:3px solid #007aff}.scheduled-list .list-item:hover{background:#e5f0fa}.list-item.scheduled{background:#f0f7ff;border-left:3px solid #007aff;color:#555;font-style:italic}.list-item.scheduled:hover{background:#e5f0fa}.list-item.scheduled .item-date{color:#007aff}.sync-indicator{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;border-radius:12px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideInUp .3s ease}.sync-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.sync-toast{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:#fff;color:#1d1d1f;border-radius:12px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1001;animation:slideInUp .3s ease}.sync-toast svg{flex-shrink:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.targets-container{padding:1rem}.targets-header h1{font-size:1.5rem}.segmented-control{width:100%;justify-content:stretch}.segment{flex:1;padding:8px 12px;font-size:.85rem}.targets-grid{grid-template-columns:1fr;gap:16px}.target-content{padding:20px}.target-value{font-size:32px}.historical-grid{grid-template-columns:1fr}.month-detail-header{flex-direction:column;align-items:flex-start}.month-detail-body{grid-template-columns:1fr}.sync-indicator,.sync-toast{left:1rem;right:1rem;bottom:1rem}}.stats-section{display:flex;flex-direction:column;gap:24px;margin-top:.5rem}.stats-block{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1)}.stats-block:hover{box-shadow:0 4px 16px #00000014}.stats-block-header{margin-bottom:20px}.stats-block-header h3{font-size:17px;font-weight:600;color:#1d1d1f;margin:0 0 4px;letter-spacing:-.01em}.stats-block-description{font-size:14px;color:#86868b;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#f5f5f7;border-radius:12px;padding:20px;text-align:center;transition:all .2s ease}.stat-card:hover{background:#e5e5e7}.stat-card-label{font-size:12px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-card-value{font-size:36px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em;line-height:1;margin-bottom:4px}.stat-card-comparison{font-size:13px;color:#86868b;margin-bottom:8px}.stat-card-change{display:inline-block;font-size:14px;font-weight:700;padding:4px 10px;border-radius:6px}.stat-card-change.positive{background:#34c75926;color:#34c759}.stat-card-change.negative{background:#ff3b3026;color:#ff3b30}.stat-card-change.neutral{background:#f5f5f7;color:#86868b}.projection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.projection-card{background:#f5f5f7;border-radius:12px;padding:20px}.projection-card.projected{border:2px dashed #5856d6;background:linear-gradient(135deg,#fafbff,#f5f5ff)}.projection-card h4{font-size:14px;font-weight:600;color:#1d1d1f;margin:0 0 12px;display:flex;align-items:center;gap:8px}.projection-badge{font-size:11px;font-weight:600;color:#5856d6;background:#5856d61f;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.projection-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.projection-metric{display:flex;justify-content:space-between;font-size:14px}.projection-metric-label{color:#86868b}.projection-metric-value{font-weight:600;color:#1d1d1f}.year-progress{margin-top:16px}.year-progress-label{display:flex;justify-content:space-between;font-size:13px;color:#86868b;margin-bottom:8px}.year-progress-track{height:8px;background:#f5f5f7;border-radius:10px;overflow:hidden}.year-progress-fill{height:100%;background:linear-gradient(90deg,#5856d6,#af52de);border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1)}.year-progress-status{margin-top:12px;text-align:center}.progress-status-badge{display:inline-block;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600}.progress-status-badge.on-track{background:#34c75926;color:#34c759}.progress-status-badge.behind{background:#ff950026;color:#ff9500}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portfolio-card{background:#f5f5f7;border-radius:12px;padding:20px;text-align:center}.portfolio-card-value{font-size:32px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em;margin-bottom:4px}.portfolio-card-label{font-size:13px;color:#86868b;font-weight:500}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.projection-grid,.portfolio-grid{grid-template-columns:1fr}.stat-card-value{font-size:28px}.stats-block{padding:20px}}.viewings-page-container{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.viewings-header{margin-bottom:2rem}.viewings-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.viewings-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.viewings-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.viewings-controls-left{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem;flex-wrap:nowrap}.viewings-page-container .segmented-control{margin:0}.viewings-count-badge{display:inline-flex;align-items:center;padding:6px var(--space-md);background:var(--color-badge-info-bg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-info)}.viewings-filter select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);min-width:200px}.viewings-filter select:hover{border-color:var(--color-accent)}.viewings-filter select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.section-header{margin-bottom:1rem}.section-header h2{font-size:1.25rem;font-weight:600;color:#1d1d1f;margin:0;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.section-count{font-size:.875rem;font-weight:500;color:#007aff;background:#007aff1a;padding:2px 8px;border-radius:6px}.viewings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:2rem}.viewing-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:16px}.viewing-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.viewing-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.viewing-datetime{display:flex;align-items:center;gap:8px}.datetime-icon{font-size:1.25rem}.datetime-text{font-size:1rem;font-weight:600;color:#1d1d1f}.viewing-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-confirmed{background:#34c75926;color:#34c759}.badge-cancelled{background:#ff3b3026;color:#ff3b30}.badge-tentative{background:#ff950026;color:#ff9500}.badge-default{background:#f5f5f7;color:#86868b}.badge-zcal{background:#007aff1a;color:#007aff}.badge-manual{background:#5856d61f;color:#5856d6}.badge-other{background:#f5f5f7;color:#86868b}.viewing-card-body{display:flex;flex-direction:column;gap:12px}.viewing-apartment{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f5f5f7;border-radius:8px;flex-wrap:wrap}.viewing-apartment .label{font-size:.8rem;font-weight:600;color:#86868b}.apartment-link{color:#007aff;text-decoration:none;font-weight:500;font-size:.9rem;transition:color .2s ease}.apartment-link:hover{color:#0051d5;text-decoration:underline}.apartment-area{font-size:.85rem;color:#86868b;font-style:italic}.no-match{color:#ff3b30;font-weight:500;font-size:.9rem}.viewing-client-info{display:flex;flex-direction:column;gap:6px}.client-row{display:flex;align-items:baseline;gap:8px;font-size:.875rem}.client-label{color:#86868b;font-weight:500;flex-shrink:0}.client-value{color:#1d1d1f;font-weight:400}.client-link{color:#007aff;text-decoration:none;transition:color .2s ease}.client-link:hover{color:#0051d5;text-decoration:underline}.viewing-title{font-size:.9rem;color:#86868b;line-height:1.5;padding-top:8px;border-top:1px solid #f5f5f7}.viewing-notes{padding-top:12px;border-top:1px solid #f5f5f7}.viewing-notes .label{font-size:.8rem;font-weight:600;color:#86868b;margin-bottom:4px}.viewing-notes p{font-size:.875rem;color:#1d1d1f;line-height:1.5;margin:0}.viewing-card-footer{padding-top:12px;border-top:1px solid #f5f5f7}.attendee-status{font-size:.8rem;color:#86868b;font-style:italic}.loading,.empty-state{text-align:center;padding:4rem 2rem;color:#86868b;font-size:1rem}.viewings-group{margin-bottom:2rem}@media (max-width: 768px){.viewings-page-container{padding:1rem}.viewings-header h1{font-size:1.5rem}.viewings-controls,.viewings-controls-left{flex-direction:column;align-items:stretch;gap:.75rem}.segmented-control{width:100%;justify-content:stretch}.segment{flex:1;padding:8px 12px;font-size:.85rem;text-align:center}.viewings-count-badge{text-align:center;justify-content:center}.viewings-filter{width:100%}.viewings-filter select{width:100%;min-width:0;font-size:16px}.viewings-grid{grid-template-columns:1fr;gap:12px}.viewing-card{padding:16px}.viewing-card-header{flex-direction:column;gap:8px}.section-header h2{font-size:1.125rem}}.ef-field{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;transition:background .15s ease;cursor:pointer}.ef-field:hover:not(.ef-disabled){background:#00000005}.ef-field.ef-disabled{cursor:default}.ef-label{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.ef-display{display:flex;align-items:center;gap:8px;min-height:24px}.ef-value{font-size:14px;color:#1d1d1f;font-weight:500}.ef-value.ef-placeholder{color:#d1d5db;font-weight:400}.ef-pencil{opacity:0;color:#9ca3af;transition:opacity .15s ease;flex-shrink:0}.ef-field:hover .ef-pencil{opacity:1}.ef-edit-wrapper{position:relative;display:flex;align-items:center}.ef-input{width:100%;padding:6px 10px;font-size:14px;font-weight:500;color:#1d1d1f;border:1.5px solid #007aff;border-radius:8px;background:#fff;outline:none;box-shadow:0 0 0 3px #007aff1a;box-sizing:border-box}.ef-input:disabled{opacity:.6}select.ef-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.ef-spinner{position:absolute;right:8px;width:14px;height:14px;border:2px solid rgba(0,0,0,.1);border-top-color:#007aff;border-radius:50%;animation:efSpin .6s linear infinite}@keyframes efSpin{to{transform:rotate(360deg)}}.ef-label.ef-required:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#ef4444;margin-right:4px;vertical-align:middle;position:relative;top:-1px}.bk-card{background:#f9fafb;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:16px;transition:all .15s ease}.bk-card-active{background:#fff;border-color:#007aff26;box-shadow:0 1px 4px #0000000a}.bk-card-voided{opacity:.7}.bk-card-completed{background:#f0fdf4;border-color:#22c55e26}.bk-card-compact{padding:12px}.bk-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;flex-wrap:wrap}.bk-card-header-left{display:flex;align-items:center;gap:6px}.bk-card-header-right{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.bk-date-separator:before{content:""}.bk-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.01em}.bk-badge-active{background:#007aff1a;color:#007aff}.bk-badge-completed{background:#22c55e1a;color:#16a34a}.bk-badge-voided{background:#ef44441a;color:#dc2626}.bk-expired-badge{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;background:#ef44441a;color:#dc2626}.bk-expiring-badge{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;background:#f59e0b1a;color:#d97706}.bk-apartment-link{margin-bottom:10px}.bk-apartment-link a{font-size:13px;font-weight:500;color:#2563eb;text-decoration:none}.bk-apartment-link a:hover{text-decoration:underline}.bk-card-body{display:flex;flex-direction:column;gap:10px}.bk-buyer-info{display:flex;flex-direction:column;gap:4px}.bk-buyer-details{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.bk-buyer-name{font-size:14px;font-weight:600;color:#1d1d1f}.bk-buyer-id{font-size:12px;color:#6b7280;font-family:monospace}.bk-buyer-contact{font-size:12px;color:#6b7280}.bk-no-buyer{font-size:13px;color:#9ca3af;font-style:italic}.bk-field-label{font-size:11px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.bk-field{display:flex;flex-direction:column;gap:2px}.bk-field-value{font-size:13px;color:#1d1d1f}.bk-deposit-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.bk-contract-section{display:flex;flex-direction:column;gap:6px}.bk-contract-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bk-doc-link{font-size:11px;color:#2563eb;text-decoration:underline}.bk-signed-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:#16a34a}.bk-steps{display:flex;flex-direction:column;gap:0;margin-top:4px}.bk-steps>.bk-field-label{margin-bottom:8px}.bk-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;position:relative}.bk-step:not(:last-child):after{content:"";position:absolute;left:11px;top:30px;bottom:-8px;width:1px;background:#00000014}.bk-step-completed:not(:last-child):after{background:#22c55e4d}.bk-step-indicator{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;position:relative;z-index:1}.bk-step-completed .bk-step-indicator{background:#22c55e1f;color:#16a34a}.bk-step-active .bk-step-indicator{background:#007aff1f;color:#007aff}.bk-step-pending .bk-step-indicator{background:#0000000a;color:#9ca3af}.bk-step-content{display:flex;flex-direction:column;gap:4px;min-height:22px;justify-content:center;flex:1}.bk-step-label{font-size:12px;font-weight:500;color:#1d1d1f}.bk-step-pending .bk-step-label{color:#9ca3af}.bk-step-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bk-step-btn{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:500;color:#007aff;background:#007aff0f;border:1px solid rgba(0,122,255,.15);border-radius:5px;cursor:pointer;transition:all .15s ease}.bk-step-btn:hover:not(:disabled){background:#007aff1f}.bk-step-btn:disabled{opacity:.5;cursor:not-allowed}.bk-step-done{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#16a34a}.bk-step-done-inline{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:#16a34a}.bk-step-meta{font-size:11px;color:#6b7280;font-weight:400}.bk-lang-select{padding:2px 6px;font-size:11px;border:1px solid rgba(0,0,0,.1);border-radius:4px;background:#f9fafb;color:#1d1d1f;cursor:pointer}.bk-void-reason{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#ef44440a;border-radius:6px}.bk-void-reason-text{font-size:13px;color:#6b7280}.bk-card-actions{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bk-btn-complete{padding:6px 14px;font-size:12px;font-weight:500;color:#16a34a;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.bk-btn-complete:hover{background:#22c55e26}.bk-btn-void{padding:6px 14px;font-size:12px;font-weight:500;color:#dc2626;background:#ef44440f;border:1px solid rgba(239,68,68,.15);border-radius:6px;cursor:pointer;transition:all .15s ease}.bk-btn-void:hover{background:#ef44441f}.bk-void-confirm{width:100%;display:flex;flex-direction:column;gap:10px}.bk-void-confirm-fields{display:flex;gap:10px;flex-wrap:wrap}.bk-void-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:160px}.bk-void-field label{font-size:11px;font-weight:500;color:#6b7280}.bk-void-field input,.bk-void-field select{padding:6px 10px;font-size:13px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#f9fafb;color:#1d1d1f}.bk-void-field input:focus,.bk-void-field select:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 2px #dc26261a}.bk-void-confirm-actions{display:flex;gap:8px}.bk-btn-void-confirm{padding:6px 14px;font-size:12px;font-weight:600;color:#fff;background:#dc2626;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.bk-btn-void-confirm:hover{background:#b91c1c}.bk-btn-cancel{padding:6px 14px;font-size:12px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.bk-btn-cancel:hover{background:#e5e7eb;color:#1d1d1f}@media (max-width: 600px){.bk-card-header{flex-direction:column;align-items:flex-start}.bk-deposit-row{grid-template-columns:1fr}.bk-void-confirm-fields{flex-direction:column}}.cbm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:odmOverlayFadeIn .2s ease}.cbm-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:odmModalSlideIn .25s ease}.cbm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.cbm-header h2{font-size:18px;font-weight:600;color:#1d1d1f;margin:0}.cbm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000f;border:none;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s ease}.cbm-close:hover{background:#0000001a;color:#1d1d1f}.cbm-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.cbm-form-group{display:flex;flex-direction:column;gap:6px}.cbm-form-group label{font-size:12px;font-weight:500;color:#6b7280}.cbm-form-group input:not(.cp-search-input):not(.cp-create-input),.cbm-form-group select{width:100%;padding:10px 12px;font-size:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f9fafb;color:#1d1d1f;transition:all .15s ease;box-sizing:border-box}.cbm-form-group input:not(.cp-search-input):not(.cp-create-input):focus,.cbm-form-group select:focus{outline:none;border-color:#007aff;background:#fff;box-shadow:0 0 0 3px #007aff1a}.cbm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cbm-error{padding:10px 14px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:13px;color:#dc2626}.cbm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.cbm-btn-secondary{padding:10px 20px;font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.cbm-btn-secondary:hover{background:#e5e7eb;color:#1d1d1f}.cbm-btn-primary{padding:10px 20px;font-size:13px;font-weight:500;color:#fff;background:#007aff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.cbm-btn-primary:hover{background:#0066d6}.cbm-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.cbm-overlay{padding:0;align-items:flex-end}.cbm-modal{max-width:none;border-radius:16px 16px 0 0}.cbm-form-row{grid-template-columns:1fr}.cbm-actions{flex-direction:column-reverse;gap:10px}.cbm-btn-secondary,.cbm-btn-primary{width:100%;text-align:center}}.email-compose-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.email-compose-modal.open{display:flex;align-items:center;justify-content:center;background:#00000080}.email-compose-modal .email-modal-content{position:relative;z-index:1;background:#fff;border-radius:12px;max-width:720px;max-height:85vh;width:90%;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;color:#1d1d1f}.email-compose-modal .email-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5ea}.email-compose-modal .email-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1d1d1f}.email-compose-modal .email-close-btn{background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:#86868b;padding:0;width:32px;height:32px;transition:color .2s}.email-compose-modal .email-close-btn:hover{color:#1d1d1f}.email-compose-modal .email-modal-body{padding:24px;overflow-y:auto;flex:1}.email-field{display:flex;align-items:center;margin-bottom:12px;gap:12px}.email-field label{font-size:13px;font-weight:600;color:#86868b;min-width:60px;text-align:right}.email-field input{flex:1;padding:8px 12px;border:1px solid #d2d2d7;border-radius:6px;font-size:14px;color:#1d1d1f;background:#fff;outline:none;transition:border-color .2s}.email-field input:focus{border-color:#007aff}.email-field input[readonly]{background:#f5f5f7;color:#86868b;cursor:default}.email-field .from-display{flex:1;padding:8px 12px;font-size:14px;color:#86868b;background:#f5f5f7;border-radius:6px;border:1px solid #e5e5ea}.email-body-label{font-size:13px;font-weight:600;color:#86868b;margin-bottom:8px;display:block}.email-body-editor{width:100%;min-height:300px;max-height:50vh;overflow-y:auto;padding:12px;border:1px solid #d2d2d7;border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;line-height:1.5;color:#1d1d1f;background:#fff;outline:none;transition:border-color .2s;box-sizing:border-box}.email-body-editor:focus{border-color:#007aff}.email-body-editor img{max-width:200px;height:auto}.email-body-editor .inline-field{display:inline;background:#fff3cd;border:1px dashed #f0ad4e;border-radius:3px;padding:1px 6px;cursor:pointer;color:#856404;font-weight:500;transition:background .15s,border-color .15s;min-width:40px;text-align:center}.email-body-editor .inline-field:hover{background:#ffe69c;border-color:#e09b3d}.email-body-editor .inline-field.filled{background:#d4edda;border-color:#28a745;color:#155724;border-style:solid}.email-body-editor .inline-field.filled:hover{background:#c3e6cb}.inline-dropdown{position:absolute;z-index:100;background:#fff;border:1px solid #d2d2d7;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:200px;max-height:200px;overflow-y:auto;padding:4px 0}.inline-dropdown-option{padding:8px 14px;font-size:14px;color:#1d1d1f;cursor:pointer;transition:background .1s}.inline-dropdown-option:hover{background:#f0f0f5}.email-attachments{margin-top:12px}.email-attachments-label{font-size:13px;font-weight:500;color:#86868b;display:block;margin-bottom:6px}.email-attachment-pills{display:flex;flex-wrap:wrap;gap:6px}.email-attachment-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f0f0f5;border:1px solid #e5e5ea;border-radius:6px;font-size:12px;color:#1d1d1f}.email-attachment-icon{font-size:14px}.email-attachment-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-attachment-remove{background:none;border:none;cursor:pointer;font-size:14px;color:#86868b;padding:0 2px;line-height:1;border-radius:3px}.email-attachment-remove:hover{color:#ff3b30;background:#ff3b301a}.email-add-attachment-btn{background:none;border:1px dashed #c7c7cc;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;color:#007aff;cursor:pointer;transition:background .15s,border-color .15s}.email-add-attachment-btn:hover{background:#007aff0f;border-color:#007aff}.email-reattach-btn{background:none;border:1px dashed #c7c7cc;border-radius:6px;padding:6px 12px;font-size:12px;color:#007aff;cursor:pointer;transition:background .15s,border-color .15s}.email-reattach-btn:hover{background:#007aff0f;border-color:#007aff}.email-compose-modal .email-modal-footer{padding:16px 24px;border-top:1px solid #e5e5ea;display:flex;justify-content:space-between;align-items:center;gap:12px}.email-test-notice{font-size:12px;color:#ff9500;font-weight:500;flex:1}.email-modal-actions{display:flex;gap:8px}.email-cancel-btn{padding:8px 16px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:#1d1d1f;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.email-cancel-btn:hover{background:#f5f5f7}.email-send-btn{padding:8px 20px;border:none;border-radius:8px;background:#007aff;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.email-send-btn:hover{opacity:.85}.email-send-btn:disabled{opacity:.5;cursor:not-allowed}.email-success-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.email-success-message .success-icon{width:40px;height:40px;line-height:40px;font-size:20px;margin-bottom:16px;background:#34c759;color:#fff;border-radius:50%;text-align:center}.email-success-message h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#34c759}.email-success-message p{margin:0;font-size:14px;color:#86868b}@media (max-width: 768px){.email-compose-modal .email-modal-content{width:95%;max-height:90vh}.email-field{flex-direction:column;align-items:flex-start;gap:4px}.email-field label{text-align:left;min-width:auto}.email-field input,.email-field .from-display{width:100%}.email-compose-modal .email-modal-footer{flex-direction:column}.email-modal-actions{width:100%}.email-cancel-btn,.email-send-btn{flex:1}}.bookings-page-container{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.bookings-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;gap:16px}.bookings-header-left h1{font-size:var(--font-size-h1, 28px);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1d1d1f);margin:0 0 .25rem;letter-spacing:-.02em}.bookings-subtitle{font-size:var(--font-size-base, 14px);color:var(--color-text-secondary, #6b7280);margin:0}.bookings-create-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-accent, #dd4132);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.bookings-create-btn:hover{background:var(--color-accent-hover, #c73828);transform:translateY(-1px);box-shadow:0 4px 8px #dd413240}.bookings-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.bookings-page-container .segmented-control{margin:0}.bookings-search input{padding:8px 14px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:8px;font-size:13px;background:#f5f5f7;color:var(--color-text-primary, #1d1d1f);min-width:220px;transition:all .15s ease}.bookings-search input::placeholder{color:var(--color-text-secondary, #6b7280)}.bookings-search input:focus{outline:none;background:#fff;border-color:var(--color-accent, #dd4132);box-shadow:0 0 0 3px #dd41321a}.bookings-list{display:flex;flex-direction:column;gap:12px}.bookings-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:64px 24px;color:#6b7280;font-size:14px}.bookings-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#007aff;border-radius:50%;animation:bookingsSpin .8s linear infinite}@keyframes bookingsSpin{to{transform:rotate(360deg)}}.bookings-empty{text-align:center;padding:64px 24px;color:#9ca3af;font-size:14px}@media (max-width: 768px){.bookings-page-container{padding:1rem}.bookings-header{flex-direction:column}.bookings-controls{flex-direction:column;align-items:stretch}.bookings-search input{min-width:0;width:100%}}.timeline-filters{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.timeline-filter{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) .875rem;background:var(--color-bg-tertiary);border:1.5px solid transparent;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-normal)}.timeline-filter:hover{background:#0000000f;color:var(--color-text-primary)}.timeline-filter.active{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.filter-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.timeline-chart-svg{width:100%;display:block}.chart-grid-line{stroke:var(--color-border);stroke-width:1}.chart-price-line{fill:none;stroke:var(--color-accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-axis-label{font-size:11px;fill:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.chart-axis-label.viewings-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px}.chart-hover-line{stroke-width:1;stroke-dasharray:4 4;opacity:.5}.event-marker-circle{transition:all var(--transition-fast)}.event-marker.hovered .event-marker-circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.event-marker-icon{pointer-events:none;-webkit-user-select:none;user-select:none}.event-tooltip rect{filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.cluster-marker-circle{transition:all var(--transition-fast)}.cluster-marker.hovered .cluster-marker-circle{filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}.cluster-badge{transition:all var(--transition-fast);stroke:#fff;stroke-width:1.5}.cluster-marker.hovered .cluster-badge{stroke-width:2}.cluster-tooltip rect{filter:drop-shadow(0 4px 16px rgba(0,0,0,.25))}.timeline-legend{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.legend-marker{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;flex-shrink:0}.timeline-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-2xl);text-align:center}.timeline-chart-empty svg{color:var(--color-text-secondary);opacity:.3;margin-bottom:var(--space-lg)}.timeline-chart-empty p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.price-chart-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border)}.price-chart-svg{width:100%;height:auto;max-height:200px}.chart-area{opacity:1}.chart-line{fill:none;stroke:var(--color-accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--color-accent);stroke:#fff;stroke-width:2;cursor:pointer;transition:all var(--transition-fast)}.chart-point.active{fill:var(--color-accent-hover)}.chart-tooltip-line{stroke:var(--color-accent);stroke-width:1;stroke-dasharray:4 4;opacity:.5}.chart-tooltip-bg{fill:#000000e6;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.chart-tooltip-price{fill:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.chart-tooltip-date{fill:#ffffffb3;font-size:10px}.chart-legend{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-lg);padding-top:.75rem;border-top:1px solid var(--color-border)}.chart-legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.chart-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent)}.chart-legend-change{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.chart-legend-change.down{color:var(--color-success)}.chart-legend-change.up{color:var(--color-error)}.price-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-2xl);text-align:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.price-chart-empty svg{color:var(--color-text-secondary);opacity:.3;margin-bottom:var(--space-lg)}.price-chart-empty p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}@media (max-width: 768px){.timeline-chart-container,.price-chart-container{padding:var(--space-lg)}.timeline-filters{gap:var(--space-sm)}.timeline-filter{padding:var(--space-sm) .625rem;font-size:var(--font-size-xs)}.timeline-legend{gap:.75rem}.legend-item{font-size:var(--font-size-xxs)}.legend-marker{width:16px;height:16px;font-size:9px}}.status-stepper-wrapper{margin-bottom:2rem}.status-stepper{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:.5rem 0}.stepper-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:0}.stepper-connector{position:absolute;top:16px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:var(--color-border, #e5e7eb)}.stepper-connector.completed{background:#22c55e}.stepper-step{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border:2px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #fff);color:var(--color-text-secondary, #9ca3af);cursor:default;transition:all .2s ease;position:relative;z-index:1;padding:0}.stepper-step.past{background:#22c55e;border-color:#22c55e;color:#fff;cursor:pointer}.stepper-step.past:hover{background:#16a34a;border-color:#16a34a}.stepper-step.current{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 0 0 4px #2563eb26}.stepper-step.next{border-color:#2563eb;color:#2563eb;cursor:pointer;border-style:dashed}.stepper-step.next:hover{background:#2563eb14}.stepper-step.future{opacity:.4}.stepper-step.saving{opacity:.6;pointer-events:none}.stepper-step:disabled{cursor:default}.stepper-check{flex-shrink:0}.stepper-number{font-size:12px;line-height:1}.stepper-label{margin-top:6px;font-size:11px;font-weight:500;color:var(--color-text-secondary, #9ca3af);text-align:center;line-height:1.2;max-width:80px;word-wrap:break-word}.stepper-label.current{color:#2563eb;font-weight:600}.stepper-label.past{color:#22c55e}.stepper-validation-error{margin-top:.75rem;padding:.5rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;font-weight:500}@media (max-width: 640px){.stepper-label{font-size:10px;max-width:60px}.stepper-step{width:28px;height:28px;font-size:11px}.stepper-connector{top:14px;left:calc(50% + 16px);width:calc(100% - 32px)}}.editable-grid.bf-host-grid{grid-auto-flow:dense}.bf-search-wrapper{position:relative;display:flex;align-items:center}.bf-search-icon{position:absolute;left:8px;color:#9ca3af;pointer-events:none;z-index:1}.bf-search-input{width:100%;padding:6px 10px 6px 28px;font-size:14px;font-weight:500;color:#1d1d1f;border:1px solid #d1d5db;border-radius:8px;background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.bf-search-input:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.bf-search-input::placeholder{color:#9ca3af;font-weight:400}.bf-search-input:disabled{opacity:.6}.bf-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:50;max-height:240px;overflow-y:auto}.bf-result{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid #f3f4f6;background:none;cursor:pointer;text-align:left;font-size:13px;color:#111827;transition:background .1s ease}.bf-result:last-child{border-bottom:none}.bf-result:hover{background:#f3f4f6}.bf-result-row{display:flex;align-items:center;gap:8px}.bf-result-name{font-weight:500}.bf-result-type{font-size:10px;color:#6b7280;background:#f3f4f6;padding:1px 6px;border-radius:4px}.bf-result-meta{font-size:11px;color:#9ca3af}.bf-create-option{border-top:1px solid #e5e7eb;color:#2563eb}.bf-create-option .bf-result-name{color:#2563eb;font-weight:500}.bf-create-option svg{color:#2563eb;flex-shrink:0}.bf-create-option:hover{background:#2563eb0a}.bf-clear-x{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#d1d5db;cursor:pointer;padding:2px;border-radius:4px;flex-shrink:0;opacity:0;transition:all .15s ease}.ef-field:hover .bf-clear-x{opacity:1}.bf-clear-x:hover{color:#ef4444;background:#ef444414}.bf-clear-x:disabled{opacity:.3;cursor:not-allowed}.bf-name-clickable{cursor:pointer;flex:1}.bf-details{display:flex;flex-direction:column;gap:12px;padding:12px 12px 10px;background:#00000004;border-radius:8px}.bf-detail-grid{gap:8px 24px!important}.bf-toggle-row{display:flex;gap:0}.bf-toggle-btn{padding:5px 14px;font-size:12px;font-weight:500;border:1px solid #d1d5db;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease}.bf-toggle-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.bf-toggle-btn:last-child{border-radius:0 6px 6px 0}.bf-toggle-btn.bf-active{background:#007aff;border-color:#007aff;color:#fff}.bf-toggle-btn:not(.bf-active):hover{background:#f3f4f6;color:#374151}.bf-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.bf-actions{display:flex;align-items:center;gap:10px}.bf-done-btn{padding:5px 14px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.bf-done-btn:hover{background:#e5e7eb;color:#374151}.op-section{cursor:pointer;padding:10px 14px;border-radius:10px;transition:background .15s ease}.op-section:not(.op-editing):hover{background:var(--color-bg-tertiary, #f9fafb)}.op-disabled{cursor:default;opacity:.7}.op-editing{cursor:default;position:relative;background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #e5e7eb);padding:12px 14px}.op-display{display:flex;align-items:flex-start;gap:8px;position:relative}.op-display.op-empty{align-items:center}.op-display-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.op-placeholder{color:var(--color-text-secondary, #9ca3af);font-size:13px}.op-edit-icon{flex-shrink:0;color:var(--color-text-secondary, #9ca3af);opacity:0;transition:opacity .15s ease;margin-top:2px}.op-section:not(.op-editing):hover .op-edit-icon{opacity:1}.op-org-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #111827);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.op-org-reg{font-size:11px;font-weight:400;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-tertiary, #f3f4f6);padding:1px 6px;border-radius:4px}.op-detail-row{display:flex;align-items:center;gap:8px;font-size:13px}.op-detail-label{font-size:11px;font-weight:500;color:var(--color-text-secondary, #9ca3af);min-width:40px;flex-shrink:0}.op-detail-value{color:var(--color-text-secondary, #6b7280)}.op-detail-link{color:#2563eb;text-decoration:none;cursor:pointer}.op-detail-link:hover{text-decoration:underline}.op-chairmen-display{margin-top:4px;padding-top:4px;border-top:1px solid var(--color-border, #f3f4f6)}.op-chairmen-label{font-size:11px;font-weight:500;color:var(--color-text-secondary, #9ca3af);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.op-chairman-card{display:flex;flex-direction:column;gap:1px;padding:2px 0}.op-chairman-card+.op-chairman-card{margin-top:4px;padding-top:4px;border-top:1px dashed var(--color-border, #f3f4f6)}.op-chairman-name{font-size:13px;font-weight:500;color:var(--color-text-primary, #374151)}.op-chairman-detail{font-size:12px;color:var(--color-text-secondary, #6b7280)}.op-chairman-link{font-size:12px;color:#2563eb;text-decoration:none;cursor:pointer}.op-chairman-link:hover{text-decoration:underline}.op-org-meta{font-size:12px;color:var(--color-text-secondary, #6b7280);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.op-meta-sep{color:var(--color-border, #d1d5db)}.op-selected{margin-bottom:8px}.op-selected-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.op-selected-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #111827);display:flex;align-items:center;gap:8px}.op-selected-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.op-btn-icon{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary, #9ca3af);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.op-btn-icon:hover{color:#2563eb;background:#2563eb14}.op-btn-remove:hover{color:#ef4444;background:#ef444414}.op-chairmen-section{margin-top:8px;border-top:1px solid var(--color-border, #f3f4f6);padding-top:8px}.op-edit-form{margin-top:8px;padding:10px 12px;border:1px solid #2563eb;border-radius:8px;background:#2563eb05}.op-edit-fields{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.op-edit-field{display:flex;align-items:center;gap:8px}.op-edit-label{font-size:11px;font-weight:500;color:var(--color-text-secondary, #6b7280);min-width:52px;flex-shrink:0}.op-input{flex:1;padding:6px 10px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:13px;background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #111827);outline:none;box-sizing:border-box}.op-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.op-error{font-size:12px;color:#ef4444;margin-bottom:8px}.op-form-actions{display:flex;gap:8px}.op-btn-save{padding:5px 14px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.op-btn-save:hover:not(:disabled){background:#1d4ed8}.op-btn-save:disabled{opacity:.6;cursor:not-allowed}.op-btn-cancel{padding:5px 14px;background:var(--color-bg-tertiary, #f3f4f6);border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.op-btn-cancel:hover{background:var(--color-border, #e5e7eb);color:var(--color-text-primary, #374151)}.op-search-wrapper{position:relative;display:flex;align-items:center}.op-search-icon{position:absolute;left:8px;color:var(--color-text-secondary, #9ca3af);pointer-events:none}.op-search-input{width:100%;padding:7px 8px 7px 28px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;font-size:13px;background:var(--color-bg-primary, #fff);color:var(--color-text-primary, #111827);outline:none;box-sizing:border-box}.op-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.op-spinner{position:absolute;right:8px;width:14px;height:14px;border:2px solid rgba(0,0,0,.1);border-top-color:#2563eb;border-radius:50%;animation:opSpin .6s linear infinite}@keyframes opSpin{to{transform:rotate(360deg)}}.op-dropdown{position:absolute;left:0;right:0;margin-top:4px;background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #d1d5db);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:50;max-height:240px;overflow-y:auto}.op-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--color-border, #f3f4f6);background:none;cursor:pointer;text-align:left;font-size:13px;color:var(--color-text-primary, #111827);transition:background .1s ease}.op-option:last-child{border-bottom:none}.op-option:hover{background:var(--color-bg-tertiary, #f3f4f6)}.op-option-row{display:flex;align-items:center;gap:8px}.op-option-name{font-weight:500}.op-option-reg{font-size:11px;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-tertiary, #f3f4f6);padding:1px 6px;border-radius:4px}.op-option-meta{font-size:11px;color:var(--color-text-secondary, #9ca3af)}.op-create-option{border-top:1px solid var(--color-border, #e5e7eb);color:#2563eb}.op-create-option .op-option-name{color:#2563eb;font-weight:500}.op-create-option svg{color:#2563eb;flex-shrink:0}.op-create-option:hover{background:#2563eb0a}.op-create-form{padding:10px 12px;border:1px solid #2563eb;border-radius:8px;background:#2563eb05}.op-create-header{font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280);margin-bottom:8px}.op-done-btn{margin-top:8px;padding:5px 14px;background:var(--color-bg-tertiary, #f3f4f6);border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.op-done-btn:hover{background:var(--color-border, #e5e7eb);color:var(--color-text-primary, #374151)}.op-registry-option{border-top:1px solid var(--color-border, #e5e7eb);color:#059669}.op-registry-option .op-option-name{color:#059669;font-weight:500}.op-registry-option svg{color:#059669;flex-shrink:0}.op-registry-option:hover{background:#0596690a}.op-registry-results{margin-top:4px;border:1px solid #059669;border-radius:8px;overflow:hidden}.op-registry-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#0596690f;font-size:11px;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.03em}.op-registry-loading{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13px;color:var(--color-text-secondary, #6b7280)}.op-registry-loading .op-spinner{position:static}.op-btn-registry:hover{color:#059669;background:#05966914}.op-spinner-inline{display:inline-block;width:12px;height:12px;border:2px solid rgba(0,0,0,.1);border-top-color:#059669;border-radius:50%;animation:opSpin .6s linear infinite}.apartment-detail-page{min-height:100vh;background:var(--color-bg-primary)}.apartment-detail-container{max-width:1000px;margin:0 auto;padding:2rem}.apartment-detail-loading,.apartment-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.apartment-detail-page .loading-spinner{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.apartment-detail-error h2{font-size:var(--font-size-h2);margin-bottom:var(--space-sm);color:var(--color-text-primary)}.apartment-detail-error p{color:var(--color-text-secondary);margin-bottom:1.5rem}.detail-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.back-button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal)}.back-button:hover{background:var(--color-bg-tertiary);border-color:#0003}.back-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.5rem;background:var(--color-accent);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:background var(--transition-normal)}.back-link:hover{background:var(--color-accent-hover);color:var(--color-text-inverse)}.detail-title{flex:1}.detail-title h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:1.3}.detail-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.address-editable{cursor:pointer;border-radius:6px;padding:2px 6px;margin:-2px -6px;transition:background .15s ease}.address-editable:hover{background:#0000000a}.address-edit-input{font-size:inherit;font-weight:inherit;font-family:inherit;color:var(--color-text-primary);border:1.5px solid #007aff;border-radius:8px;padding:4px 10px;outline:none;box-shadow:0 0 0 3px #007aff1a;width:100%;max-width:500px;box-sizing:border-box}.header-gmaps-link{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);text-decoration:none;flex-shrink:0;padding:2px;border-radius:4px;transition:color .15s ease}.header-gmaps-link:hover{color:var(--color-accent)}.header-icon-link{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);text-decoration:none;flex-shrink:0;padding:2px;border-radius:4px;transition:color .15s ease}.header-icon-link:hover{color:var(--color-accent)}.header-icon-warning{display:inline-flex;align-items:center;justify-content:center;color:var(--color-warning, #e67e22);flex-shrink:0;padding:2px;border-radius:4px;cursor:help;position:relative}.header-status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.summary-bar{display:flex;flex-direction:column;gap:.75rem}.summary-row{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:.75rem 1rem}.summary-row-flat{background:transparent;border:none}.summary-metric{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.summary-bar .summary-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);line-height:1.4}.summary-bar .summary-value{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);white-space:nowrap;line-height:1.4}.summary-bar .summary-value.margin-positive{color:#16a34a}.summary-bar .summary-value.margin-negative{color:#dc2626}.summary-bar .summary-value.summary-muted{color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.summary-bar .ef-field{flex:1;padding:0!important;gap:.125rem!important;border-radius:4px}.summary-bar .ef-label{font-size:.6875rem!important;font-weight:600!important;color:var(--color-text-secondary)!important;letter-spacing:.5px!important;line-height:1.4!important}.summary-bar .ef-display{min-height:unset!important;gap:4px}.summary-bar .ef-value{font-size:.9375rem!important;font-weight:700!important;color:var(--color-text-primary)!important;white-space:nowrap;line-height:1.4!important}.summary-bar .ef-pencil{width:12px;height:12px}.summary-bar .ef-input{width:80px;padding:4px 8px;font-size:.9375rem}.property-details-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1rem 1.25rem}.property-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 24px}.property-details-card .ef-field{padding:0!important;gap:.125rem!important}.property-details-card .ef-label{font-size:.6875rem!important;font-weight:600!important;color:var(--color-text-secondary)!important;letter-spacing:.5px!important;line-height:1.4!important}.property-details-card .ef-display{min-height:unset!important;gap:4px}.property-details-card .ef-value{font-size:.9375rem!important;font-weight:700!important;color:var(--color-text-primary)!important;white-space:nowrap;line-height:1.4!important}.property-details-card .ef-pencil{width:12px;height:12px}.property-details-card .ef-input{width:80px;padding:4px 8px;font-size:.9375rem}.property-details-card .rooms-mismatch-banner{margin-top:12px}@media (max-width: 640px){.property-details-grid{grid-template-columns:repeat(3,1fr);gap:12px 16px}}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;margin-left:.5rem;border-radius:10px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold)}.ad-url-field{display:flex;align-items:flex-end;gap:.5rem;margin-bottom:1rem}.ad-url-field .ef-field{flex:1}.ad-url-open{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-accent);text-decoration:none;flex-shrink:0;transition:background var(--transition-normal);margin-bottom:2px}.ad-url-open:hover{background:var(--color-bg-tertiary)}.detail-section{margin-bottom:2rem}.detail-section h2{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 1rem}.viewings-group{margin-bottom:1.5rem}.viewings-group:last-child{margin-bottom:0}.viewings-group-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:.75rem}.viewings-group-toggle{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:var(--space-sm) 0;width:100%;text-align:left}.viewings-group-toggle:hover{color:var(--color-text-primary)}.group-dot{width:8px;height:8px;border-radius:50%}.group-dot.upcoming{background:#22c55e}.group-dot.past{background:#6b7280}.toggle-icon{margin-left:auto;transition:transform .2s ease}.toggle-icon.open{transform:rotate(180deg)}.viewings-list{display:flex;flex-direction:column;gap:.75rem}.viewing-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.viewing-item.upcoming{background:#f0fdf4;border:1px solid #86efac}.viewing-item.past{opacity:.8}.viewing-item.cancelled{opacity:.6}.viewing-status{font-size:1rem;font-weight:700;flex-shrink:0;width:20px;text-align:center}.viewing-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.viewing-datetime{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.viewing-client{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.viewing-contact{color:var(--color-text-secondary);opacity:.8}.viewing-cancelled{color:#ef4444;font-style:italic}.current-ad{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.06)}.ad-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.ad-status{display:inline-flex;padding:.25rem .625rem;border-radius:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ad-status.active{background:#d1fae5;color:#065f46}.ad-link,.past-ad-link{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--font-size-sm);color:var(--color-accent);text-decoration:none;font-weight:var(--font-weight-medium);word-break:break-all}.ad-link:hover,.past-ad-link:hover{text-decoration:underline}.ad-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ad-detail{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.ad-detail-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af}.ad-detail-value{font-size:14px;font-weight:500;color:var(--color-text-primary)}.ad-detail-value.highlight{font-weight:600;color:var(--color-accent)}.past-ads-toggle{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:var(--space-sm) 0;width:100%;text-align:left}.past-ads-toggle:hover{color:var(--color-text-primary)}.past-ads-list{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.past-ad-item{padding:1rem;background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.past-ad-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.ad-deleted{font-size:.75rem;color:#ef4444;font-weight:500}.past-ad-summary{display:flex;align-items:center;gap:1rem;font-size:var(--font-size-base);color:var(--color-text-secondary)}.past-ad-lifespan{background:#0000000f;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.no-data{color:var(--color-text-secondary);font-size:var(--font-size-base);text-align:center;padding:2rem}@media (max-width: 768px){.apartment-detail-container{padding:1rem}.detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.detail-title h1{font-size:1.375rem}.detail-title-row{flex-direction:column;align-items:flex-start;gap:.5rem}.ad-details{grid-template-columns:1fr}.past-ad-header{flex-direction:column;align-items:flex-start;gap:.5rem}.demo-toggle{width:100%;text-align:center}}@media (max-width: 480px){.ad-url-field{flex-direction:column;align-items:stretch}}.ad-events-table-container{overflow-x:auto}.ad-events-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.ad-events-table th{text-align:left;padding:.75rem var(--space-sm);border-bottom:2px solid var(--color-border);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xxs);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.ad-events-table td{padding:.625rem var(--space-sm);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.event-row:last-child td{border-bottom:none}.event-row:hover{background:#00000005}.event-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem;white-space:nowrap}.event-badge.created{background:#d1fae5;color:#065f46}.event-badge.deleted{background:#fee2e2;color:#991b1b}.event-badge.bumped{background:#fef3c7;color:#92400e}.event-badge.refreshed{background:#ede9fe;color:#5b21b6}.event-badge.price_change{background:#fce7f3;color:#9d174d}.price-change-badge{display:inline-flex;margin-left:.5rem;padding:.125rem .375rem;border-radius:3px;font-size:.6875rem;font-weight:600}.price-change-badge.up{background:#fee2e2;color:#dc2626}.price-change-badge.down{background:#d1fae5;color:#16a34a}.price-cell{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.previous-price{display:block;font-size:var(--font-size-xxs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin-top:.125rem}.date-cell{color:var(--color-text-primary);white-space:nowrap;font-size:var(--font-size-xs)}.date-cell.recorded{color:var(--color-text-secondary);font-style:italic}.ad-link-small{color:var(--color-accent);text-decoration:none;font-size:var(--font-size-xxs);word-break:break-all}.ad-link-small:hover{text-decoration:underline}@media (max-width: 768px){.ad-events-table{font-size:.75rem}.ad-events-table th,.ad-events-table td{padding:.5rem .375rem}.event-badge{padding:.125rem .375rem;font-size:.6875rem}}@media (max-width: 380px){.apartment-detail-container{padding:.75rem}.detail-title h1{font-size:1.125rem}.back-button{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.detail-section h2{font-size:var(--font-size-base)}.viewing-datetime{font-size:var(--font-size-sm)}.viewing-client{font-size:var(--font-size-xs)}.ad-events-table th:nth-child(3),.ad-events-table td:nth-child(3),.ad-events-table th:nth-child(4),.ad-events-table td:nth-child(4){display:none}.ad-events-table{font-size:.6875rem}}.detail-content-area{display:flex;gap:2rem;margin-bottom:2rem;align-items:flex-start}.photo-preview-section{flex-shrink:0}.photo-preview{position:relative;width:200px;height:200px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-tertiary)}.photo-preview:hover{box-shadow:0 4px 12px #00000026}.preview-image{width:100%;height:100%;object-fit:cover;display:block}.photo-count{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:6px}.detail-content-area .summary-bar{flex:1;margin-bottom:0}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-md)}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;cursor:pointer;padding:8px;opacity:.8;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;cursor:pointer;padding:16px;border-radius:50%;transition:background .2s}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);opacity:.8}@media (max-width: 768px){.detail-content-area{flex-direction:column}.photo-preview{width:100%;max-width:300px;height:200px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:10px;right:10px}.lightbox-counter{bottom:20px}}.section-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.25rem 1.5rem}.section-card-title{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.section-card-title svg{color:var(--color-text-secondary);flex-shrink:0}@media (max-width: 640px){.section-card{padding:1rem}}.editable-section{margin-top:.5rem}.editable-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 24px}.editable-grid .grid-full-width{grid-column:1 / -1}.section-action-row{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.section-action-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid #2563eb;background:#2563eb;color:#fff;transition:background .15s,border-color .15s}.section-action-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.section-action-btn:disabled{border-color:#cbd5e1;background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.section-action-btn-sm{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#fff;color:#475569;transition:background .15s,border-color .15s}.section-action-btn-sm:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.section-action-btn-sm:disabled{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8;cursor:not-allowed}.section-action-btn svg,.section-action-btn-sm svg{flex-shrink:0}.editable-group{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:16px}.editable-group-title{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin:0 0 8px;padding:0 12px 8px;border-bottom:1px solid var(--color-border)}.rooms-mismatch-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-top:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;font-weight:500;line-height:1.4}.rooms-mismatch-banner svg{flex-shrink:0}@media (max-width: 900px){.editable-grid,.ad-details{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.editable-grid,.ad-details{grid-template-columns:1fr}}.booking-stepper{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.booking-step{display:flex;gap:12px;position:relative}.booking-step:last-child .booking-step-line{display:none}.booking-step-indicator{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:24px}.booking-step-circle{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;z-index:1;transition:all .2s ease}.booking-step.completed .booking-step-circle{background:#dcfce7;color:#16a34a;border:2px solid #16a34a}.booking-step.active .booking-step-circle{background:#007aff1a;color:#007aff;border:2px solid #007aff}.booking-step.upcoming .booking-step-circle{background:#f3f4f6;color:#9ca3af;border:2px solid #d1d5db}.booking-step-line{width:2px;flex:1;min-height:12px;margin:4px 0}.booking-step.completed .booking-step-line{background:#16a34a}.booking-step.active .booking-step-line{background:linear-gradient(to bottom,#007aff,#d1d5db)}.booking-step.upcoming .booking-step-line{background:#e5e7eb}.booking-step-content{flex:1;padding-bottom:20px;min-width:0}.booking-step:last-child .booking-step-content{padding-bottom:4px}.booking-step-title{font-size:13px;font-weight:600;line-height:24px}.booking-step.completed .booking-step-title{color:#16a34a}.booking-step.active .booking-step-title{color:#1d1d1f}.booking-step.upcoming .booking-step-title{color:#9ca3af}.booking-step-title.clickable{cursor:pointer;display:flex;align-items:center;gap:8px}.booking-step.completed .booking-step-title.clickable:hover{color:#15803d}.booking-step-inline-meta{font-size:11px;font-weight:400;color:#6b7280;white-space:nowrap;margin-left:8px}.booking-step-desc{font-size:12px;color:#6b7280;margin-top:4px;line-height:1.4}.booking-step.upcoming .booking-step-desc{display:none}.booking-step-actions{margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-step-meta{font-size:11px;color:#6b7280;margin-top:4px}.booking-step-meta .sent-info{color:#16a34a}.booking-step-downloads{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}.booking-step-downloads a{font-size:11px;color:#2563eb;text-decoration:none;display:inline-flex;align-items:center;gap:3px}.booking-step-downloads a:hover{text-decoration:underline}.booking-step-conditions{margin-top:6px;list-style:none;padding:0;font-size:12px}.booking-step-conditions li{display:flex;align-items:center;gap:6px;padding:3px 0}.booking-step-conditions li.done{color:#16a34a}.booking-step-conditions li.pending{color:#92400e}.booking-step-upload{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1.5px dashed #d1d5db;border-radius:6px;background:#f9fafb;color:#6b7280;font-size:11px;cursor:pointer;transition:all .15s ease}.booking-step-upload:hover{border-color:#2563eb;background:#2563eb0a}.booking-step-upload.dragging{border-color:#2563eb;background:#2563eb0f}.booking-complete-banner{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;border-radius:6px;background:#dcfce7;border:1px solid #bbf7d0;font-size:12px;font-weight:500;color:#16a34a}.booking-quick-action{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid #16a34a;background:#16a36a14;color:#16a34a;transition:all .15s ease}.booking-quick-action:hover:not(:disabled){background:#16a36a26}.booking-quick-action:disabled{opacity:.5;cursor:not-allowed}.booking-done-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#16a34a;font-weight:500}.booking-replace-link{font-size:10px;color:#6b7280;cursor:pointer;text-decoration:underline;background:none;border:none;padding:0}.booking-replace-link:hover{color:#374151}.booking-signatures{display:flex;flex-direction:column;gap:3px;margin-top:2px}.booking-signature-row{display:flex;align-items:center;gap:6px;font-size:11px;color:#4b5563}.booking-sig-icon{font-size:12px;line-height:1}.booking-sig-name{font-weight:500}.booking-sig-role{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:500}.booking-sig-role.scandi{background:#eff6ff;color:#2563eb}.booking-sig-role.client{background:#f0fdf4;color:#16a34a}.booking-sig-date{color:#9ca3af;font-size:10px}.booking-stale-warning{background:#fffbeb;border:1px solid #f59e0b;border-radius:6px;padding:8px 12px;font-size:12px;color:#92400e;margin-bottom:12px}.status-completed{background:#d1fae5;color:#065f46}.status-almost-ready{background:#ccfbf1;color:#0f766e}.status-in-progress{background:#fef3c7;color:#92400e}.status-early{background:#dbeafe;color:#1e40af}.status-booked{background:#e0e7ff;color:#4338ca}.status-sold{background:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text-secondary, #6b7280)}.status-badge:not([class*=status-]):not(.status-badge--success):not(.status-badge--warning):not(.status-badge--error):not(.status-badge--info):not(.status-badge--neutral){background:var(--color-bg-tertiary, #f5f5f7);color:var(--color-text-secondary, #86868b)}.process-page{max-width:900px;margin:0 auto;padding:1.5rem}.process-page__header{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.process-page__back{display:flex;align-items:center;gap:4px;font-size:13px;color:#64748b;text-decoration:none;padding:4px 8px;border-radius:6px;transition:background .15s}.process-page__back:hover{background:#f1f5f9;color:#334155}.process-page__address{font-size:18px;font-weight:700;color:#1e293b;flex:1}.process-page__status{font-size:12px;padding:3px 10px;border-radius:999px;font-weight:600;white-space:nowrap}.deal-context-bar{position:sticky;top:0;z-index:100;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000a}.deal-context-bar__items{display:flex;flex-wrap:wrap;gap:6px 12px}.deal-context-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#475569;padding:3px 8px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;white-space:nowrap}.deal-context-chip--missing{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.deal-context-chip__label{font-weight:600;color:#64748b}.deal-context-chip--missing .deal-context-chip__label{color:#dc2626}.deal-context-chip__value{font-weight:500}.process-phase{margin-bottom:1.5rem}.process-phase__header{display:flex;align-items:center;gap:10px;padding:8px 0;margin-bottom:4px;border-bottom:2px solid #e2e8f0}.process-phase__label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.process-phase__progress{font-size:11px;font-weight:600;color:#94a3b8;margin-left:auto}.process-phase__progress--complete{color:#16a34a}.process-step{border-left:2px solid #e2e8f0;margin-left:11px;padding-left:0}.process-step:last-child{border-left-color:transparent}.process-step__header{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 0;margin-left:-12px;cursor:pointer;border-radius:6px;transition:background .15s;-webkit-user-select:none;user-select:none}.process-step__header:hover{background:#f8fafc}.process-step__circle{width:22px;height:22px;min-width:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #cbd5e1;background:#fff;color:#94a3b8}.process-step__circle--done{background:#16a34a;border-color:#16a34a;color:#fff}.process-step__circle--active{background:#2563eb;border-color:#2563eb;color:#fff}.process-step__title-area{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px}.process-step__title{font-size:13px;font-weight:600;color:#334155}.process-step--done .process-step__title{color:#64748b}.process-step--pending .process-step__title{color:#94a3b8}.process-step__subtitle{font-size:11px;color:#94a3b8}.process-step__chevron{color:#94a3b8;transition:transform .2s}.process-step__chevron--open{transform:rotate(180deg)}.process-step__body{margin-left:10px;padding:8px 0 16px 20px}.process-step__body .editable-grid{gap:8px 16px}.process-step__body .section-action-btn,.process-step__body .section-action-btn-sm,.process-step__body a.section-action-btn-sm{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;line-height:1.4;display:inline-flex;align-items:center;gap:5px}.process-step__body .section-action-btn svg,.process-step__body .section-action-btn-sm svg{flex-shrink:0}.process-step__body .section-action-btn{border:1px solid #2563eb;background:#2563eb;color:#fff}.process-step__body .section-action-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.process-step__body .section-action-btn:disabled{border-color:#cbd5e1;background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.process-step__body .section-action-btn-sm{border:1px solid #cbd5e1;background:#fff;color:#475569}.process-step__body .section-action-btn-sm:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.process-step__body .section-action-btn-sm:disabled{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8;cursor:not-allowed}.process-monitoring{margin-top:2rem;padding-top:1rem;border-top:1px solid #e2e8f0}.process-monitoring__title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:12px}@media (max-width: 640px){.process-page{padding:1rem}.deal-context-bar__items{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.process-page__header{flex-wrap:wrap}.process-page__address{font-size:16px}}.spin{animation:spin 1s linear infinite}.recommendations-main{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.recommendations-header{margin-bottom:2rem}.recommendations-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.recommendations-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.recommendations-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--color-text-secondary)}.recommendations-main .loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.recommendations-segmented{margin-bottom:2rem}.recommendations-main .segment--increase.active{background:var(--color-success);color:var(--color-text-inverse);box-shadow:none}.recommendations-main .segment--decrease.active{background:var(--color-error);color:var(--color-text-inverse);box-shadow:none}.recommendations-main .segment--hold.active{background:#8e8e93;color:var(--color-text-inverse);box-shadow:none}.recommendations-main .segment--bump.active{background:var(--color-warning);color:var(--color-text-inverse);box-shadow:none}.recommendations-empty{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.recommendations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.recommendation-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;transition:box-shadow var(--transition-normal);display:flex;flex-direction:column}.recommendation-card:hover{box-shadow:var(--shadow-md)}.recommendation-card.recommendation-increase{border-left:4px solid var(--color-success)}.recommendation-card.recommendation-decrease{border-left:4px solid var(--color-error)}.recommendation-card.recommendation-hold{border-left:4px solid #8e8e93}.recommendation-card.recommendation-bump{border-left:4px solid var(--color-warning)}.recommendation-card.recommendation-decrease_and_bump{border-left:4px solid #ea580c}.recommendation-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.recommendation-type{display:flex;align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.3px}.recommendation-type-increase{color:var(--color-success)}.recommendation-type-decrease{color:var(--color-error)}.recommendation-type-hold{color:#8e8e93}.recommendation-type-bump{color:var(--color-warning)}.recommendation-type-decrease_and_bump{color:#ea580c}.recommendation-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.recommendation-type-increase .recommendation-icon{background:#34c75926}.recommendation-type-decrease .recommendation-icon{background:#ff3b3026}.recommendation-type-hold .recommendation-icon{background:#8e8e9326}.recommendation-type-bump .recommendation-icon{background:#f59e0b26}.recommendation-type-decrease_and_bump .recommendation-icon{background:#ea580c26}.confidence-badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.confidence-high{background:#34c75926;color:var(--color-success)}.confidence-medium{background:#ff950026;color:var(--color-warning)}.confidence-low{background:#8e8e9326;color:#636366}.recommendation-body{padding:var(--space-lg);flex:1}.recommendation-address{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-decoration:none;display:block;margin-bottom:var(--space-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommendation-address:hover{color:var(--color-accent)}.recommendation-pricing{margin-bottom:12px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.price-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.price-current{font-size:1.125rem;font-weight:600;color:#6e6e73}.price-arrow{font-size:1rem;color:#8e8e93}.price-suggested{font-size:1.125rem;font-weight:700}.price-suggested.price-increase{color:var(--color-success)}.price-suggested.price-decrease{color:var(--color-error)}.price-diff{font-size:.8125rem;font-weight:500}.price-diff-increase{color:#248a3d}.price-diff-decrease{color:#d70015}.bump-indicator{display:inline-flex;align-items:center;padding:.25rem .625rem;background:#f59e0b26;color:#b45309;border-radius:6px;font-size:.8125rem;font-weight:600;margin-left:8px}.recommendation-reason{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-md) 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommendation-viewings{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.recommendations-main .viewing-badges{display:flex;align-items:center;gap:8px}.recommendations-main .viewing-badge{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.25rem .625rem;border-radius:6px;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;transition:all .2s ease;white-space:nowrap;min-width:3rem}.recommendations-main .viewing-badge svg{flex-shrink:0;width:12px;height:12px}.recommendations-main .viewing-badge .count{font-weight:700;min-width:1ch;text-align:center}.recommendations-main .viewing-badge .badge-label{font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.02em}.recommendations-main .viewing-badge.total{background:linear-gradient(135deg,#f3e8ff,#faf5ff);color:#7c3aed;border:1px solid #c4b5fd}.recommendations-main .viewing-badge.past{background:linear-gradient(135deg,#e3f2fd,#f0f7ff);color:#1976d2;border:1px solid #90caf9}.recommendations-main .viewing-badge.future{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);color:#388e3c;border:1px solid #81c784}.recommendations-main .viewing-badge.empty{background:#f5f5f7;color:#8e8e93;border:1px solid #e5e5ea}.last-viewing{font-size:.75rem;color:#8e8e93;white-space:nowrap}.recommendation-cooldown{margin-top:4px}.recommendations-main .status-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.recommendations-main .status-completed{background:#34c75926;color:var(--color-success)}.recommendations-main .status-in-progress{background:#ff950026;color:var(--color-warning)}.recommendations-main .status-early{background:#007aff26;color:var(--color-info)}.recommendations-main .status-booked{background:#5856d626;color:#5856d6}.recommendations-main .status-sold{background:#8e8e9326;color:#8e8e93}.recommendations-main .status-badge:not([class*=status-]){background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stage-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap}.stage-ready{background:#d1fae5;color:#065f46}.stage-final{background:#ccfbf1;color:#115e59}.stage-renovation{background:#fef3c7;color:#92400e}.stage-demolishing{background:#fee2e2;color:#991b1b}.stage-paused{background:#f3f4f6;color:#6b7280}.cooldown-badge{display:inline-flex;align-items:center;gap:6px;padding:.25rem .75rem;background:#ff95001f;border-radius:12px;font-size:.75rem;color:#c93400;border:1px solid rgba(255,149,0,.3)}.cooldown-badge .cooldown-icon{font-size:.875rem}.recommendation-actions{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-top:1px solid var(--color-border);margin-top:auto}.recommendations-main .action-btn{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.recommendations-main .action-btn:disabled{opacity:.6;cursor:not-allowed}.recommendations-main .action-complete{background:var(--color-accent);color:var(--color-text-inverse)}.recommendations-main .action-complete:hover:not(:disabled){background:var(--color-accent-hover)}.recommendations-main .action-dismiss{background:var(--color-border);color:var(--color-text-primary)}.recommendations-main .action-dismiss:hover:not(:disabled){background:#d2d2d7}@media (max-width: 900px){.recommendations-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width: 640px){.recommendations-main{padding:1rem}.recommendations-header h1{font-size:var(--font-size-h1-mobile)}.recommendations-segmented{flex-wrap:wrap;width:100%}.recommendations-segmented .segment{padding:8px 14px;font-size:.8125rem}.recommendations-grid{grid-template-columns:1fr}.recommendation-actions{flex-direction:row}.recommendation-viewings{flex-direction:column;align-items:flex-start;gap:8px}.recommendations-main .viewing-badge .label{display:none}}.af-container{padding:24px;max-width:1000px;margin:0 auto}.af-header{margin-bottom:20px}.af-header h1{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.af-segmented{margin-bottom:20px}.af-segmented .segment{flex:1;justify-content:center}.af-list{display:flex;flex-direction:column;gap:16px}.af-group{display:flex;flex-direction:column;gap:2px}.af-group__header{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:8px 0 4px;border-bottom:1px solid var(--border-color);margin-bottom:4px}.af-group__items{display:flex;flex-direction:column;gap:0}.af-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:4px;transition:background .1s ease;font-size:.9rem}.af-row:hover{background:var(--bg-secondary)}.af-row__time{min-width:70px;flex-shrink:0;font-size:.8rem;color:var(--text-tertiary, var(--text-secondary));font-variant-numeric:tabular-nums;white-space:nowrap}.af-row__icon{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;border-radius:4px}.af-row__icon--ad_event{background:#dbeafe;color:#2563eb}.af-row__icon--created{background:#dcfce7;color:#16a34a}.af-row__icon--bumped{background:#dbeafe;color:#2563eb}.af-row__icon--refreshed{background:#f3f4f6;color:#6b7280}.af-row__icon--price_change{background:#fef3c7;color:#d97706}.af-row__icon--deleted{background:#fee2e2;color:#dc2626}.af-row__icon--viewing_scheduled{background:#ccfbf1;color:#0d9488}.af-row__icon--viewing_happened{background:#99f6e4;color:#0f766e}.af-row__icon--recommendation,.af-row__icon--dismissed{background:#fee2e2;color:#dc2626}.af-row__category{min-width:55px;flex-shrink:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.af-row__category--viewing_scheduled,.af-row__category--viewing_happened{color:#0d9488}.af-row__category--ad_event{color:#2563eb}.af-row__category--recommendation{color:#f97316}.af-row__action{min-width:70px;flex-shrink:0;font-size:.8rem;font-weight:500;white-space:nowrap}.af-row__action--created{color:#16a34a}.af-row__action--bumped{color:#2563eb}.af-row__action--refreshed{color:#6b7280}.af-row__action--price_change{color:#d97706}.af-row__action--deleted{color:#dc2626}.af-row__action--scheduled{color:#0d9488}.af-row__action--happened{color:#0f766e}.af-row__action--dismissed{color:#dc2626}.af-row__address{flex-shrink:0;min-width:140px;max-width:200px;font-weight:500;color:var(--text-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-row__address:hover{color:var(--primary-color);text-decoration:underline}.af-row__address--unknown{color:var(--text-tertiary, var(--text-secondary));font-style:italic}.af-row__details{flex:1;display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-secondary);font-size:.85rem}.af-row__meta{color:var(--text-secondary)}.af-row__price{font-weight:500;color:var(--text-primary)}.af-row__change{font-size:.8rem;font-weight:500}.af-row__change--up{color:#dc2626}.af-row__change--down{color:#16a34a}.af-row__by{color:var(--text-tertiary, var(--text-secondary));font-size:.8rem}.af-row__link{color:var(--primary-color);text-decoration:none;font-size:.8rem;margin-left:auto}.af-row__link:hover{text-decoration:underline}.af-loadmore{width:100%;padding:12px;margin-top:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .15s ease}.af-loadmore:hover{background:var(--bg-tertiary, var(--bg-secondary));border-color:var(--primary-color);color:var(--primary-color)}.af-empty{text-align:center;padding:48px;color:var(--text-secondary)}.af-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;margin-bottom:16px;font-size:.9rem}@media (max-width: 768px){.af-container{padding:16px}.af-segmented{flex-wrap:wrap}.af-segmented .segment{flex:1 1 45%;padding:8px 12px;font-size:.85rem}.af-row{flex-wrap:wrap;gap:4px 8px;padding:10px 8px}.af-row__time{width:65px}.af-row__category,.af-row__action{width:auto}.af-row__address{min-width:0;max-width:none;flex:1}.af-row__details{width:100%;padding-left:72px;margin-top:2px}}.weekly-stats-page{max-width:var(--container-width);margin:0 auto;padding:var(--space-xl);min-height:calc(100vh - 52px);overflow-x:hidden}.weekly-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.weekly-stats-header h1{margin:0;font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.week-selector{display:flex;align-items:center;gap:var(--space-sm)}.week-selector-nav{display:flex;align-items:center;gap:var(--space-xs)}.week-nav-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);color:var(--color-text-primary)}.week-nav-btn:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:#d1d1d6}.week-nav-btn:disabled{opacity:.4;cursor:not-allowed}.week-selector select{padding:var(--space-sm) 2rem var(--space-sm) .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;min-width:200px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.week-selector select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.current-week-badge{padding:var(--space-xs) var(--space-sm);background:#34c75926;color:var(--color-success);font-size:var(--font-size-xs);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.weekly-stats-page .stats-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;margin-bottom:2rem}@media (max-width: 1400px){.weekly-stats-page .stats-grid{grid-template-columns:repeat(7,1fr)}}@media (max-width: 1200px){.weekly-stats-page .stats-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1024px){.weekly-stats-page .stats-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.weekly-stats-page .stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 560px){.weekly-stats-page .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.weekly-stats-page .stats-grid{grid-template-columns:1fr}}.metric-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:.875rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-normal);min-height:90px}.metric-card:hover{box-shadow:var(--shadow-md)}.metric-card.editable{cursor:pointer;background:var(--color-bg-tertiary)}.metric-card.editable:hover{background:#ebebed}.metric-card-header{display:flex;align-items:flex-start;gap:.375rem;margin-bottom:.5rem;min-height:32px}.metric-card-icon{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.metric-card-icon svg{width:14px;height:14px}.metric-card-title{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:0;line-height:1.25}.metric-card-value-row{display:flex;align-items:baseline;gap:.375rem}.metric-card-value{font-size:1.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1;margin:0}.metric-card-value.loading{color:#c7c7cc}.metric-card-change{font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium);padding:.125rem .25rem;border-radius:3px;white-space:nowrap}.metric-card-change.positive{background:#34c75926;color:var(--color-success)}.metric-card-change.negative{background:#ff3b3026;color:var(--color-error)}.metric-card-change.neutral{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.metric-card-input-wrapper{display:flex;align-items:center;gap:var(--space-sm)}.metric-card-input{font-size:1.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1;width:100%;max-width:80px;border:none;border-bottom:2px solid var(--color-accent);background:transparent;padding:0;outline:none}.metric-card-input:focus{border-color:var(--color-accent)}.metric-card-actions{display:flex;gap:var(--space-xs);margin-top:.375rem}.metric-action-btn{padding:.1875rem .375rem;font-size:var(--font-size-xxs);border-radius:3px;border:none;cursor:pointer;transition:all var(--transition-normal)}.metric-action-btn.save{background:var(--color-accent);color:var(--color-text-inverse)}.metric-action-btn.save:hover{background:var(--color-accent-hover)}.metric-action-btn.cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.metric-action-btn.cancel:hover{background:#e5e5e7}.edit-hint{font-size:.625rem;color:var(--color-text-secondary);margin-top:.25rem}.charts-section{margin-top:2rem}.charts-section h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:1rem}.chart-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:1.5rem;min-height:420px;overflow-x:auto}.chart-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 1rem}.chart-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer}.legend-item.disabled{opacity:.4}.legend-color{width:12px;height:12px;border-radius:2px}.weekly-stats-loading{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--color-text-secondary)}.weekly-stats-error{background:#ff3b301a;color:var(--color-error);padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}@media (max-width: 1024px){.weekly-stats-page{padding:20px}.chart-container{padding:1rem;min-height:350px}.weekly-stats-page .summary-row{flex-wrap:wrap;gap:1rem;justify-content:center}.summary-item{min-width:80px}}@media (max-width: 768px){.weekly-stats-page{padding:16px}.weekly-stats-header{flex-direction:column;align-items:flex-start}.metric-card-value{font-size:1.5rem}.metric-card-input{font-size:1.5rem;max-width:70px}.week-selector select{min-width:160px;font-size:.8125rem}.chart-container{padding:.75rem;min-height:300px}.chart-title{font-size:.875rem}.chart-legend{gap:.5rem}.legend-item{font-size:.6875rem}}@media (max-width: 480px){.weekly-stats-page{padding:12px}.weekly-stats-header h1{font-size:var(--font-size-h1-mobile)}.metric-card{padding:.75rem;min-height:80px}.metric-card-value{font-size:1.375rem}.metric-card-icon{width:22px;height:22px}.metric-card-icon svg{width:12px;height:12px}.weekly-stats-page .summary-row{padding:.75rem}.weekly-stats-page .summary-value{font-size:1.25rem}}.metric-card[data-metric=purchases] .metric-card-icon{background:#f0fdf4;color:#6b7280}.metric-card[data-metric=viewingsBuying] .metric-card-icon{background:#eff6ff;color:#6b7280}.metric-card[data-metric=demolitions] .metric-card-icon{background:#fffbeb;color:#6b7280}.metric-card[data-metric=inspections] .metric-card-icon{background:#f5f3ff;color:#6b7280}.metric-card[data-metric=apartmentReady] .metric-card-icon{background:#ecfeff;color:#6b7280}.metric-card[data-metric=viewingsSelling] .metric-card-icon{background:#fdf2f8;color:#6b7280}.metric-card[data-metric=sales] .metric-card-icon{background:#fef2f2;color:#6b7280}.weekly-stats-page .summary-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);margin-bottom:2rem;border:1px solid var(--color-border)}.weekly-stats-page .summary-item{text-align:center}.weekly-stats-page .summary-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:.25rem}.weekly-stats-page .summary-value{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.skeleton-metric-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);min-height:120px}.skeleton-metric-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.skeleton-metric-value{height:2.5rem;width:60px;border-radius:var(--radius-sm)}.skeleton-summary-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);margin-bottom:2rem;border:1px solid var(--color-border);min-height:76px}.skeleton-summary-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.skeleton-chart-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:1.5rem;min-height:380px}.inspections-page{max-width:1400px;margin:0 auto;padding:var(--space-xl);min-height:calc(100vh - 52px)}.inspections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.inspections-header h1{margin:0;font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.inspections-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.inspections-column{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.inspections-column.next-week{background:var(--color-bg-tertiary);border-color:var(--color-border)}.column-header{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.column-header h2{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.column-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.inspections-summary{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.inspections-summary.preview-summary{margin-bottom:1rem}.summary-stat{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:.75rem 1rem;flex:1;min-width:80px}.inspections-column.next-week .summary-stat{background:#00000008}.summary-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:.125rem}.summary-stat-value{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-stat-value.completed{color:var(--color-success)}.summary-stat-value.pending{color:var(--color-warning)}.inspections-list{display:flex;flex-direction:column;gap:8px}.inspection-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-normal);display:flex;align-items:flex-start;gap:10px;cursor:pointer}.inspection-card:hover{box-shadow:var(--shadow-md);border-color:#d2d2d7}.inspection-card.inspected{background:#f0fdf4;border-color:#bbf7d0}.inspection-card.inspected:hover{background:#dcfce7}.inspection-card.preview{cursor:default;background:var(--color-bg-tertiary);border-color:var(--color-border)}.inspection-card.preview:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border)}.inspection-checkbox{width:24px;height:24px;min-width:24px;border-radius:var(--radius-sm);border:2px solid #d2d2d7;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);background:var(--color-bg-secondary)}.inspection-card:hover .inspection-checkbox{border-color:var(--color-accent)}.inspection-checkbox.checked{background:var(--color-success);border-color:var(--color-success)}.inspection-checkbox svg{color:#fff;width:14px;height:14px}.preview-checkbox{background:#e5e5e7!important;border-color:#d2d2d7!important}.preview-dot{width:6px;height:6px;border-radius:50%;background:#c7c7cc}.inspection-details{flex:1;min-width:0}.inspection-address{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px;line-height:1.3}.inspection-address a{color:inherit;text-decoration:none}.inspection-address a:hover{color:var(--color-accent)}.inspection-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.inspection-card .status-badge{padding:2px 8px;border-radius:6px;font-size:.6875rem}.inspection-reason{padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.02em}.inspection-reason.status-change{background:#ff3b301f;color:var(--color-error)}.inspection-reason.weekly{background:#007aff1a;color:var(--color-info)}.inspection-reason.bi-weekly{background:#5856d61a;color:#5856d6}.inspection-reason.monthly{background:#0f766e1a;color:#0f766e}.inspection-reason.first-inspection{background:#ff95001f;color:var(--color-warning)}.inspection-reason.additional{background:#34c7591a;color:var(--color-success)}.inspection-info{font-size:var(--font-size-xxs);color:var(--color-text-secondary);margin-top:2px}.inspections-page .empty-state{text-align:center;padding:2rem 1.5rem;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.inspections-page .empty-state.preview{background:#00000008}.empty-state-icon{font-size:2rem;margin-bottom:.5rem}.empty-state-text{font-size:.875rem;font-weight:500}.all-done-state{text-align:center;padding:1.5rem;background:#34c7591a;border-radius:var(--radius-md);border:1px solid rgba(52,199,89,.3);margin-bottom:8px}.all-done-icon{font-size:1.5rem;margin-bottom:.25rem;color:var(--color-success)}.all-done-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#166534}.inspections-error{background:#ff3b301a;color:var(--color-error);padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.skeleton-inspection-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border);display:flex;align-items:flex-start;gap:10px;height:60px}.add-inspection-inline{display:flex;gap:var(--space-sm);margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.add-inspection-select-inline{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid #d2d2d7;border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);min-width:0}.add-inspection-select-inline:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.add-inspection-btn-inline{width:36px;height:36px;min-width:36px;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:1.25rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal);display:flex;align-items:center;justify-content:center}.add-inspection-btn-inline:hover{background:var(--color-accent-hover)}.add-inspection-btn-inline:disabled{background:#c7c7cc;cursor:not-allowed}@media (max-width: 1024px){.inspections-columns{grid-template-columns:1fr;gap:16px}.inspections-column.next-week{background:#fff}}@media (max-width: 768px){.inspections-page{padding:16px}.inspections-header{flex-direction:column;align-items:flex-start}.inspections-header h1{font-size:var(--font-size-h1-mobile)}.inspections-column{padding:1rem}.column-header{flex-direction:column;gap:4px;align-items:flex-start}.inspections-summary{gap:.5rem}.summary-stat{padding:.625rem .75rem;min-width:calc(33% - .5rem)}.summary-stat-value{font-size:1.125rem}.inspection-checkbox{width:28px;height:28px;min-width:28px}}@media (max-width: 480px){.summary-stat{min-width:calc(50% - .25rem)}.inspections-summary.preview-summary .summary-stat{min-width:100%}}.bonus-staff-management{padding:0}.management-header{margin-bottom:var(--space-xl)}.management-header h2{font-size:var(--font-size-h2);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.management-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.add-staff-form{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl)}.form-row{display:flex;gap:var(--space-lg);align-items:flex-end;flex-wrap:wrap}.form-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-group select,.form-group input{padding:10px 12px;font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary)}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #007aff1a}.add-btn{padding:10px 20px;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--transition-normal)}.add-btn:hover:not(:disabled){background:var(--color-accent-hover)}.add-btn:disabled{background:var(--color-text-tertiary);cursor:not-allowed}.message{margin-top:var(--space-md);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.message.error{background:var(--color-badge-error-bg);color:var(--color-error)}.message.success{background:var(--color-badge-success-bg);color:var(--color-success)}.staff-list{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-xl)}.loading,.empty{padding:var(--space-2xl);text-align:center;color:var(--color-text-secondary)}.staff-table{width:100%;border-collapse:collapse}.staff-table th,.staff-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--color-border-light)}.staff-table th{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;background:var(--color-bg-tertiary)}.staff-table tbody tr:hover{background:#f9f9fb}.staff-table tbody tr.inactive{opacity:.6}.name-cell{font-weight:500;color:var(--color-text-primary)}.email-cell{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.guaranteed-cell{display:flex;align-items:center;gap:var(--space-xs)}.guaranteed-input{width:80px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-sm);text-align:right;background:#f9f9fb}.guaranteed-input:focus{outline:none;border-color:var(--color-success);background:var(--color-bg-secondary)}.guaranteed-input::placeholder{color:var(--color-text-tertiary)}.currency-suffix{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.bonus-staff-management .role-badge{display:inline-block;padding:var(--space-xs) 10px;border-radius:6px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.bonus-staff-management .role-badge.role-agent{background:var(--color-badge-success-bg);color:var(--color-success)}.bonus-staff-management .role-badge.role-manager{background:var(--color-badge-info-bg);color:var(--color-info)}.bonus-staff-management .role-badge.role-designer{background:#af52de26;color:#af52de}.status-toggle{padding:var(--space-xs) 10px;border-radius:6px;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;border:none;transition:all var(--transition-normal)}.status-toggle.active{background:var(--color-badge-success-bg);color:var(--color-success)}.status-toggle.inactive{background:var(--color-badge-error-bg);color:var(--color-error)}.status-toggle:hover{opacity:.8}.delete-btn{padding:6px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-normal)}.delete-btn:hover{background:var(--color-badge-error-bg);color:var(--color-error)}.role-descriptions{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.role-descriptions h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.role-card{padding:var(--space-lg);border-radius:10px;background:var(--color-bg-tertiary)}.role-card.agent{border-left:4px solid var(--color-success)}.role-card.manager{border-left:4px solid var(--color-info)}.role-card.designer{border-left:4px solid #af52de}.role-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.role-card ul{margin:0;padding:0 0 0 var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.role-card li{margin-bottom:var(--space-xs)}@media (max-width: 768px){.form-row{flex-direction:column}.form-group,.add-btn{width:100%}.staff-table{font-size:var(--font-size-sm)}.staff-table th,.staff-table td{padding:10px 12px}.email-cell{display:none}}.accountant-report{padding:0}.report-header{margin-bottom:var(--space-xl)}.report-header h2{font-size:var(--font-size-h2);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.report-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.report-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.month-selector{display:flex;align-items:center;gap:10px}.month-selector label{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:500}.month-selector select{padding:10px var(--space-lg);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;min-width:180px}.month-selector select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #007aff1a}.copy-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-xl);background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:10px;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.copy-btn:hover{background:var(--color-accent-hover)}.copy-btn.copied{background:var(--color-success)}.report-empty{text-align:center;padding:var(--space-3xl) var(--space-2xl);color:var(--color-text-secondary);font-size:1rem;background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.report-content{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.report-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--color-info) 0%,#5856d6 100%);color:var(--color-text-inverse)}.report-month{font-size:1.1rem;font-weight:600}.report-company-total{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base)}.report-company-total strong{font-size:1.25rem;font-weight:700}.staff-report-section{border-bottom:1px solid var(--color-border-light);padding:var(--space-xl)}.staff-report-section:last-of-type{border-bottom:none}.staff-report-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.staff-name{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.role-tag{padding:var(--space-xs) 10px;border-radius:6px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.role-tag.role-agent{background:var(--color-badge-success-bg);color:var(--color-success)}.role-tag.role-manager{background:var(--color-badge-info-bg);color:var(--color-info)}.role-tag.role-designer{background:#af52de26;color:#af52de}.report-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin-bottom:var(--space-lg)}.report-table th,.report-table td{padding:10px var(--space-md);text-align:left;border-bottom:1px solid var(--color-border-light)}.report-table th{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;background:#f9f9fb}.report-table th.number,.report-table td.number{text-align:right}.report-table tbody tr:hover{background:#f9f9fb}.report-table tbody tr.missing-data{opacity:.6;background:#ff95000d}.multiplier-cell{font-weight:500}.multiplier-breakdown{display:flex;flex-direction:column;gap:2px}.mult-item{font-size:var(--font-size-xs);white-space:nowrap}.mult-item.bonus{color:var(--color-success)}.mult-item.penalty{color:var(--color-warning)}.no-multiplier{color:var(--color-text-tertiary)}.bonus-amount{font-weight:600;color:var(--color-success)}.no-apartments{padding:var(--space-xl);text-align:center;color:var(--color-text-secondary);font-style:italic;background:#f9f9fb;border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.staff-totals{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background:#f9f9fb;border-radius:10px}.total-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base)}.total-row.calculated,.total-row.guaranteed{color:var(--color-text-secondary)}.total-row.guaranteed.applied{color:var(--color-success)}.applied-badge{margin-left:var(--space-sm);padding:2px 6px;background:var(--color-badge-success-bg);color:var(--color-success);border-radius:var(--radius-sm);font-size:var(--font-size-xxs);font-weight:600;text-transform:uppercase}.total-row.final{padding-top:var(--space-sm);margin-top:var(--space-xs);border-top:1px solid var(--color-border);font-weight:600;color:var(--color-text-primary)}.total-row .amount{font-weight:600}.total-row.final .amount{font-size:1.1rem;color:var(--color-success)}.company-totals{padding:var(--space-xl);background:linear-gradient(135deg,var(--color-success) 0%,#30d158 100%)}.company-total-row{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-inverse);font-size:1.1rem;font-weight:600}.company-total-row .amount{font-size:var(--font-size-h2);font-weight:700}@media (max-width: 768px){.report-controls,.month-selector{flex-direction:column;align-items:stretch}.month-selector select{width:100%}.copy-btn{justify-content:center}.report-table{font-size:var(--font-size-xs)}.report-table th,.report-table td{padding:var(--space-sm) 6px}.staff-report-section{padding:var(--space-lg)}.report-summary-bar{flex-direction:column;gap:var(--space-sm);text-align:center}}@media (max-width: 480px){.report-table{display:block;overflow-x:auto}}.bonuses-container{max-width:1200px;width:100%;margin:0 auto;padding:2rem}.bonuses-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.bonuses-title-section h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.bonuses-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.staff-selector select{padding:10px var(--space-lg);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;min-width:200px}.staff-selector select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #dd41321a}.bonuses-container .segmented-control{width:fit-content;margin-bottom:var(--space-xl)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:8px}.summary-card.highlight{background:linear-gradient(135deg,#007aff,#5856d6)}.summary-card.highlight .summary-label,.summary-card.highlight .summary-value{color:#fff}.summary-card.projected{border:2px dashed #5856d6;background:#5856d60d}.summary-card.warning{border:2px solid #ff9500;background:#ff95000d}.summary-card.guaranteed{background:linear-gradient(135deg,#34c759,#30d158)}.summary-card.guaranteed .summary-label,.summary-card.guaranteed .summary-value{color:#fff}.summary-card.guaranteed .summary-note{color:#fffc}.summary-card.guaranteed-info{border:2px solid #34c759;background:#34c7590d}.guaranteed-badge{display:inline-block;margin-left:6px;padding:2px 6px;background:#ffffff40;border-radius:4px;font-size:.65rem;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.summary-note{font-size:.75rem;font-weight:400;color:#86868b;margin-top:2px}.bonuses-container .summary-label{font-size:.8rem;font-weight:500;color:#86868b;text-transform:uppercase;letter-spacing:.02em}.bonuses-container .summary-value{font-size:1.5rem;font-weight:700;color:#1d1d1f}.role-badge{font-size:1rem!important;padding:4px 12px;border-radius:6px;text-transform:capitalize;width:fit-content}.role-agent{background:#34c75926;color:#34c759}.role-manager{background:#007aff26;color:#007aff}.role-designer{background:#af52de26;color:#af52de}.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 2rem;color:#86868b;font-size:1rem}.loading-spinner{width:32px;height:32px;border:3px solid #f5f5f7;border-top-color:#007aff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.error-state button{margin-top:1rem;padding:10px 20px;background:#007aff;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer}.months-container{display:flex;flex-direction:column;gap:24px}.month-section{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000a;overflow:hidden}.month-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f5f5f7;cursor:pointer;transition:background .2s}.month-header:hover{background:#ebebed}.month-info h3{font-size:1.1rem;font-weight:600;color:#1d1d1f;margin:0 0 4px}.bonuses-container .month-stats{font-size:.85rem;color:#86868b;display:flex;align-items:center;gap:8px}.missing-badge{background:#ff950026;color:#ff9500;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.guaranteed-month-badge{background:#34c75926;color:#34c759;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.month-total{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.total-label{font-size:.85rem;color:#86868b}.total-amount{font-size:1.25rem;font-weight:700;color:#34c759}.total-amount.guaranteed-total{color:#30d158}.calculated-total{font-size:.8rem;color:#86868b;font-weight:400}.expand-icon{font-size:.75rem;color:#86868b;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.month-cards{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.bonus-card{background:#f9f9fb;border-radius:12px;padding:16px;border:1px solid #e5e5ea;transition:all .2s}.bonus-card:hover{box-shadow:0 4px 12px #0000000f}.bonus-card.projected{border:2px dashed #5856d6;background:#5856d608}.bonus-card.missing-dates{border-color:#ff9500}.bonus-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.bonus-card-address{font-size:.95rem;font-weight:600;color:#1d1d1f;flex:1}.sale-date{font-size:.8rem;color:#86868b;white-space:nowrap}.bonus-card-payment{font-size:.85rem;color:#1d1d1f;font-weight:500;margin-bottom:12px}.sale-month-note{color:#86868b;font-weight:400;margin-left:4px}.dates-section{background:#007aff0d;border-radius:8px;padding:12px;margin-bottom:12px}.date-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.date-label{font-size:.85rem;color:#86868b}.date-value{font-size:.85rem;color:#1d1d1f;font-weight:500}.date-value.missing{color:#ff9500;font-style:italic}.date-input{padding:6px 10px;border:1px solid #e5e5ea;border-radius:6px;font-size:.85rem}.add-dates-btn{width:100%;margin-top:8px;padding:8px 12px;background:#ff9500;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.add-dates-btn:hover{background:#e68600}.date-actions{display:flex;gap:8px;margin-top:8px}.save-dates-btn{flex:1;padding:8px 12px;background:#34c759;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer}.save-dates-btn:disabled{background:#c7c7cc;cursor:not-allowed}.cancel-btn{padding:8px 12px;background:#f5f5f7;color:#1d1d1f;border:1px solid #e5e5ea;border-radius:6px;font-size:.85rem;cursor:pointer}.bonus-card-section{margin:8px 0}.bonus-card-divider{height:1px;background:#e5e5ea;margin:12px 0}.calc-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.85rem;color:#86868b}.calc-row .value{color:#1d1d1f;font-weight:500}.calc-row.margin-row{padding-top:8px;margin-top:4px;border-top:1px dashed #e5e5ea}.calc-row.margin-row span{font-weight:600;color:#1d1d1f}.calc-row.multiplier-row{background:#007aff0d;margin:4px -8px;padding:6px 8px;border-radius:6px}.multiplier{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.multiplier-reason{font-size:.75rem;color:#86868b;font-weight:400}.multiplier.pre-start{color:#ff9500}.calc-row.warning-row{background:#ff95001a;margin:4px -8px;padding:8px;border-radius:6px}.warning-text{color:#ff9500;font-size:.8rem;font-weight:500}.bonus-card-total{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#34c7591a;border-radius:8px;margin-top:8px}.bonus-card-total span:first-child{font-size:.9rem;font-weight:600;color:#1d1d1f}.total-value{font-size:1.25rem;font-weight:700;color:#34c759}.missing-dates-prompt{display:flex;flex-direction:column;align-items:center;padding:24px 16px;text-align:center;background:#ff950014;border-radius:8px;margin-top:12px}.prompt-icon{font-size:2rem;margin-bottom:8px}.prompt-text{font-size:.9rem;color:#86868b;line-height:1.4}.date-input-inline{padding:6px 10px;border:1px solid #e5e5ea;border-radius:6px;font-size:.85rem;background:#fff;color:#1d1d1f;min-width:130px;transition:border-color .2s,box-shadow .2s}.date-input-inline:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.date-input-inline.dirty{border-color:#ff9500;background:#ff95000d}.date-input-inline.empty{color:#86868b}.date-input-inline:disabled{background:#f5f5f7;cursor:not-allowed}.save-message{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.8rem;font-weight:500;text-align:center}.save-message.success{background:#34c75926;color:#34c759}.save-message.error{background:#ff3b3026;color:#ff3b30}@media (max-width: 768px){.bonuses-container{padding:1rem}.bonuses-header{flex-direction:column}.staff-selector select{width:100%}.summary-cards{grid-template-columns:repeat(2,1fr)}.month-cards{grid-template-columns:1fr}.month-header{flex-direction:column;align-items:flex-start;gap:8px}.month-total{width:100%;justify-content:space-between}}@media (max-width: 480px){.summary-cards{grid-template-columns:1fr}.bonuses-container .segmented-control{width:100%}.bonuses-container .segment{flex:1;text-align:center}}.my-companies-container{padding:24px;max-width:1200px;margin:0 auto}.my-companies-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.my-companies-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 4px}.my-companies-subtitle{color:var(--color-text-secondary, #86868b);font-size:14px;margin:0 0 8px}.contractor-label{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary, #86868b);font-size:13px;margin:0}.contractor-label svg{opacity:.6}.add-company-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px 16px;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal);white-space:nowrap;line-height:1}.add-company-btn svg{flex-shrink:0;display:block;width:16px;height:16px;stroke:#fff!important;color:#fff!important;vertical-align:middle;margin-bottom:0!important}.add-company-btn:hover{background:var(--color-accent-hover)}.error-banner,.form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);border-radius:8px;color:var(--color-danger, #ff3b30);font-size:14px;margin-bottom:16px}.form-success{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#34c7591a;border:1px solid rgba(52,199,89,.2);border-radius:8px;color:var(--color-success, #34c759);font-size:14px;margin-bottom:16px}.error-icon,.success-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700}.error-icon{background:var(--color-danger, #ff3b30);color:#fff}.success-icon{background:var(--color-success, #34c759);color:#fff}.company-form-card{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:12px;padding:24px;margin-bottom:24px}.company-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.company-form-header h2{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin:0}.close-form-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-secondary, #86868b);border-radius:4px;transition:background .2s}.close-form-btn:hover{background:var(--color-background-secondary, #f5f5f7)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group.full-width{grid-column:span 2}.form-group label{font-size:13px;font-weight:500;color:var(--color-text-secondary, #86868b)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{padding:10px 12px;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--color-primary, #007aff);box-shadow:0 0 0 3px #007aff1a}.checkbox-group{margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--color-text-primary, #1d1d1f)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border, #e5e5ea)}.cancel-btn,.save-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-btn{background:var(--color-accent);border:none;color:var(--color-text-inverse)}.save-btn:hover:not(:disabled){background:var(--color-accent-hover)}.save-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:12px}.empty-state>svg{color:var(--color-text-tertiary, #aeaeb2);margin-bottom:16px}.empty-state h3{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.my-companies-container .empty-state p{color:var(--color-text-secondary, #86868b);font-size:14px;margin:0 0 24px!important}.empty-state .add-company-btn{margin-top:0}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.company-card{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:12px;padding:20px;position:relative;transition:box-shadow .2s}.company-card:hover{box-shadow:0 4px 12px #00000014}.company-card.is-default{border-color:var(--color-primary, #007aff);border-width:2px}.default-badge{position:absolute;top:-10px;right:16px;display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 10px;background:var(--color-accent);color:var(--color-text-inverse);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);text-transform:uppercase}.company-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.company-card-header h3{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;padding-right:8px}.company-actions{display:flex;gap:4px}.my-companies-container .action-btn{background:none;border:none;padding:6px;cursor:pointer;border-radius:6px;color:var(--color-text-secondary, #86868b);transition:all .2s}.my-companies-container .action-btn:hover{background:var(--color-background-secondary, #f5f5f7);color:var(--color-text-primary, #1d1d1f)}.my-companies-container .action-btn.set-default-btn:hover{color:var(--color-warning, #ff9500)}.my-companies-container .action-btn.delete-btn:hover{background:#ff3b301a;color:var(--color-danger, #ff3b30)}.my-companies-container .action-btn:disabled{opacity:.5;cursor:not-allowed}.company-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detail-label{font-size:12px;color:var(--color-text-secondary, #86868b);flex-shrink:0}.detail-value{font-size:13px;color:var(--color-text-primary, #1d1d1f);text-align:right;word-break:break-word}.detail-value.iban{font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;letter-spacing:.5px}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.access-denied h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.access-denied p{color:var(--color-text-secondary, #86868b);font-size:14px;margin:0}.spinner-small{width:14px;height:14px;border:2px solid var(--color-border, #e5e5ea);border-top-color:var(--color-primary, #007aff);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.my-companies-container{padding:16px}.my-companies-header{flex-direction:column;align-items:stretch}.add-company-btn{justify-content:center}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.companies-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.payment-history-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.payment-history-modal.open{display:flex;align-items:center;justify-content:center;background:#00000080}.modal-content{position:relative;z-index:1;background:#fff!important;border-radius:12px;max-width:700px;max-height:80vh;width:90%;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;isolation:isolate;color:#1d1d1f!important}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5ea}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1d1d1f}.close-btn{background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:#86868b;padding:0;width:32px;height:32px;transition:color .2s}.close-btn:hover{color:#1d1d1f}.modal-body{padding:24px;overflow-y:auto;flex:1;background:#fff!important;color:#1d1d1f!important}.history-section{margin-bottom:24px}.history-section:last-child{margin-bottom:0}.history-section h3{font-size:14px;font-weight:600;color:#86868b;text-transform:uppercase;margin:0 0 12px;letter-spacing:.5px}.historical-payment{background:#f5f5f7;padding:16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.historical-payment .amount{font-weight:600;color:#515154}.request-card{background:#fff;border:1px solid #d2d2d7;border-radius:8px;padding:16px;margin-bottom:12px}.request-card:last-child{margin-bottom:0}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.request-number{font-weight:600;font-size:14px;margin-right:8px;color:#1d1d1f}.request-date{font-size:13px;color:#86868b}.request-items{margin:12px 0}.request-item{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px solid #f5f5f7}.request-item:last-child{border-bottom:none}.request-item-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.stage-name{font-size:13px;color:#1d1d1f;flex:1;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.item-amount{font-weight:600;font-size:13px;color:#1d1d1f;white-space:nowrap}.invoice-info{background:#fafafa;padding:12px;border-radius:6px;display:flex;align-items:center;gap:12px;margin-top:12px;font-size:13px;flex-wrap:wrap}.invoice-main{display:flex;flex-direction:column;gap:6px;flex:1}.invoice-number{font-weight:500;color:#1d1d1f}.payment-status-badge{padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;width:fit-content}.payment-status-badge.paid{background:#34c75926;color:#34c759;border:1px solid rgba(52,199,89,.3)}.paid-date{color:#34c759;font-size:12px}.download-invoice-btn{margin-left:auto;padding:6px 12px;background:#007aff;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:opacity .2s;font-weight:500}.download-invoice-btn:hover{opacity:.8}.request-total{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #e5e5ea;font-weight:600;color:#1d1d1f}.total-amount{font-size:15px}.modal-footer{padding:20px 24px;border-top:2px solid #e5e5ea;background:#fafafa}.total-paid{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;color:#1d1d1f}.grand-total{font-size:20px;font-weight:700;color:#007aff}.status-badge,.item-status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.gray,.item-status-badge.gray{background:#e5e5ea;color:#86868b}.status-badge.blue,.item-status-badge.blue{background:#007aff1a;color:#007aff}.status-badge.orange,.item-status-badge.orange{background:#ff95001a;color:#ff9500}.status-badge.green,.item-status-badge.green{background:#34c7591a;color:#34c759}.status-badge.red,.item-status-badge.red{background:#ff3b301a;color:#ff3b30}.empty-state{text-align:center;padding:40px 20px;color:#86868b}.empty-state p{margin:0;font-size:15px}@media (max-width: 768px){.modal-content{width:95%;max-height:90vh}.invoice-info{flex-direction:column;align-items:flex-start}.download-invoice-btn{margin-left:0;width:100%}.request-item-row{flex-direction:column;align-items:flex-start}.item-amount{font-size:14px}}.create-request-container{padding:16px;max-width:1600px;margin:0 auto}.create-request-header{margin-bottom:16px}.create-request-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 2px}.create-request-header .subtitle{color:var(--color-text-secondary, #86868b);font-size:12px;margin:0}.error-banner{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);border-radius:8px;color:var(--color-danger, #ff3b30);font-size:14px;margin-bottom:20px}.error-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-danger, #ff3b30);color:#fff;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.form-section{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:10px;padding:14px 16px;margin-bottom:12px}.form-section h2{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin:0 0 10px;color:var(--color-text-primary)}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header-row h2{margin-bottom:0}.company-select{width:100%;padding:8px 12px;border:1px solid var(--color-border, #e5e5ea);border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.company-select:focus{outline:none;border-color:var(--color-primary, #007aff);box-shadow:0 0 0 3px #007aff1a}.apartments-list{display:flex;flex-direction:column;gap:8px}.apartment-card{background:var(--color-background-secondary, #f5f5f7);border-radius:8px;padding:10px 12px}.apartment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}.apartment-info h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.apartment-meta{font-size:12px;color:var(--color-text-secondary, #86868b)}.budget-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.budget-label{font-size:12px;color:var(--color-text-secondary, #86868b)}.budget-amount{font-size:14px;font-weight:600}.budget-amount.positive{color:var(--color-success, #34c759)}.budget-amount.zero{color:var(--color-text-tertiary, #aeaeb2)}.holdback-note{font-size:11px;color:var(--color-warning, #ff9500)}.budget-details{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-border, #e5e5ea)}.budget-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.budget-item{display:flex;flex-direction:column;gap:1px;min-width:70px}.budget-item .budget-label{font-size:10px;font-weight:500;color:var(--color-text-tertiary, #aeaeb2);text-transform:uppercase;letter-spacing:.3px}.budget-item .budget-value{font-size:14px;font-weight:600;color:var(--color-text-primary, #1d1d1f)}.budget-item .budget-value.paid{color:var(--color-text-secondary, #86868b)}.budget-item .budget-value.paid.clickable{cursor:pointer;color:var(--color-primary, #007aff);text-decoration:underline;background:none;border:none;font-size:inherit;font-weight:inherit;padding:0;transition:opacity .2s}.budget-item .budget-value.paid.clickable:hover:not(:disabled){opacity:.7}.budget-item .budget-value.paid.clickable:disabled{cursor:not-allowed;color:var(--color-text-secondary, #86868b);text-decoration:none}.budget-item .budget-value.in-review{color:var(--color-warning, #ff9500)}.budget-item .budget-value.approved{color:var(--color-primary, #007aff)}.budget-item .budget-value.available{color:var(--color-success, #34c759)}.budget-item .budget-value.zero{color:var(--color-text-tertiary, #aeaeb2)}.budget-item .budget-per-sqm{font-size:10px;color:var(--color-text-tertiary, #aeaeb2)}.budget-item.holdback .budget-value{color:var(--color-warning, #ff9500)}.budget-item.holdback{cursor:help;position:relative}.budget-item.holdback .budget-label{display:flex;align-items:center;gap:2px}.budget-item.holdback:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;pointer-events:none}.budget-item.holdback:hover:after{opacity:1;visibility:visible}.stages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media (max-width: 1200px){.stages-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.stages-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.stages-grid{grid-template-columns:1fr}}.stage-btn{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:6px;cursor:pointer;transition:all .2s;text-align:left;position:relative}.stage-row-top{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.stage-row-bottom{display:flex;align-items:center;justify-content:space-between;width:100%}.stage-btn:hover:not(.disabled){border-color:var(--color-primary, #007aff);background:#007aff0d}.stage-btn.selected{background:#34c7591a;border-color:var(--color-success, #34c759);border-width:2px}.stage-btn.selected:hover{background:#34c75926}.stage-btn.paid{background:var(--color-background-secondary, #f5f5f7);border-color:var(--color-border, #e5e5ea);opacity:.7}.stage-btn.paid .stage-name,.stage-btn.paid .stage-amount,.stage-btn.paid .stage-percent{color:var(--color-text-tertiary, #aeaeb2);text-decoration:line-through}.stage-btn.partially-paid{background:#ff95000d;border-color:var(--color-warning, #ff9500)}.stage-btn.partially-paid:hover:not(.disabled){background:#ff95001a}.stage-btn.requested{background:#007aff0d;border-color:var(--color-primary, #007aff);border-style:dashed;opacity:.8}.stage-btn.holdback-locked{background:var(--color-background-secondary, #f5f5f7);border-color:var(--color-text-tertiary, #aeaeb2);border-style:dashed;opacity:.6}.stage-btn.disabled{cursor:not-allowed}.stage-order{font-size:12px;font-weight:600;color:var(--color-text-tertiary, #aeaeb2);margin-right:3px}.stage-name{font-size:13px;font-weight:500;color:var(--color-text-primary, #1d1d1f);display:flex;align-items:center;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-paid-amount{font-size:11px;color:var(--color-text-tertiary, #aeaeb2);margin-left:4px}.stage-amount{font-size:14px;font-weight:600;color:var(--color-primary, #007aff);display:flex;align-items:baseline;flex-wrap:wrap}.stage-btn.paid .stage-amount{color:var(--color-text-tertiary, #aeaeb2)}.stage-btn.selected .stage-amount{color:var(--color-success, #34c759)}.stage-percent{font-size:12px;color:var(--color-text-tertiary, #aeaeb2);font-weight:500}.stage-status-badge{display:inline-block;padding:2px 5px;font-size:9px;font-weight:600;border-radius:3px;text-transform:uppercase;flex-shrink:0}.paid-badge{background:#8e8e9326;color:var(--color-text-tertiary, #aeaeb2)}.partial-badge{background:#ff950026;color:var(--color-warning, #ff9500)}.requested-badge{background:#007aff26;color:var(--color-primary, #007aff)}.holdback-badge{background:#8e8e9326;color:var(--color-text-tertiary, #aeaeb2);cursor:help;position:relative}.holdback-badge:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;text-transform:none;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;pointer-events:none}.holdback-badge:hover:after{opacity:1;visibility:visible}.selected-badge{background:#34c75926;color:var(--color-success, #34c759)}.no-stages{font-size:13px;color:var(--color-text-tertiary, #aeaeb2);font-style:italic;margin:0}.apartment-selected-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--color-success, #34c759)}.apartment-selected-total .selected-label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #86868b)}.apartment-selected-total .selected-amount{font-size:16px;font-weight:700;color:var(--color-success, #34c759)}.empty-apartments{text-align:center;padding:24px;color:var(--color-text-secondary, #86868b)}.add-custom-btn{padding:8px 14px;background:#34c7591a;border:1px solid var(--color-success, #34c759);border-radius:6px;color:var(--color-success, #34c759);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.add-custom-btn:hover{background:var(--color-success, #34c759);color:#fff}.custom-item-form{background:var(--color-background-secondary, #f5f5f7);border-radius:8px;padding:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #86868b)}.form-group input,.form-group select{padding:10px 12px;border:1px solid var(--color-border, #e5e5ea);border-radius:6px;font-size:14px;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary, #007aff);box-shadow:0 0 0 3px #007aff1a}.custom-item-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--color-border, #e5e5ea)}.selected-items-section{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border-color:var(--color-success, #34c759)}.selected-items-list{display:flex;flex-direction:column;gap:8px}.selected-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e5e5ea)}.item-info{flex:1;display:flex;flex-direction:column;gap:2px}.item-address{font-size:12px;color:var(--color-text-secondary, #86868b)}.item-description{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f)}.custom-badge{display:inline-block;padding:2px 6px;background:#ff950026;color:var(--color-warning, #ff9500);font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;margin-top:4px;width:fit-content}.item-amount{font-size:15px;font-weight:600;color:var(--color-success, #34c759)}.remove-item-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-border, #e5e5ea);border-radius:6px;color:var(--color-text-secondary, #86868b);font-size:18px;cursor:pointer;transition:all .2s}.remove-item-btn:hover{background:#ff3b301a;border-color:var(--color-danger, #ff3b30);color:var(--color-danger, #ff3b30)}.items-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:2px solid var(--color-success, #34c759);font-size:16px;font-weight:600}.total-amount{font-size:20px;color:var(--color-success, #34c759)}.form-section textarea{width:100%;padding:12px;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;font-size:14px;resize:vertical;min-height:80px;font-family:inherit}.form-section textarea:focus{outline:none;border-color:var(--color-primary, #007aff);box-shadow:0 0 0 3px #007aff1a}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px}.cancel-btn,.save-draft-btn,.submit-btn,.add-btn{padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn{background:var(--color-background-secondary, #f5f5f7);border:1px solid var(--color-border, #e5e5ea);color:var(--color-text-primary, #1d1d1f)}.cancel-btn:hover:not(:disabled){background:var(--color-border, #e5e5ea)}.save-draft-btn{background:#fff;border:1px solid var(--color-primary, #007aff);color:var(--color-primary, #007aff)}.save-draft-btn:hover:not(:disabled){background:#007aff0d}.submit-btn,.add-btn{background:var(--color-accent);border:none;color:var(--color-text-inverse)}.submit-btn:hover:not(:disabled),.add-btn:hover:not(:disabled){background:var(--color-accent-hover)}.cancel-btn:disabled,.save-draft-btn:disabled,.submit-btn:disabled,.add-btn:disabled{opacity:.5;cursor:not-allowed}.access-denied,.no-companies{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:12px}.access-denied h2,.no-companies h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.access-denied p,.no-companies p{color:var(--color-text-secondary, #86868b);font-size:14px;margin:0 0 20px}.primary-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) 20px;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal)}.primary-btn:hover{background:var(--color-accent-hover)}@media (max-width: 768px){.create-request-container{padding:16px}.form-row,.stages-grid{grid-template-columns:1fr}.apartment-header{flex-direction:column}.budget-info{width:100%;justify-content:flex-start}.form-actions{flex-direction:column}.form-actions button{width:100%}.selected-item{flex-wrap:wrap}.item-info{min-width:100%}.item-amount{flex:1;text-align:right}}.payment-requests-container{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.page-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.page-header .subtitle{color:var(--color-text-secondary, #86868b);font-size:14px;margin:4px 0 0}.contractor-name{font-weight:500}.new-request-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px 16px;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal);text-decoration:none;white-space:nowrap;line-height:1}.new-request-btn svg{flex-shrink:0;display:block;width:16px;height:16px;stroke:#fff!important;color:#fff!important;vertical-align:middle;margin-bottom:0!important}.new-request-btn:hover{background:var(--color-accent-hover);color:var(--color-text-inverse)}.payment-requests-container .stats-row{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.payment-requests-container .stat-item{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.payment-requests-container .stat-item:hover{background:var(--color-background-secondary, #f5f5f7)}.payment-requests-container .stat-item.active{border-color:var(--color-primary, #007aff);background:#007aff0d}.payment-requests-container .stat-count{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-text-primary);min-width:20px}.payment-requests-container .stat-count.draft{color:var(--color-text-secondary)}.payment-requests-container .stat-count.pending{color:var(--color-warning)}.payment-requests-container .stat-count.awaiting{color:var(--color-info)}.payment-requests-container .stat-count.paid{color:var(--color-success)}.payment-requests-container .stat-item .stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.payment-requests-container .stat-item .stat-amount{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:auto}.payment-requests-container .error-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);border-radius:8px;color:var(--color-danger, #ff3b30);font-size:13px;margin-bottom:16px}.payment-requests-container .error-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--color-danger, #ff3b30);color:#fff;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.payment-requests-container .requests-list{display:flex;flex-direction:column;gap:8px}.payment-requests-container .request-card{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;overflow:hidden;transition:all .2s}.payment-requests-container .request-card:hover{border-color:var(--color-border-hover, #d1d1d6)}.payment-requests-container .request-card.draft{border-left:3px solid var(--color-text-secondary, #86868b)}.payment-requests-container .request-card.pending{border-left:3px solid var(--color-warning, #ff9500)}.payment-requests-container .request-card.awaiting{border-left:3px solid var(--color-primary, #007aff)}.payment-requests-container .request-card.paid{border-left:3px solid var(--color-success, #34c759)}.payment-requests-container .request-card.voided{border-left:3px solid var(--color-text-secondary, #86868b);opacity:.7}.payment-requests-container .request-card.overdue{border-color:var(--color-danger, #ff3b30)}.payment-requests-container .request-card.expanded{box-shadow:0 2px 8px #00000014}.payment-requests-container .request-row{display:grid;grid-template-columns:20px 200px 1fr 90px 150px;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s}.payment-requests-container .request-row:hover{background:var(--color-background-secondary, #f5f5f7)}.payment-requests-container .expand-icon{font-size:10px;color:var(--color-text-tertiary, #aeaeb2);text-align:center}.payment-requests-container .request-id-col{display:flex;flex-direction:column;gap:2px;min-width:0}.payment-requests-container .request-number-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.payment-requests-container .request-number{font-size:14px;font-weight:600;color:var(--color-text-primary, #1d1d1f)}.payment-requests-container .request-id-col .invoice-number{font-size:12px;color:var(--color-text-tertiary, #aeaeb2)}.payment-requests-container .status-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:10px;font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium)}.payment-requests-container .status-badge.draft{background:var(--color-badge-neutral-bg);color:var(--color-text-secondary)}.payment-requests-container .status-badge.submitted,.payment-requests-container .status-badge.reviewing{background:var(--color-badge-warning-bg);color:var(--color-warning)}.payment-requests-container .status-badge.awaiting{background:var(--color-badge-info-bg);color:var(--color-info)}.payment-requests-container .status-badge.paid{background:var(--color-badge-success-bg);color:var(--color-success)}.payment-requests-container .status-badge.voided{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-secondary, #86868b);text-decoration:line-through}.payment-requests-container .status-badge.cancelled{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-secondary, #86868b)}.payment-requests-container .void-reason-banner{background:var(--color-badge-warning-bg, #fff8e1);border-left:4px solid var(--color-warning, #ff9500);padding:12px 16px;margin-bottom:16px;border-radius:0 8px 8px 0;font-size:13px;color:var(--color-text-primary)}.payment-requests-container .overdue-badge{display:inline-block;padding:2px 6px;background:var(--color-danger, #ff3b30);color:#fff;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.5px}.payment-requests-container .request-company-col{display:flex;align-items:center;overflow:hidden}.payment-requests-container .company-name{font-size:13px;font-weight:500;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-requests-container .request-amount-col{text-align:right}.payment-requests-container .amount-value{font-size:14px;font-weight:700;color:var(--color-text-primary, #1d1d1f)}.payment-requests-container .amount-value.approved{color:var(--color-success, #34c759)}.payment-requests-container .request-dates-col{display:flex;flex-direction:column;gap:2px;min-width:120px}.payment-requests-container .request-dates-col .date-row{display:flex;justify-content:space-between;gap:8px;font-size:11px}.payment-requests-container .request-dates-col .date-label{color:var(--color-text-tertiary, #aeaeb2)}.payment-requests-container .request-dates-col .date-value{color:var(--color-text-secondary, #86868b);font-weight:500}.payment-requests-container .request-dates-col .date-row.overdue .date-label,.payment-requests-container .request-dates-col .date-row.overdue .date-value{color:var(--color-danger, #ff3b30)}.payment-requests-container .request-dates-col .date-row.paid .date-label,.payment-requests-container .request-dates-col .date-row.paid .date-value{color:var(--color-success, #34c759)}.payment-requests-container .request-details{border-top:1px solid var(--color-border, #e5e5ea);padding:16px;background:var(--color-background-secondary, #f5f5f7)}.payment-requests-container .items-section{display:flex;flex-direction:column;gap:12px}.payment-requests-container .apartment-group{background:#fff;border-radius:6px;padding:10px 12px}.payment-requests-container .apartment-name{font-size:12px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border, #e5e5ea)}.payment-requests-container .items-list{display:flex;flex-direction:column;gap:6px}.payment-requests-container .item-row{display:flex;align-items:center;gap:8px;padding:4px 8px}.payment-requests-container .item-row.declined{opacity:.6}.payment-requests-container .item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.payment-requests-container .item-icon.approved{color:var(--color-success, #34c759)}.payment-requests-container .item-icon.declined{color:var(--color-danger, #ff3b30)}.payment-requests-container .item-icon.pending{color:var(--color-text-tertiary, #aeaeb2)}.payment-requests-container .item-name{flex:1;font-size:13px;color:var(--color-text-primary, #1d1d1f)}.payment-requests-container .item-amount{font-size:13px;font-weight:600;color:var(--color-text-primary, #1d1d1f)}.payment-requests-container .decline-reason{font-size:11px;color:var(--color-danger, #ff3b30);font-style:italic;flex-basis:100%;margin-left:24px}.payment-requests-container .request-totals{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#fff;border-radius:6px;margin-top:12px}.payment-requests-container .total-row{display:flex;justify-content:space-between;align-items:center}.payment-requests-container .total-label{font-size:13px;font-weight:500;color:var(--color-text-secondary, #86868b)}.payment-requests-container .total-value{font-size:14px;font-weight:700;color:var(--color-text-primary, #1d1d1f)}.payment-requests-container .total-row.approved .total-label,.payment-requests-container .total-row.approved .total-value{color:var(--color-success, #34c759)}.payment-requests-container .total-row.declined .total-label,.payment-requests-container .total-row.declined .total-value{color:var(--color-danger, #ff3b30)}.payment-requests-container .request-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border, #e5e5ea)}.payment-requests-container .action-btn{padding:var(--space-sm) 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);border:none;display:inline-flex;align-items:center;gap:6px}.payment-requests-container .action-btn.edit{background:var(--color-accent);color:var(--color-text-inverse)}.payment-requests-container .action-btn.edit:hover{background:var(--color-accent-hover)}.payment-requests-container .action-btn.cancel{background:#fff;border:1px solid var(--color-border, #e5e5ea);color:var(--color-text-secondary, #86868b)}.payment-requests-container .action-btn.cancel:hover{border-color:var(--color-danger, #ff3b30);color:var(--color-danger, #ff3b30)}.payment-requests-container .action-btn.download{background:var(--color-bg-secondary);border:var(--border-width-thick) solid var(--color-success);color:var(--color-success)}.payment-requests-container .action-btn.download:hover:not(:disabled){background:var(--color-badge-success-bg)}.payment-requests-container .action-btn.download:disabled{opacity:.6;cursor:not-allowed}.payment-requests-container .action-btn.download svg{flex-shrink:0}.payment-requests-container .action-btn:disabled{opacity:.5;cursor:not-allowed}.payment-requests-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:10px;color:var(--color-text-secondary, #86868b)}.payment-requests-container .empty-state svg{margin-bottom:12px;opacity:.5}.payment-requests-container .empty-state h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.payment-requests-container .empty-state p{color:var(--color-text-secondary, #86868b);font-size:14px;margin:0 0 16px!important}.payment-requests-container .empty-state .new-request-btn{margin-top:0}.payment-requests-container .access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:12px}.payment-requests-container .access-denied h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.payment-requests-container .access-denied p{color:var(--color-text-secondary, #86868b);font-size:13px;margin:0}@media (max-width: 900px){.payment-requests-container .request-row{grid-template-columns:20px 160px 1fr 80px 120px;gap:8px}}@media (max-width: 768px){.payment-requests-container{padding:16px}.page-header{flex-direction:column;align-items:stretch}.new-request-btn{justify-content:center}.payment-requests-container .stats-row{flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.payment-requests-container .stat-item{padding:8px 12px}.payment-requests-container .stat-item .stat-amount{display:none}.payment-requests-container .request-row{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 14px}.payment-requests-container .expand-icon{order:-1}.payment-requests-container .request-id-col{flex:1;min-width:140px}.payment-requests-container .request-company-col{flex-basis:100%;order:10}.payment-requests-container .request-amount-col{margin-left:auto}.payment-requests-container .request-dates-col{flex-basis:100%;flex-direction:row;gap:16px;order:11}.payment-requests-container .request-dates-col .date-row{flex-direction:row;gap:4px}.payment-requests-container .request-actions{flex-wrap:wrap}}.payment-management-container{padding:24px;max-width:1200px;margin:0 auto}.payment-management-container .page-header{margin-bottom:20px}.payment-management-container .page-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.payment-management-container .stats-row{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.payment-management-container .stat-item{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.payment-management-container .stat-item:hover{background:var(--color-background-secondary, #f5f5f7)}.payment-management-container .stat-item.active{border-color:var(--color-primary, #007aff);background:#007aff0d}.payment-management-container .stat-count{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-text-primary);min-width:20px}.payment-management-container .stat-count.pending{color:var(--color-warning)}.payment-management-container .stat-count.awaiting{color:var(--color-info)}.payment-management-container .stat-count.paid{color:var(--color-success)}.payment-management-container .stat-item .stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.payment-management-container .stat-item .stat-amount{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:auto}.payment-management-container .error-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);border-radius:8px;color:var(--color-danger, #ff3b30);font-size:13px;margin-bottom:16px}.payment-management-container .error-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--color-danger, #ff3b30);color:#fff;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.payment-management-container .requests-list{display:flex;flex-direction:column;gap:8px}.payment-management-container .request-card{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;overflow:hidden;transition:all .2s}.payment-management-container .request-card:hover{border-color:var(--color-border-hover, #d1d1d6)}.payment-management-container .request-card.pending{border-left:3px solid var(--color-warning, #ff9500)}.payment-management-container .request-card.awaiting{border-left:3px solid var(--color-primary, #007aff)}.payment-management-container .request-card.paid{border-left:3px solid var(--color-success, #34c759)}.payment-management-container .request-card.urgent{border-color:var(--color-warning, #ff9500)}.payment-management-container .request-card.overdue{border-color:var(--color-danger, #ff3b30)}.payment-management-container .request-card.expanded{box-shadow:0 2px 8px #00000014}.payment-management-container .request-row{display:grid;grid-template-columns:20px 200px 1fr 90px 150px;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s}.payment-management-container .request-row:hover{background:var(--color-background-secondary, #f5f5f7)}.payment-management-container .expand-icon{font-size:10px;color:var(--color-text-tertiary, #aeaeb2);text-align:center}.payment-management-container .request-id-col{display:flex;flex-direction:column;gap:2px;min-width:0}.payment-management-container .request-number-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.payment-management-container .request-number{font-size:14px;font-weight:600;color:var(--color-text-primary, #1d1d1f)}.payment-management-container .request-id-col .invoice-number{font-size:12px;color:var(--color-text-tertiary, #aeaeb2)}.payment-management-container .status-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:10px;font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium)}.payment-management-container .status-badge.submitted{background:var(--color-badge-warning-bg);color:var(--color-warning)}.payment-management-container .status-badge.reviewing{background:var(--color-badge-info-bg);color:var(--color-info)}.payment-management-container .status-badge.processed{background:var(--color-badge-success-bg);color:var(--color-success)}.payment-management-container .status-badge.awaiting{background:var(--color-badge-info-bg);color:var(--color-info)}.payment-management-container .status-badge.paid{background:var(--color-badge-success-bg);color:var(--color-success)}.payment-management-container .status-badge.voided{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-secondary, #86868b);text-decoration:line-through}.payment-management-container .status-badge.cancelled{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-secondary, #86868b)}.payment-management-container .new-badge,.payment-management-container .overdue-badge{display:inline-block;padding:2px 6px;background:var(--color-danger, #ff3b30);color:#fff;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.5px}.payment-management-container .request-contractor{display:flex;align-items:center;gap:6px;overflow:hidden}.payment-management-container .contractor-name{font-size:13px;font-weight:500;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-management-container .billing-company{font-size:12px;color:var(--color-text-tertiary, #aeaeb2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-management-container .request-amount-col{text-align:right}.payment-management-container .amount-value{font-size:14px;font-weight:700;color:var(--color-text-primary, #1d1d1f)}.payment-management-container .amount-value.approved{color:var(--color-success, #34c759)}.payment-management-container .request-dates-col{display:flex;flex-direction:column;gap:2px;min-width:120px}.payment-management-container .request-dates-col .date-row{display:flex;justify-content:space-between;gap:8px;font-size:11px}.payment-management-container .request-dates-col .date-label{color:var(--color-text-tertiary, #aeaeb2)}.payment-management-container .request-dates-col .date-value{color:var(--color-text-secondary, #86868b);font-weight:500}.payment-management-container .request-dates-col .date-row.overdue .date-label,.payment-management-container .request-dates-col .date-row.overdue .date-value{color:var(--color-danger, #ff3b30)}.payment-management-container .request-dates-col .date-row.paid .date-label,.payment-management-container .request-dates-col .date-row.paid .date-value{color:var(--color-success, #34c759)}.payment-management-container .request-details{border-top:1px solid var(--color-border, #e5e5ea);padding:16px;background:var(--color-background-secondary, #f5f5f7)}.payment-management-container .items-section{display:flex;flex-direction:column;gap:12px}.payment-management-container .apartment-group{background:#fff;border-radius:6px;padding:10px 12px}.payment-management-container .apartment-name{font-size:12px;font-weight:600;color:var(--color-text-primary, #1d1d1f);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border, #e5e5ea)}.payment-management-container .items-list{display:flex;flex-direction:column;gap:6px}.payment-management-container .item-row{display:flex;align-items:center;gap:8px;padding:4px 8px}.payment-management-container .item-row.declined{opacity:.6}.payment-management-container .item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.payment-management-container .item-icon.approved{color:var(--color-success, #34c759)}.payment-management-container .item-icon.declined{color:var(--color-danger, #ff3b30)}.payment-management-container .item-icon.pending{color:var(--color-text-tertiary, #aeaeb2)}.payment-management-container .item-name{flex:1;font-size:13px;color:var(--color-text-primary, #1d1d1f)}.payment-management-container .item-amount{font-size:13px;font-weight:600;color:var(--color-text-primary, #1d1d1f)}.payment-management-container .decline-reason{font-size:11px;color:var(--color-danger, #ff3b30);font-style:italic;flex-basis:100%;margin-left:24px}.payment-management-container .request-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border, #e5e5ea)}.payment-management-container .action-btn{padding:var(--space-sm) 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);border:none;display:inline-flex;align-items:center;gap:6px}.payment-management-container .action-btn.review{background:var(--color-accent);color:var(--color-text-inverse)}.payment-management-container .action-btn.review:hover{background:var(--color-accent-hover)}.payment-management-container .action-btn.download{background:var(--color-bg-secondary);border:var(--border-width-thick) solid var(--color-success);color:var(--color-success)}.payment-management-container .action-btn.download:hover:not(:disabled){background:var(--color-badge-success-bg)}.payment-management-container .action-btn.download:disabled{opacity:.6;cursor:not-allowed}.payment-management-container .action-btn.download svg{flex-shrink:0}.payment-management-container .action-btn.mark-paid{background:var(--color-success);color:var(--color-text-inverse)}.payment-management-container .action-btn.mark-paid:hover:not(:disabled){background:var(--color-success-hover)}.payment-management-container .action-btn.mark-paid:disabled{opacity:.6;cursor:not-allowed}.payment-management-container .action-btn.delete{background:var(--color-bg-secondary);border:var(--border-width-thick) solid var(--color-error);color:var(--color-error)}.payment-management-container .action-btn.delete:hover:not(:disabled){background:var(--color-badge-error-bg)}.payment-management-container .action-btn.delete:disabled{opacity:.6;cursor:not-allowed}.payment-management-container .action-btn.void{background:var(--color-bg-secondary);border:var(--border-width-thick, 1.5px) solid var(--color-warning, #ff9500);color:var(--color-warning, #ff9500)}.payment-management-container .action-btn.void:hover:not(:disabled){background:var(--color-badge-warning-bg, #fff8e1)}.payment-management-container .action-btn.void:disabled{opacity:.6;cursor:not-allowed}.payment-management-container .void-reason-banner{background:var(--color-badge-warning-bg, #fff8e1);border-left:4px solid var(--color-warning, #ff9500);padding:12px 16px;margin-bottom:16px;border-radius:0 8px 8px 0;font-size:13px;color:var(--color-text-primary)}.payment-management-container .void-reason-banner .void-by{color:var(--color-text-secondary, #86868b);font-size:12px}.payment-management-container .request-card.voided{opacity:.7}.payment-management-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:10px;color:var(--color-text-secondary, #86868b)}.payment-management-container .empty-state svg{margin-bottom:12px;opacity:.5}.payment-management-container .empty-state h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.payment-management-container .access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:12px}.payment-management-container .access-denied h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.payment-management-container .access-denied p{color:var(--color-text-secondary, #86868b);font-size:13px;margin:0}@media (max-width: 900px){.payment-management-container .request-row{grid-template-columns:20px 160px 1fr 80px 120px;gap:8px}}@media (max-width: 768px){.payment-management-container{padding:16px}.payment-management-container .stats-row{flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.payment-management-container .stat-item{padding:8px 12px}.payment-management-container .stat-item .stat-amount{display:none}.payment-management-container .request-row{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 14px}.payment-management-container .expand-icon{order:-1}.payment-management-container .request-id-col{flex:1;min-width:140px}.payment-management-container .request-contractor{flex-basis:100%;order:10}.payment-management-container .request-amount-col{margin-left:auto}.payment-management-container .request-dates-col{flex-basis:100%;flex-direction:row;gap:16px;order:11}.payment-management-container .request-dates-col .date-row{flex-direction:row;gap:4px}.payment-management-container .request-actions{flex-wrap:wrap}}.review-request-container{padding:24px;max-width:1200px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:13px}.breadcrumb a{color:var(--color-primary, #007aff);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator{color:var(--color-text-tertiary, #aeaeb2)}.breadcrumb span:last-child{color:var(--color-text-secondary, #86868b)}.review-header{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:12px;padding:20px;margin-bottom:20px}.header-main{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.header-main h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.request-status-badge{padding:6px var(--space-md);border-radius:16px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.request-status-badge.reviewing{background:var(--color-badge-info-bg);color:var(--color-info)}.request-status-badge.processed{background:var(--color-badge-success-bg);color:var(--color-success)}.header-meta{display:flex;flex-wrap:wrap;gap:20px}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:12px;color:var(--color-text-tertiary, #aeaeb2)}.meta-value{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f)}.contractor-notes-box{background:linear-gradient(135deg,#e3f2fd,#f5f9ff);border:1px solid rgba(0,122,255,.2);border-radius:10px;padding:16px;margin-bottom:20px}.contractor-notes-box h3{font-size:13px;font-weight:600;color:var(--color-primary, #007aff);margin:0 0 8px}.contractor-notes-box p{font-size:14px;color:var(--color-text-primary, #1d1d1f);margin:0;line-height:1.5}.review-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.stat-box{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:10px;padding:14px 16px;text-align:center}.stat-box .stat-value{font-size:20px;font-weight:700;color:var(--color-text-primary, #1d1d1f);display:block;margin-bottom:2px}.stat-box .stat-label{font-size:12px;color:var(--color-text-secondary, #86868b)}.stat-box.pending{background:linear-gradient(135deg,#fff3e0,#fffbf5);border-color:var(--color-warning, #ff9500)}.stat-box.pending .stat-value{color:var(--color-warning, #ff9500)}.stat-box.approved{background:linear-gradient(135deg,#e8f5e9,#f5fbf6);border-color:var(--color-success, #34c759)}.stat-box.approved .stat-value{color:var(--color-success, #34c759)}.stat-box.declined{background:linear-gradient(135deg,#ffebee,#fff5f5);border-color:var(--color-danger, #ff3b30)}.stat-box.declined .stat-value{color:var(--color-danger, #ff3b30)}.bulk-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.approve-all-btn{padding:10px 18px;background:var(--color-success);border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal)}.approve-all-btn:hover:not(:disabled){background:var(--color-success-hover)}.approve-all-btn:disabled{opacity:.6;cursor:not-allowed}.items-section{background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:12px;padding:20px;margin-bottom:20px}.items-section h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 16px}.apartment-group{margin-bottom:20px}.apartment-group:last-child{margin-bottom:0}.apartment-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-background-secondary, #f5f5f7);border-radius:8px;margin-bottom:10px}.apartment-header.custom{background:linear-gradient(135deg,#fff3e0,#fffbf5)}.apartment-link{font-size:14px;font-weight:600;color:var(--color-primary, #007aff);text-decoration:none}.apartment-link:hover{text-decoration:underline}.apartment-code{font-size:12px;color:var(--color-text-tertiary, #aeaeb2)}.items-list{display:flex;flex-direction:column;gap:4px}.item-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-background-secondary, #f5f5f7);border-radius:6px;border:1px solid transparent}.item-row.approved{background:#34c75914;border-color:#34c75933}.item-row.declined{background:#ff3b3014;border-color:#ff3b3033}.item-row.pending{background:#fff;border-color:var(--color-border, #e5e5ea)}.item-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.item-description{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.description-text{font-size:14px;font-weight:500;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-badge{display:inline-block;padding:2px 6px;background:#ff950026;color:var(--color-warning, #ff9500);font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;flex-shrink:0}.item-amount{font-size:14px;font-weight:600;color:var(--color-text-primary, #1d1d1f);white-space:nowrap;min-width:80px;text-align:right}.item-status-row{display:flex;align-items:center;gap:8px;flex-shrink:0}.item-status-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.item-status-badge.pending{background:#ff950026;color:var(--color-warning, #ff9500)}.item-status-badge.approved{background:#34c75926;color:var(--color-success, #34c759)}.item-status-badge.declined{background:#ff3b3026;color:var(--color-danger, #ff3b30)}.decline-reason{font-size:12px;color:var(--color-danger, #ff3b30);font-style:italic;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decline-reason-text{font-size:12px;color:var(--color-danger, #ff3b30);font-style:italic}.stage-badge{display:inline-block;padding:2px 8px;background:#007aff1a;color:var(--color-primary, #007aff);font-size:11px;font-weight:600;border-radius:4px}.item-actions{display:flex;gap:6px;flex-shrink:0;margin-left:auto}.approve-btn,.decline-btn{padding:5px 12px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.approve-btn{background:var(--color-success);border:none;color:var(--color-text-inverse)}.approve-btn:hover:not(:disabled){background:var(--color-success-hover)}.decline-btn{background:var(--color-bg-secondary);border:var(--border-width-thick) solid var(--color-error);color:var(--color-error)}.decline-btn:hover:not(:disabled){background:var(--color-badge-error-bg)}.approve-btn:disabled,.decline-btn:disabled,.undo-btn:disabled{opacity:.5;cursor:not-allowed}.undo-btn{padding:5px 12px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;border:1px solid var(--color-text-tertiary, #aeaeb2);color:var(--color-text-secondary, #86868b)}.undo-btn:hover:not(:disabled){background:var(--color-background-secondary, #f5f5f7);border-color:var(--color-text-secondary, #86868b);color:var(--color-text-primary, #1d1d1f)}.review-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border:1px solid var(--color-border, #e5e5ea);border-radius:12px;gap:16px;flex-wrap:wrap}.review-footer .cancel-btn,.review-footer .back-btn{padding:12px 20px;background:var(--color-background-secondary, #f5f5f7);border:1px solid var(--color-border, #e5e5ea);border-radius:8px;color:var(--color-text-primary, #1d1d1f);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .2s}.review-footer .cancel-btn:hover,.review-footer .back-btn:hover{background:var(--color-border, #e5e5ea);color:var(--color-text-primary, #1d1d1f)}.complete-btn{padding:var(--space-md) var(--space-xl);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal)}.complete-btn:hover:not(:disabled){background:var(--color-accent-hover)}.complete-btn:disabled{opacity:.5;cursor:not-allowed}.review-footer.processed{justify-content:space-between}.processed-info{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--color-text-secondary, #86868b)}.access-denied,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--color-background-secondary, #f5f5f7);border-radius:12px}.access-denied h2,.error-state h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.access-denied p,.error-state p{color:var(--color-text-secondary, #86868b);font-size:14px;margin:0 0 20px}.error-state .back-btn{display:inline-block;padding:12px 20px;background:var(--color-primary, #007aff);color:#fff;border-radius:8px;text-decoration:none;font-size:14px;font-weight:500}.actions-bar.view-only{display:flex;justify-content:flex-start;padding:16px 0;margin-top:20px;border-top:1px solid var(--color-border, #e5e5ea)}.actions-bar .back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-background-secondary, #f5f5f7);color:var(--color-text-primary, #1d1d1f);border-radius:8px;text-decoration:none;font-size:14px;font-weight:500;transition:background .2s}.actions-bar .back-btn:hover{background:var(--color-border, #e5e5ea);color:var(--color-text-primary, #1d1d1f)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-content h3{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 12px}.modal-item-desc{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--color-background-secondary, #f5f5f7);border-radius:8px;font-size:14px;color:var(--color-text-primary, #1d1d1f);margin-bottom:16px}.modal-item-amount{font-weight:600;color:var(--color-text-primary, #1d1d1f);margin-left:12px}.modal-content label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary, #86868b);margin-bottom:6px}.modal-content textarea{width:100%;padding:12px;border:1px solid var(--color-border, #e5e5ea);border-radius:8px;font-size:14px;resize:vertical;min-height:80px;font-family:inherit;margin-bottom:16px}.modal-content textarea:focus{outline:none;border-color:var(--color-danger, #ff3b30);box-shadow:0 0 0 3px #ff3b301a}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions .cancel-btn{padding:10px 18px;background:var(--color-background-secondary, #f5f5f7);border:1px solid var(--color-border, #e5e5ea);border-radius:8px;color:var(--color-text-primary, #1d1d1f);font-size:14px;font-weight:500;cursor:pointer}.decline-confirm-btn{padding:10px 18px;background:var(--color-danger, #ff3b30);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.decline-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.invoice-success-modal{text-align:center;max-width:420px}.invoice-success-icon{margin-bottom:16px}.invoice-success-modal h3{font-size:20px;margin-bottom:8px;color:var(--color-success, #34c759)}.invoice-number{font-size:18px;font-weight:700;color:var(--color-text-primary, #1d1d1f);margin:0 0 4px}.invoice-amount{font-size:28px;font-weight:700;color:var(--color-success, #34c759);margin:0 0 20px}.invoice-sent-info{background:var(--color-background-secondary, #f5f5f7);border-radius:10px;padding:16px;margin-bottom:20px;text-align:left}.invoice-sent-title{font-size:13px;font-weight:600;color:var(--color-text-secondary, #86868b);margin:0 0 10px}.invoice-recipients{list-style:none;padding:0;margin:0}.invoice-recipients li{font-size:14px;color:var(--color-text-primary, #1d1d1f);padding:4px 0;display:flex;align-items:center;gap:8px}.invoice-recipients li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--color-success, #34c759);border-radius:50%;flex-shrink:0}.no-recipients{font-size:13px;color:var(--color-text-tertiary, #aeaeb2);font-style:italic;margin:0}.invoice-modal-actions{display:flex;flex-direction:column;gap:10px}.download-invoice-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:var(--color-success, #34c759);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.download-invoice-btn:hover{background:#2db34f}.done-btn{width:100%;padding:14px 20px;background:var(--color-background-secondary, #f5f5f7);border:1px solid var(--color-border, #e5e5ea);border-radius:10px;color:var(--color-text-primary, #1d1d1f);font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.done-btn:hover{background:var(--color-border, #e5e5ea)}.complete-confirm-modal{text-align:center;max-width:420px}.confirm-icon{margin-bottom:12px}.complete-confirm-modal h3{font-size:20px;margin-bottom:12px;color:var(--color-text-primary, #1d1d1f)}.confirm-message{font-size:14px;color:var(--color-text-secondary, #86868b);margin:0 0 8px}.confirm-amount{font-size:28px;font-weight:700;color:var(--color-primary, #007aff);margin:0 0 20px}.confirm-recipients{background:#fff8e6;border:1px solid #ffd666;border-radius:10px;padding:16px;margin-bottom:20px;text-align:left}.recipients-title{font-size:13px;font-weight:600;color:#946200;margin:0 0 10px}.recipients-list{list-style:none;padding:0;margin:0 0 8px}.recipients-list li{font-size:14px;color:var(--color-text-primary, #1d1d1f);padding:4px 0;display:flex;align-items:center;gap:8px}.recipients-list li:before{content:"";display:inline-block;width:6px;height:6px;background:#ff9500;border-radius:50%;flex-shrink:0}.recipients-note{font-size:12px;color:var(--color-text-tertiary, #aeaeb2);font-style:italic;margin:0;padding-top:8px;border-top:1px dashed #ffd666}.manage-recipients-link{display:inline-block;margin-top:12px;font-size:13px;color:var(--color-primary, #007aff);text-decoration:none;padding-top:8px;border-top:1px dashed #ffd666}.manage-recipients-link:hover{text-decoration:underline}.confirm-complete-btn{flex:1;padding:var(--space-md) 20px;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-normal)}.confirm-complete-btn:hover{background:var(--color-accent-hover)}@media (max-width: 768px){.review-request-container{padding:16px}.header-main{flex-direction:column;align-items:flex-start}.header-meta{flex-direction:column;gap:12px}.review-stats{grid-template-columns:1fr 1fr}.item-main{flex-direction:column;align-items:flex-start}.item-amount{align-self:flex-end}.item-actions{flex-direction:column}.item-actions button{width:100%}.review-footer{flex-direction:column;align-items:stretch}.review-footer .cancel-btn,.review-footer .back-btn,.complete-btn{width:100%;text-align:center}.modal-content{padding:20px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.planning-page{padding:var(--space-xl);max-width:1600px;margin:0 auto}.planning-header{margin-bottom:var(--space-xl)}.planning-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap}.contractor-auth-status{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.contractor-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.btn-logout{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.btn-logout:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-text-secondary);color:var(--color-text-primary)}.btn-logout:disabled{opacity:.6;cursor:not-allowed}.planning-header h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.planning-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.planning-summary{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-xl)}.planning-summary.workflow-summary{justify-content:flex-start}.planning-summary .summary-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);text-align:center;min-width:140px;transition:all var(--transition-fast)}.planning-summary .summary-card.clickable{cursor:pointer}.planning-summary .summary-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.planning-summary .summary-value{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.planning-summary .summary-label{font-size:.8rem;color:var(--color-text-secondary);margin-top:var(--space-xs);white-space:nowrap}.planning-summary .summary-card.stage-ready{background:#ff3b3014;border-color:#ff3b3033}.planning-summary .summary-card.stage-ready .summary-value{color:#ff3b30}.planning-summary .summary-card.stage-waiting{background:#ffcc001a;border-color:#ffcc004d}.planning-summary .summary-card.stage-waiting .summary-value{color:#c90}.planning-summary .summary-card.stage-progress{background:#007aff14;border-color:#007aff33}.planning-summary .summary-card.stage-progress .summary-value{color:#007aff}.planning-summary .summary-card.stage-not-started{background:var(--color-bg-tertiary);border-color:var(--color-border)}.planning-summary .summary-card.stage-completed{background:#34c75914;border-color:#34c75933}.planning-summary .summary-card.stage-completed .summary-value{color:#34c759}.planning-tabs{display:flex;background:var(--color-bg-tertiary);border-radius:10px;padding:4px;margin-bottom:var(--space-xl);gap:4px;width:fit-content}.planning-tabs .tab-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-xl);border:none;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.planning-tabs .tab-btn svg{flex-shrink:0;opacity:.6;transition:opacity var(--transition-normal)}.planning-tabs .tab-btn:hover{color:var(--color-text-primary)}.planning-tabs .tab-btn:hover svg{opacity:.8}.planning-tabs .tab-btn.active{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.planning-tabs .tab-btn.active svg{opacity:1}.filters-section{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.filter-group{display:flex;align-items:flex-start;gap:var(--space-md)}.filter-group-label{font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:100px;height:22px;line-height:22px;flex-shrink:0}.filter-results{font-size:13px;color:var(--color-text-secondary);padding-left:112px}.workflow-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);flex:1}.filter-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:11px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-btn:hover{opacity:.85}.filter-btn.active{background:#0051d5;color:#fff;font-weight:600}.filter-btn.filter-initial{background:#8e8e9326;color:#8e8e93}.filter-btn.filter-initial.active{background:#8e8e93;color:#fff}.filter-btn.filter-awaiting{background:#5ac8fa26;color:#5ac8fa}.filter-btn.filter-awaiting.active{background:#5ac8fa;color:#fff}.filter-btn.filter-docnumber{background:#ff950026;color:#ff9500}.filter-btn.filter-docnumber.active{background:#ff9500;color:#fff}.filter-btn.filter-progress{background:#007aff26;color:#007aff}.filter-btn.filter-progress.active{background:#007aff;color:#fff}.filter-btn.filter-rejected{background:#ff3b3026;color:#ff3b30}.filter-btn.filter-rejected.active{background:#ff3b30;color:#fff}.filter-btn.filter-kasutusteatis{background:#af52de26;color:#af52de}.filter-btn.filter-kasutusteatis.active{background:#af52de;color:#fff}.filter-btn.filter-completed{background:#34c75926;color:#34c759}.filter-btn.filter-completed.active{background:#34c759;color:#fff}.filter-btn.filter-status.status-completed{background:#d1fae599;color:#065f46}.filter-btn.filter-status.status-completed.active{background:#065f46;color:#fff}.filter-btn.filter-status.status-almost-ready{background:#ccfbf199;color:#0f766e}.filter-btn.filter-status.status-almost-ready.active{background:#0f766e;color:#fff}.filter-btn.filter-status.status-in-progress{background:#fef3c799;color:#92400e}.filter-btn.filter-status.status-in-progress.active{background:#92400e;color:#fff}.filter-btn.filter-status.status-early{background:#dbeafe99;color:#1e40af}.filter-btn.filter-status.status-early.active{background:#1e40af;color:#fff}.filter-btn.filter-status.status-booked{background:#e0e7ff99;color:#4338ca}.filter-btn.filter-status.status-booked.active{background:#4338ca;color:#fff}.filter-btn.filter-status.status-sold{background:#f3f4f699;color:#6b7280}.filter-btn.filter-status.status-sold.active{background:#6b7280;color:#fff}.filter-btn.filter-contractor{background:#9333ea1a;color:#7c3aed}.filter-btn.filter-contractor.active{background:#7c3aed;color:#fff}.tab-content{min-height:400px}.planning-list{display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.planning-row{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);gap:16px}.planning-row:hover{background:var(--color-bg-tertiary)}.planning-row:last-child{border-bottom:none}.row-main{flex:1;min-width:0}.row-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.stage-emoji{font-size:1.1rem;flex-shrink:0}.planning-row .address{font-weight:600;color:var(--color-text-primary);font-size:15px}.sale-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.row-details{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;color:var(--color-text-secondary)}.row-details .contractor{color:var(--color-text-secondary)}.row-details .file-link{background:none;border:none;padding:0;color:var(--color-accent);cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:none}.row-details .file-link:hover{text-decoration:underline}.row-details .time-info{color:var(--color-text-tertiary)}.row-details .time-info.overdue{color:#ff9500;font-weight:500}.row-details .doc-line{display:flex;align-items:center;gap:8px;width:100%;margin-top:2px}.row-details .doc-line:first-child{margin-top:0}.row-details .doc-nr{font-family:var(--font-mono);font-weight:500;color:var(--color-text-primary);-webkit-user-select:text;user-select:text;cursor:text}.row-details .doc-nr.processing{color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.row-details .doc-type{color:var(--color-text-secondary);font-size:12px}.row-details .no-docs{color:var(--color-text-tertiary);font-style:italic}.row-action{flex-shrink:0;display:flex;align-items:flex-start}.planning-row .btn{padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.planning-row .btn.primary{background:var(--color-accent);color:#fff;border:none}.planning-row .btn.primary:hover{background:var(--color-accent-hover)}.planning-row .btn.primary.pulse{animation:pulse-glow 2s ease-in-out infinite}.planning-row .btn.secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.planning-row .btn.secondary:hover{background:var(--color-bg-quaternary);border-color:var(--color-border-hover)}.planning-row .done-label{color:var(--color-success);font-weight:500;font-size:13px;padding:8px 0}.empty-list{text-align:center;color:var(--color-text-tertiary);padding:var(--space-xl);font-style:italic}.planning-row.stage-not-started{background:var(--color-bg-secondary)}.planning-row.stage-ready-to-send{background:#ff3b300a}.planning-row.stage-ready-to-send:hover{background:#ff3b3014}.planning-row.stage-waiting{background:#ffcc000d}.planning-row.stage-waiting:hover{background:#ffcc001a}.planning-row.stage-in-progress{background:#007aff0a}.planning-row.stage-in-progress:hover{background:#007aff14}.planning-row.stage-completed{background:#34c7590a;opacity:.85}.planning-row.stage-completed:hover{background:#34c75914;opacity:1}.planning-row.needs-attention{background:#ff950014}.planning-row.needs-attention:hover{background:#ff95001f}.planning-row.needs-attention .address{color:#ff9500}.table-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto;max-width:100%}.planning-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.planning-table th{background:var(--color-bg-tertiary);padding:14px var(--space-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.planning-table th.center,.planning-table td.center{text-align:center}.planning-table td{padding:14px var(--space-lg);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.planning-table tbody tr:hover{background:var(--color-bg-tertiary)}.address-cell{max-width:280px}.address-with-status{display:flex;flex-direction:column;gap:4px}.address-text{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.address-with-status .status-badge.small{font-size:10px;padding:2px 6px;width:fit-content}.sold-badge{display:inline-block;margin-left:var(--space-sm);padding:2px 6px;background:#34c75926;color:var(--color-success);font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);vertical-align:middle}.planning-table tbody tr.stage-not-started{background:var(--color-bg-secondary)}.planning-table tbody tr.stage-ready-to-send{background:#ff3b300a}.planning-table tbody tr.stage-ready-to-send:hover{background:#ff3b3014}.planning-table tbody tr.stage-waiting{background:#ffcc000d}.planning-table tbody tr.stage-waiting:hover{background:#ffcc001a}.planning-table tbody tr.stage-in-progress{background:#007aff0a}.planning-table tbody tr.stage-in-progress:hover{background:#007aff14}.planning-table tbody tr.stage-completed{background:#34c7590a;opacity:.8}.planning-table tbody tr.stage-completed:hover{background:#34c75914;opacity:1}.planning-table tbody tr.needs-attention{background:#ff950014}.planning-table tbody tr.needs-attention:hover{background:#ff95001f}.planning-table tbody tr.needs-attention .address-text{color:#ff9500}.stage-cell{width:50px}.stage-indicator{font-size:1.2rem;cursor:default}.days-cell{width:60px}.days-waiting{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:.9rem}.days-waiting.overdue{color:#ff9500;font-weight:var(--font-weight-bold)}.no-days{color:var(--color-text-tertiary)}.contractor-info{display:flex;flex-direction:column;gap:2px}.contractor-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.contractor-email{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.not-assigned{color:var(--color-text-tertiary);font-style:italic}.file-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-sm);background:#007aff1a;color:#007aff;font-size:.85rem;font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg)}.no-files{color:var(--color-text-tertiary)}.invite-sent{color:var(--color-success);font-weight:var(--font-weight-medium)}.invite-not-sent{color:var(--color-text-tertiary)}.document-status{display:flex;flex-direction:column;align-items:center;gap:4px}.status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);font-size:.8rem;white-space:nowrap}.doc-nr{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.no-document{color:var(--color-text-tertiary)}.document-cell{min-width:180px}.document-cell-content{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.no-document-text{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.document-info-btn{display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.document-info-btn:hover{background:var(--color-bg-quaternary);border-color:var(--color-border-hover)}.document-info-btn.expanded{background:var(--color-bg-quaternary);border-color:var(--color-accent)}.document-info-btn .doc-type-short{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.document-info-btn .processing-indicator{display:flex;align-items:center;gap:4px;color:var(--color-text-secondary)}.document-info-btn .expand-icon{color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.document-info-btn.expanded .expand-icon{transform:rotate(180deg)}.doc-count{font-size:10px;color:var(--color-text-tertiary);background:var(--color-bg-quaternary);padding:1px 5px;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.add-doc-btn-inline{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px dashed rgba(255,59,48,.5);border-radius:var(--radius-sm);background:#ff3b3014;color:#ff3b30;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.add-doc-btn-inline:hover{border-color:#ff3b30;background:#ff3b3026;border-style:solid;transform:scale(1.05)}.documents-stack-btn{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:6px 10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;text-align:left}.documents-stack-btn:hover{background:var(--color-bg-quaternary);border-color:var(--color-border-hover)}.documents-stack-btn.expanded{background:var(--color-bg-quaternary);border-color:var(--color-accent)}.documents-stack-btn .expand-icon{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.documents-stack-btn.expanded .expand-icon{transform:translateY(-50%) rotate(180deg)}.doc-row{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap;padding-right:16px}.doc-row .doc-nr-short{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary);max-width:90px;overflow:hidden;text-overflow:ellipsis}.doc-row .doc-type-abbrev{color:var(--color-text-primary);font-weight:var(--font-weight-medium);min-width:50px}.doc-row .status-badge.small{font-size:9px;padding:2px 5px}.expanded-documents-row{background:var(--color-bg-tertiary)}.expanded-documents-row td{padding:0!important;border-bottom:2px solid var(--color-accent);max-width:0}.expanded-documents-content{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);animation:slideDown .2s ease-out;max-width:100%;overflow-x:auto;box-sizing:border-box}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.expanded-doc-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;max-width:100%;box-sizing:border-box}.expanded-doc-card.processing{border-color:#8e8e9366}.expanded-doc-card.not-found{border-color:#ff3b3066;background:#ff3b3005}.expanded-doc-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.expanded-doc-main{display:flex;flex-direction:column;gap:2px}.expanded-doc-main .doc-link{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-accent);text-decoration:none}.expanded-doc-main .doc-link:hover{text-decoration:underline}.expanded-doc-main .doc-link svg{opacity:.5}.expanded-doc-main .doc-link:hover svg{opacity:1}.expanded-doc-main .doc-nr-processing{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text-secondary)}.expanded-doc-type{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.expanded-doc-details{padding:var(--space-md) var(--space-lg)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md) var(--space-lg);max-width:100%}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item.wide{grid-column:span 2}.detail-item .detail-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-item .detail-value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.detail-item .detail-value.mono{font-family:var(--font-mono)}.detail-footer{display:flex;gap:var(--space-lg);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.document-status-container{display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.document-status{display:flex;align-items:center;gap:4px}.add-doc-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);opacity:.6}.add-doc-btn:hover{opacity:1;border-color:var(--color-accent);color:var(--color-accent);background:#007aff0d}.add-doc-btn-empty{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:2px dashed rgba(255,59,48,.5);border-radius:var(--radius-sm);background:#ff3b3014;color:#ff3b30;cursor:pointer;transition:all var(--transition-fast)}.add-doc-btn-empty:hover{border-color:#ff3b30;background:#ff3b3026;border-style:solid;transform:scale(1.05)}.plan-cell{width:60px}.plan-download-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:#007aff1a;color:#007aff;cursor:pointer;transition:all var(--transition-fast)}.plan-download-btn:hover{background:#007aff33;transform:scale(1.05)}.plan-dropdown-container{position:relative;display:inline-block}.plan-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;min-width:120px;overflow:hidden}.plan-dropdown-menu .dropdown-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:10px 14px;border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left}.plan-dropdown-menu .dropdown-item:hover{background:var(--color-bg-tertiary)}.plan-dropdown-menu .dropdown-item svg{color:var(--color-text-secondary);flex-shrink:0}.plan-dropdown-menu .dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.no-plan{color:var(--color-text-tertiary)}.planning-container .actions-cell{display:flex;gap:var(--space-sm);justify-content:center}.planning-container .action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.planning-container .action-btn:hover{background:var(--color-bg-quaternary);color:var(--color-text-primary)}.planning-container .action-btn:disabled{opacity:.4;cursor:not-allowed}.planning-container .action-btn-text{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 12px;border:none;border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.planning-container .action-btn-text:hover{background:var(--color-bg-quaternary);color:var(--color-text-primary)}.planning-container .action-btn-text.primary{background:var(--color-accent);color:#fff}.planning-container .action-btn-text.primary:hover{background:var(--color-accent-hover)}.planning-container .action-btn-text.pulse{animation:pulse-glow 2s ease-in-out infinite}.planning-container .action-btn-text svg{flex-shrink:0}.planning-container .action-btn.assign-btn:hover{color:#007aff}.planning-container .action-btn.upload-btn:hover{color:var(--color-success)}.planning-container .action-btn.send-btn:hover:not(:disabled){background:var(--color-accent);color:#fff}.planning-container .action-btn.primary{background:var(--color-accent);color:#fff}.planning-container .action-btn.primary:hover{background:var(--color-accent-hover)}.planning-container .action-btn.pulse{animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #007aff66}50%{box-shadow:0 0 0 6px #007aff00}}.planning-container .action-btn.view-btn{text-decoration:none;color:var(--color-text-secondary)}.planning-container .action-btn.view-btn:hover{color:#007aff;background:#007aff1a}.completed-check{color:#34c759;font-size:1.25rem;font-weight:var(--font-weight-bold)}.spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner.tiny{width:10px;height:10px;border-width:1.5px;margin-right:4px}.document-item.processing{background:#8e8e931a;animation:pulse 2s ease-in-out infinite}.document-card.processing{border-color:#8e8e9366;animation:pulse 2s ease-in-out infinite}.document-card.not-found{border-color:#ff3b3066;background:#ff3b3005}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--space-lg)}.document-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast)}.document-card:hover{border-color:var(--color-border-hover);box-shadow:0 4px 12px #00000014}.document-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);gap:var(--space-md)}.document-card-main{display:flex;flex-direction:column;gap:var(--space-xs)}.document-card-header .doc-link,.document-card-header .doc-nr-processing{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-accent);text-decoration:none}.document-card-header .doc-nr-processing{color:var(--color-text-secondary)}.document-card-header .doc-link:hover{text-decoration:underline}.document-card-header .doc-link svg{opacity:.5;flex-shrink:0}.document-card-header .doc-link:hover svg{opacity:1}.doc-type-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.document-card-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.document-card-row{display:flex;font-size:var(--font-size-sm);line-height:1.4}.document-card-row .doc-label{min-width:120px;color:var(--color-text-tertiary);flex-shrink:0}.document-card-row .doc-value{color:var(--color-text-primary);word-break:break-word}.document-card-row .doc-value.mono{font-family:var(--font-mono)}.document-card-footer{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.document-card-footer .doc-submitted,.document-card-footer .doc-contractor,.document-card-footer .doc-last-check{white-space:nowrap}.empty-documents{grid-column:1 / -1;text-align:center;color:var(--color-text-tertiary);padding:var(--space-xxl);font-style:italic}.doc-nr-cell{font-family:monospace}.doc-link{color:var(--color-accent);text-decoration:none}.doc-type{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.empty-message{text-align:center;color:var(--color-text-tertiary);padding:var(--space-xl)!important;font-style:italic}.contractors-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.contractors-section .section-header h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.add-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-lg);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.add-btn:hover{background:var(--color-accent-hover)}.contractor-management-note{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary, #f5f5f7);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.contractor-management-note svg{flex-shrink:0;color:var(--color-accent)}.contractor-management-note a{color:var(--color-accent);text-decoration:none;font-weight:var(--font-weight-medium)}.contractor-management-note a:hover{text-decoration:underline}.contractors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.contractor-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.contractor-card-header{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.contractor-avatar{width:48px;height:48px;background:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:var(--font-weight-semibold);flex-shrink:0}.contractor-details h3{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.contractor-details .contractor-email,.contractor-details .contractor-phone{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.contractor-card-actions{display:flex;gap:var(--space-sm);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light)}.edit-btn,.delete-btn{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.edit-btn{color:var(--color-text-primary)}.edit-btn:hover{background:var(--color-bg-tertiary)}.delete-btn{color:var(--color-error);border-color:var(--color-error)}.delete-btn:hover{background:#ff3b301a}.empty-contractors{grid-column:1 / -1;text-align:center;padding:var(--space-2xl);color:var(--color-text-tertiary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.activity-list{display:flex;flex-direction:column;gap:var(--space-sm)}.activity-item{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.activity-icon{width:36px;height:36px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.activity-content{flex:1;min-width:0}.activity-title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}.activity-details{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:4px}.activity-recipient{color:var(--color-accent)}.activity-address{color:var(--color-text-tertiary)}.activity-description{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.activity-meta{display:flex;gap:var(--space-md);align-items:center}.activity-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.activity-performer{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm)}.activity-status{font-size:1.25rem;font-weight:var(--font-weight-bold)}.activity-status.success{color:var(--color-success)}.activity-status.failed{color:var(--color-error)}.empty-activity{text-align:center;padding:var(--space-2xl);color:var(--color-text-tertiary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal{background:var(--color-bg-primary);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold)}.close-btn{width:32px;height:32px;background:transparent;border:none;font-size:1.5rem;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.close-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-body{padding:var(--space-xl);overflow-y:auto}.send-plans-modal{max-width:520px}.apartment-info{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-xl);color:var(--color-text-primary)}.apartment-info .status-badge.small{font-size:10px;padding:2px 6px}.file-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.file-card-icon{width:40px;height:40px;background:#007aff1a;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#007aff;flex-shrink:0}.file-card-info{flex:1;min-width:0}.file-card-name{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card-status{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.file-card-remove{width:36px;height:36px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast);flex-shrink:0}.file-card-remove:hover{background:var(--color-bg-quaternary);color:var(--color-text-primary)}.file-missing-warning{padding:var(--space-md);background:#ff95001a;border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);font-size:13px;text-align:center}.file-upload-area{margin-top:var(--space-sm)}.file-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg);background:var(--color-bg-tertiary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:center}.file-upload-dropzone:hover{background:var(--color-bg-quaternary);border-color:var(--color-accent)}.file-upload-dropzone svg{color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.file-upload-dropzone:hover svg{color:var(--color-accent)}.dropzone-text{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.dropzone-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.send-progress{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.send-progress-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);opacity:.4;transition:all var(--transition-fast)}.progress-step.active,.progress-step.completed{opacity:1}.progress-step .step-number{width:28px;height:28px;border-radius:50%;background:var(--color-bg-quaternary);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);transition:all var(--transition-fast)}.progress-step.active .step-number{background:#007aff26;border-color:#007aff;color:#007aff}.progress-step.completed .step-number{background:#34c75926;border-color:#34c759;color:#34c759}.progress-step .step-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap}.progress-step.active .step-label{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.progress-line{width:40px;height:2px;background:var(--color-border);margin-bottom:20px}.send-progress-text{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.spinner.small{width:14px;height:14px;border-width:2px}.language-options{display:flex;gap:var(--space-sm);flex-wrap:wrap}.language-option{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary)}.language-option:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent)}.language-option.selected{background:#007aff1a;border-color:var(--color-accent)}.language-option input[type=radio]{display:none}.lang-flag{font-size:1.25rem;line-height:1;display:inline-block;vertical-align:middle}.lang-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-block;vertical-align:middle;margin-left:8px}.email-textarea{font-family:inherit;line-height:1.5;resize:vertical;min-height:150px}.language-hint{font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.email-hint{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.sender-email-input{background:var(--color-bg-tertiary)!important;color:var(--color-text-secondary)!important;cursor:not-allowed}.sender-email-input:focus{border-color:var(--color-border)!important}.sender-hint{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.modal-actions .submit-btn.send-btn{display:flex;align-items:center;gap:var(--space-sm);justify-content:center}.modal-actions .submit-btn.send-btn svg{flex-shrink:0}.add-document-modal{max-width:480px}.existing-documents{margin-bottom:var(--space-lg)}.existing-documents label{display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.document-list{display:flex;flex-direction:column;gap:var(--space-xs)}.document-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.document-item .doc-type-label-small{font-size:11px;color:var(--color-text-secondary);min-width:80px;flex-shrink:0}.document-item .doc-nr{font-family:var(--font-mono);color:var(--color-text-primary);flex:1}.document-item .status-badge.small{font-size:10px;padding:2px 6px;flex-shrink:0}.document-nr-input{font-family:var(--font-mono);letter-spacing:.5px}.input-with-button{display:flex;gap:var(--space-sm)}.input-with-button input{flex:1}.validate-btn{display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-md);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.validate-btn:hover:not(:disabled){background:#06c}.validate-btn:disabled{opacity:.6;cursor:not-allowed}.validate-btn .spinner.small{width:14px;height:14px;border-width:2px}.validated-doc-card{background:#34c75914;border:1px solid rgba(52,199,89,.3);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);position:relative}.validated-doc-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.validated-doc-nr{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.validated-doc-details{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-row{display:flex;font-size:var(--font-size-sm)}.detail-label{color:var(--color-text-tertiary);min-width:100px}.detail-value{color:var(--color-text-primary)}.change-doc-btn{position:absolute;top:var(--space-md);right:var(--space-md);background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.change-doc-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.input-hint{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.inline-error{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.625rem .75rem;font-size:.8125rem;line-height:1.4;color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px}.inline-error svg{flex-shrink:0;margin-top:.125rem;color:#dc2626}.document-nr-input.has-error{border-color:#f87171;background-color:#fef2f2}.document-nr-input.has-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg-secondary);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.cancel-btn,.submit-btn{flex:1;padding:12px var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.cancel-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.cancel-btn:hover{background:var(--color-bg-tertiary)}.submit-btn{background:var(--color-accent);border:none;color:#fff}.submit-btn:hover{background:var(--color-accent-hover)}.submit-btn.save-only-btn{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.submit-btn.save-only-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-text-secondary)}.error-message{background:#ff3b301a;color:var(--color-error);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);margin:var(--space-xl)}.toast-notification{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;animation:toast-slide-in .3s ease-out;max-width:90vw}.toast-notification.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.toast-notification.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:14px;flex-shrink:0}.toast-notification.success .toast-icon{background:#bbf7d0;color:#166534}.toast-notification.error .toast-icon{background:#fecaca;color:#b91c1c}.toast-text{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.toast-close{width:24px;height:24px;border:none;background:transparent;color:inherit;opacity:.6;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.toast-close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.workflow-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}}@media (max-width: 768px){.planning-page{padding:var(--space-lg)}.planning-summary{gap:var(--space-sm)}.planning-summary .summary-card{padding:var(--space-md) var(--space-lg);min-width:110px}.planning-summary .summary-value{font-size:1.5rem}.planning-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.workflow-filters{padding-bottom:var(--space-sm)}.filter-btn{padding:6px var(--space-md);font-size:12px}.table-container{overflow-x:auto}.planning-table{min-width:700px}.planning-table th,.planning-table td{padding:var(--space-md)}.contractors-grid{grid-template-columns:1fr}}@media (max-width: 480px){.planning-header h1{font-size:var(--font-size-h1-mobile)}.planning-tabs .tab-btn{flex:1;justify-content:center;padding:10px var(--space-md);font-size:var(--font-size-sm)}.planning-tabs .tab-btn svg{display:none}.contractors-section .section-header{flex-direction:column;gap:var(--space-md);align-items:stretch}.add-btn{justify-content:center}}.doc-details-modal{max-width:560px}.doc-details-list{display:flex;flex-direction:column;gap:var(--space-md)}.doc-detail-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.doc-detail-card.processing{border-color:#8e8e9366;animation:pulse 2s ease-in-out infinite}.doc-detail-card.not-found{border-color:#ff3b3066;background:#ff3b3005}.doc-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.doc-detail-main{display:flex;flex-direction:column;gap:4px}.doc-nr-row{display:flex;align-items:center;gap:var(--space-sm)}.doc-nr-text{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.doc-nr-text.selectable{-webkit-user-select:text;user-select:text;cursor:text}.doc-nr-processing{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary)}.copy-btn,.ehr-link-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.copy-btn:hover,.ehr-link-btn:hover{background:var(--color-bg-quaternary);border-color:var(--color-accent);color:var(--color-accent)}.doc-detail-type{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.doc-detail-body{padding:var(--space-md) var(--space-lg)}.planning-table{display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:visible;position:relative}.planning-table-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.planning-table-row:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-bottom:none}.planning-table-header{display:flex;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.planning-table-header .col-address,.planning-table-header .col-status,.planning-table-header .col-plan,.planning-table-header .col-documents{padding:var(--space-sm) var(--space-md);display:flex;align-items:center;justify-content:flex-start;flex-direction:row;gap:0}.planning-table-row{display:flex;border-bottom:1px solid var(--color-border-light);min-height:64px;align-items:stretch;transition:background var(--transition-fast)}.planning-table-row:hover{background:var(--color-bg-tertiary)}.col-address{width:240px;min-width:240px;max-width:240px;padding:var(--space-md);display:flex;flex-direction:column;justify-content:center;gap:6px}.col-status{width:160px;min-width:160px;max-width:160px;padding:var(--space-md);display:flex;align-items:center;justify-content:center;border-left:1px solid var(--color-border-light)}.col-plan{width:180px;min-width:180px;max-width:180px;padding:var(--space-md);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;border-left:1px solid var(--color-border-light)}.col-documents{flex:1;min-width:280px;padding:var(--space-md);display:flex;flex-direction:column;justify-content:center;gap:var(--space-xs);border-left:1px solid var(--color-border-light)}.address-text{font-weight:var(--font-weight-semibold);font-size:14px;color:var(--color-text-primary);line-height:1.3}.address-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.status-badges-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.address-details .status-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:500;white-space:nowrap}.col-address>.plan-status-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:500;white-space:nowrap;margin-bottom:2px;align-self:flex-start;width:fit-content}.contractor-name{color:var(--color-text-tertiary);font-size:11px}.contractor-name-btn{color:var(--color-text-tertiary);font-size:11px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.contractor-name-btn:hover{text-decoration:underline;color:var(--color-accent)}.badges-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.plan-file-row{display:flex;align-items:center;gap:6px;max-width:100%;width:100%}.col-plan .file-name{font-size:12px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;padding:12px 8px;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-tertiary);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.upload-dropzone:hover{border-color:var(--color-accent);color:var(--color-accent);background:#007aff0d}.upload-dropzone svg{opacity:.6}.upload-dropzone:hover svg{opacity:1}.uploading-indicator{display:flex;align-items:center;gap:var(--space-sm);font-size:12px;color:var(--color-text-secondary)}.uploading-indicator .spinner.small{width:16px;height:16px;border-width:2px}.btn-kebab{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.btn-kebab:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.plan-file-menu-container{position:relative;flex-shrink:0}.plan-file-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:1000;width:130px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.plan-file-menu .menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast);text-align:left;box-sizing:border-box}.plan-file-menu .menu-item:hover{background:var(--color-bg-tertiary)}.plan-file-menu .menu-item svg{flex-shrink:0;color:var(--color-text-secondary)}.plan-file-menu .menu-item.danger{color:var(--color-error)}.plan-file-menu .menu-item.danger svg{color:var(--color-error)}.plan-file-menu .menu-item.danger:hover{background:#ff3b301a}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon-sm:hover{border-color:var(--color-accent);color:var(--color-accent)}.plan-actions-row{display:flex;align-items:center;gap:var(--space-sm)}.btn-send-sm{padding:4px 10px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-send-sm:hover:not(:disabled){background:var(--color-accent-hover)}.btn-send-sm:disabled{opacity:.4;cursor:not-allowed}.sent-date{font-size:11px;color:var(--color-text-tertiary)}.upload-link{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-accent);font-size:12px;cursor:pointer;transition:color var(--transition-fast)}.upload-link:hover{color:var(--color-accent-hover);text-decoration:underline}.docs-list-inline{display:flex;flex-direction:column;gap:4px}.doc-row-inline{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:12px}.doc-row-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.doc-row-bottom{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.doc-type-full{font-size:11px;color:var(--color-text-secondary)}.doc-row-inline.processing{animation:pulse 2s ease-in-out infinite}.doc-row-inline .doc-nr-link{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--color-accent);text-decoration:none;white-space:nowrap}.doc-row-inline .doc-nr-link:hover{text-decoration:underline}.doc-row-inline .doc-nr-loading{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary)}.doc-type-sm{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.btn-remove-sm{padding:0 4px;background:none;border:none;color:var(--color-text-tertiary);font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:all var(--transition-fast)}.doc-row-inline:hover .btn-remove-sm{opacity:1}.btn-remove-sm:hover{color:var(--color-danger)}.docs-footer{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-xs)}.btn-add-sm{padding:2px 8px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:11px;cursor:pointer;transition:all var(--transition-fast)}.btn-add-sm:hover{border-color:var(--color-accent);color:var(--color-accent)}.last-checked-sm{font-size:10px;color:var(--color-text-tertiary)}.no-docs-inline{display:flex;align-items:center;gap:var(--space-md)}.no-docs-dash{color:var(--color-text-tertiary)}.planning-table-empty{padding:var(--space-xl);text-align:center;color:var(--color-text-tertiary)}.btn-next-action{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-next-action:hover{background:var(--color-bg-quaternary);color:var(--color-text-primary);border-color:var(--color-border-hover)}.btn-next-action.send{background:#007aff1a;border-color:#007aff4d;color:#007aff}.btn-next-action.send:hover{background:#007aff33;border-color:#007aff}.doc-row.plan-file-row{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 0}.doc-row.plan-file-row .doc-label{color:var(--color-text-tertiary);font-size:11px;min-width:45px}.doc-row.plan-file-row .file-name{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.doc-row.plan-file-row .sent-date{margin-left:auto;font-size:10px;color:var(--color-text-tertiary);white-space:nowrap}.docs-table{display:flex;flex-direction:column;gap:2px;width:100%}.docs-table-row{display:grid;grid-template-columns:170px minmax(80px,1fr) 130px 28px;align-items:center;gap:8px;padding:4px 8px;min-height:32px;border-radius:var(--radius-sm);background:var(--color-bg-hover);box-sizing:border-box}.docs-table-row.has-doc:hover .btn-delete-hover{opacity:1}.docs-table-row.processing{animation:pulse 2s ease-in-out infinite}.btn-delete-hover{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.btn-delete-hover svg{width:14px;height:14px;flex-shrink:0}.btn-delete-hover:hover{background:#ff3b301a;color:var(--color-error)}.doc-type-label{font-size:10px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-accent);background:none;border:none;padding:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;text-decoration:none}.doc-link:hover{text-decoration:underline}.doc-link.doc-number{font-family:var(--font-mono);font-weight:500}.doc-loading{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-secondary)}.doc-status,.doc-status-badge{font-size:10px;white-space:nowrap;display:inline-block}.doc-status.sent{color:#34c759}.doc-status.sending{color:#ff9500;display:inline-flex;align-items:center;gap:4px}.doc-status .spinner.tiny{width:10px;height:10px;border-width:1.5px}.not-required-text{font-size:11px;color:var(--color-text-tertiary);font-style:italic}.btn-link-small{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:0;font-size:10px;margin-left:6px}.btn-link-small:hover{text-decoration:underline}.btn-link-tiny{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:0;font-size:10px;margin-left:8px}.btn-link-tiny:hover{text-decoration:underline;color:var(--color-accent)}.btn-doc-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:130px;height:22px;padding:0 10px;border:1px solid var(--color-text-secondary);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:10px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;box-sizing:border-box}.btn-doc-action:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-secondary)}.btn-doc-action.uploading{border-color:var(--color-accent);color:var(--color-accent);cursor:default}.btn-doc-action.upload{border-style:dashed}.btn-doc-action svg{width:12px;height:12px;flex-shrink:0}.docs-table-row.not-required{opacity:.7}.doc-cell-with-option{display:flex;align-items:center}.docs-table-row .status-badge.small{font-size:10px;padding:2px 6px;border-radius:var(--radius-sm)}.docs-table-footer{padding:4px 8px}@media (max-width: 1200px){.col-contractor{display:none}.col-address{flex:0 0 260px}.col-plan{flex:0 0 180px}}@media (max-width: 768px){.planning-table-header{display:none}.planning-table-row{flex-direction:column;padding:var(--space-md);gap:var(--space-sm)}.col-address,.col-status,.col-contractor,.col-plan,.col-documents{flex:none;padding:0;border-left:none;min-width:auto;max-width:none;width:auto}.col-status{justify-content:flex-start;padding-top:var(--space-xs)}.col-contractor{display:flex;font-size:12px}.col-plan,.col-documents{padding-top:var(--space-sm);border-top:1px solid var(--color-border-light)}}.apartment-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-lg)}.apartment-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition-fast)}.apartment-card:hover{box-shadow:var(--shadow-md)}.apartment-card-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-tertiary)}.apartment-card-title{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-xs)}.apartment-address{font-weight:var(--font-weight-semibold);font-size:15px;color:var(--color-text-primary)}.apartment-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.contractor-name{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.plan-status-badge{font-size:11px;font-weight:var(--font-weight-medium);padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap}.plan-status-initial_plan_needed{background:#8e8e9326;color:#8e8e93}.plan-status-document_number_needed{background:#ff950026;color:#ff9500}.plan-status-in_progress{background:#007aff26;color:#007aff}.plan-status-document_rejected{background:#ff3b3026;color:#ff3b30}.plan-status-kasutusteatis_needed{background:#af52de26;color:#af52de}.plan-status-completed{background:#34c75926;color:#34c759}.plan-status-awaiting_signed_plan{background:#5ac8fa26;color:#5ac8fa}.apartment-card-body{display:flex;flex-direction:column}.card-section{padding:var(--space-md) var(--space-lg)}.card-section:not(:last-child){border-bottom:1px solid var(--color-border-light)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.section-content{display:flex;flex-direction:column;gap:var(--space-sm)}.plan-file-info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.plan-file-name{font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.plan-file-actions{display:flex;gap:4px;flex-shrink:0}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-quaternary);border-color:var(--color-accent);color:var(--color-accent)}.plan-file-empty{display:flex;justify-content:center}.upload-plan-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.upload-plan-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:#007aff0d}.plan-send-section{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.btn-send{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 12px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-send:hover:not(:disabled){background:var(--color-accent-hover)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.last-sent-date{font-size:11px;color:var(--color-text-tertiary)}.btn-add-doc{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-add-doc:hover{border-color:var(--color-accent);color:var(--color-accent);background:#007aff0d}.documents-list{display:flex;flex-direction:column;gap:var(--space-xs)}.document-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px var(--space-sm);align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.document-row.processing{animation:pulse 2s ease-in-out infinite}.doc-info{display:flex;flex-direction:column;gap:2px;min-width:0}.doc-nr-link{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-nr-link:hover{text-decoration:underline}.doc-nr-loading{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.doc-type-abbrev{font-size:11px;color:var(--color-text-tertiary)}.doc-status-actions{display:flex;align-items:center;gap:var(--space-xs)}.btn-remove-doc{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-tertiary);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.document-row:hover .btn-remove-doc{opacity:1}.btn-remove-doc:hover{background:#ff3b301a;color:#ff3b30}.doc-status-date{grid-column:1 / -1;font-size:10px;color:var(--color-text-tertiary)}.docs-last-checked{font-size:11px;color:var(--color-text-tertiary);text-align:right;margin-top:var(--space-xs)}.no-documents{display:flex;justify-content:center;padding:var(--space-md)}.no-docs-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}@media (max-width: 480px){.apartment-cards-grid{grid-template-columns:1fr}.apartment-card-meta{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.plan-send-section{flex-direction:column;align-items:flex-start}}.ehr-doc-modal{max-width:480px}.ehr-doc-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.ehr-doc-nr-row{display:flex;align-items:center;gap:var(--space-sm)}.ehr-doc-nr{font-family:var(--font-mono);font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ehr-doc-apartment{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light)}.ehr-doc-apartment .label{color:var(--color-text-secondary)}.ehr-doc-apartment .value{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ehr-doc-details{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}.ehr-doc-details .detail-item{display:flex;flex-direction:column;gap:2px}.ehr-doc-details .detail-item.wide{grid-column:1 / -1}.ehr-doc-details .label{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.ehr-doc-details .value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.ehr-doc-details .value.mono{font-family:var(--font-mono)}.ehr-doc-timestamps{display:flex;gap:var(--space-lg);font-size:11px;color:var(--color-text-tertiary);padding-top:var(--space-md);border-top:1px solid var(--color-border-light);margin-bottom:var(--space-lg)}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.icon-btn:hover{background:var(--color-bg-hover);color:var(--color-accent)}.investors-page{display:flex;min-height:100vh;background:#f5f5f7}.investors-container{flex:1;padding:24px 32px;max-width:900px}.investors-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.investors-header h1{font-size:24px;font-weight:600;color:#1d1d1f;margin:0}.investors-loading{text-align:center;padding:60px 20px;color:#86868b;font-size:14px}.inv-card{background:#fff;border-radius:12px;border:1px solid #e5e5e7;margin-bottom:12px;overflow:hidden}.inv-card.expanded{border-color:#007aff}.inv-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none}.inv-card-header:hover{background:#fafafa}.inv-card-title{display:flex;align-items:center;gap:10px}.inv-card-name{font-weight:600;font-size:14px;color:#1d1d1f}.inv-card-rate{font-size:13px;color:#007aff;font-weight:500}.inv-card-regnr{font-size:12px;color:#86868b}.inv-card-badges{display:flex;align-items:center;gap:8px}.inv-card-members{font-size:12px;color:#86868b}.inv-expand-icon{font-size:10px;color:#86868b;transition:transform .2s}.inv-expand-icon.open{transform:rotate(180deg)}.inv-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;white-space:nowrap}.inv-badge-green{background:#e8f5e9;color:#2e7d32}.inv-badge-yellow{background:#fff8e1;color:#f57f17}.inv-badge-red{background:#ffebee;color:#c62828}.inv-badge-gray{background:#f5f5f5;color:#86868b}.inv-card-body{padding:0 18px 18px;border-top:1px solid #f0f0f2}.inv-section{margin-top:18px}.inv-section h4{font-size:12px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.inv-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.inv-section-header h4{margin:0}.inv-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.inv-detail-row{display:flex;align-items:center;gap:8px;font-size:13px}.inv-detail-label{color:#86868b;min-width:90px;flex-shrink:0}.inv-detail-suffix{color:#86868b;font-size:13px}.inv-editable-cell{cursor:pointer;padding:2px 4px;border-radius:4px;color:#1d1d1f;min-width:60px;display:inline-block}.inv-editable-cell:hover{background:#f0f0f2}.inv-placeholder{color:#c7c7cc}.inv-edit-input{font-size:13px;padding:2px 4px;border:1px solid #007aff;border-radius:4px;outline:none;width:100%;max-width:200px;font-family:inherit}.inv-contacts-table{width:100%;border-collapse:collapse;font-size:13px}.inv-contacts-table th{text-align:left;font-weight:500;color:#86868b;padding:6px 8px;border-bottom:1px solid #f0f0f2;font-size:12px}.inv-contacts-table td{padding:6px 8px;border-bottom:1px solid #f5f5f7}.inv-contacts-table tr:last-child td{border-bottom:none}.inv-lang-select{font-size:12px;padding:2px 4px;border:1px solid #e5e5ea;border-radius:4px;background:#fff;color:#1d1d1f;cursor:pointer}.inv-inline-form{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.inv-inline-form input{font-size:13px;padding:5px 8px;border:1px solid #e5e5e7;border-radius:6px;outline:none;flex:1;min-width:100px}.inv-inline-form input:focus{border-color:#007aff}.inv-poa-info{display:flex;flex-direction:column;gap:8px}.inv-poa-file{display:flex;align-items:center;gap:8px}.inv-poa-icon{font-size:18px}.inv-poa-filename{font-size:13px;font-weight:500;color:#007aff;cursor:pointer}.inv-poa-filename:hover{text-decoration:underline}.inv-poa-dates{display:flex;gap:16px;font-size:12px;color:#86868b}.inv-poa-meta{font-style:italic}.inv-poa-actions{display:flex;gap:8px}.inv-poa-empty{font-size:13px;color:#86868b}.inv-poa-empty p{margin:0 0 10px}.inv-poa-upload-form{margin-top:12px;padding:12px;background:#fafafa;border-radius:8px;border:1px dashed #d1d1d6}.inv-btn{font-size:13px;font-weight:500;padding:7px 14px;border-radius:6px;border:1px solid #e5e5e7;background:#fff;color:#1d1d1f;cursor:pointer;font-family:inherit;transition:all .15s}.inv-btn:hover{background:#f5f5f7}.inv-btn:disabled{opacity:.5;cursor:not-allowed}.inv-btn-primary{background:#007aff;color:#fff;border-color:#007aff}.inv-btn-primary:hover{background:#0069d9}.inv-btn-secondary{background:#f5f5f7;color:#1d1d1f}.inv-btn-small{font-size:12px;padding:4px 10px}.inv-btn-danger{background:#ff3b30;color:#fff;border-color:#ff3b30}.inv-btn-danger:hover{background:#e0352b}.inv-btn-danger-text{color:#ff3b30;border:none;background:none;padding:4px 8px}.inv-btn-danger-text:hover{background:#ffebee}.inv-btn-icon{background:none;border:none;cursor:pointer;padding:4px;font-size:12px;color:#86868b;border-radius:4px}.inv-btn-icon:hover{background:#f0f0f2;color:#ff3b30}.inv-add-form{padding:18px;margin-bottom:16px;border-color:#007aff}.inv-add-form h3{margin:0 0 14px;font-size:16px;font-weight:600}.inv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.inv-form-field label{display:block;font-size:12px;font-weight:500;color:#86868b;margin-bottom:4px}.inv-form-field input{width:100%;font-size:13px;padding:7px 10px;border:1px solid #e5e5e7;border-radius:6px;outline:none;font-family:inherit;box-sizing:border-box}.inv-form-field input:focus{border-color:#007aff}.inv-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.inv-danger-zone{border-top:1px solid #f0f0f2;padding-top:14px}.inv-empty{font-size:13px;color:#c7c7cc;margin:0}.inv-empty-state{text-align:center;padding:60px 20px;color:#86868b}.inv-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.inv-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 8px 32px #00000026}.inv-modal h3{margin:0 0 12px;font-size:16px}.inv-modal p{font-size:14px;color:#424245;margin:0 0 8px}.inv-warning{color:#ff3b30!important;font-size:13px!important}.inv-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.contractor-portal{min-height:100vh;background:#f5f5f7;padding:24px}.portal-container{max-width:640px;margin:0 auto}.portal-loading{text-align:center;padding:80px 24px}.spinner-large{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#dd4132;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.portal-loading p{color:#6b7280;font-size:16px}.portal-error{text-align:center;padding:80px 24px}.error-icon{color:#ff3b30;margin-bottom:24px}.portal-error h1{color:#1d1d1f;font-size:24px;margin:0 0 16px}.portal-error p{color:#6b7280;margin:0 0 8px}.error-hint{margin-top:24px!important}.error-hint a{color:#dd4132}.portal-header{text-align:center;padding:24px 0 32px}.portal-logo{height:32px;margin-bottom:16px}.portal-header h1{color:#1d1d1f;font-size:28px;font-weight:600;margin:0}.welcome-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.welcome-card p{color:#1d1d1f;margin:0 0 8px;font-size:16px;line-height:1.5}.welcome-card p:last-child{margin-bottom:0;color:#6b7280}.portal-section{margin-bottom:32px}.portal-section h2{color:#1d1d1f;font-size:20px;font-weight:600;margin:0 0 16px}.info-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f5f5f7}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row:first-child{padding-top:0}.info-label{color:#6b7280;font-size:15px}.info-value{color:#1d1d1f;font-weight:500;font-size:15px}.notes-card{background:#fef3c7;border-radius:12px;padding:16px 20px;margin-top:16px}.notes-card h3{color:#92400e;font-size:14px;font-weight:600;margin:0 0 8px}.notes-card p{color:#78350f;font-size:14px;margin:0;line-height:1.5}.files-list{display:flex;flex-direction:column;gap:12px}.file-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000001a;text-decoration:none;transition:all .2s ease}.file-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.file-icon{width:44px;height:44px;background:#007aff1a;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#007aff;flex-shrink:0}.file-details{flex:1;min-width:0}.file-name{display:block;color:#1d1d1f;font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{display:block;color:#6b7280;font-size:13px;margin-top:2px}.download-icon{color:#6b7280;flex-shrink:0}.file-card:hover .download-icon{color:#007aff}.empty-files{background:#fff;border-radius:12px;padding:32px;text-align:center;color:#6b7280;box-shadow:0 1px 3px #0000001a}.documents-list{margin-bottom:24px}.documents-list h3{color:#6b7280;font-size:14px;font-weight:500;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.document-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;margin-bottom:12px}.document-card:last-child{margin-bottom:0}.document-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.document-type{color:#6b7280;font-size:13px}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-weight:500;font-size:13px}.document-nr{margin-bottom:8px}.document-nr a{color:#007aff;text-decoration:none;font-size:16px;font-weight:500;font-family:monospace}.document-nr a:hover{text-decoration:underline}.document-date{color:#6b7280;font-size:13px}.status-history{margin-top:16px;padding-top:16px;border-top:1px solid #f5f5f7}.status-history h4{color:#6b7280;font-size:12px;font-weight:500;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.history-item{display:flex;gap:12px;padding:8px 0;font-size:13px}.history-date{color:#6b7280;flex-shrink:0}.history-status{color:#1d1d1f}.submit-form-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.submit-form-card h3{color:#1d1d1f;font-size:18px;font-weight:600;margin:0 0 8px}.form-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px}.success-message{background:#34c75926;color:#059669;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.error-message{background:#ff3b3026;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.form-group{margin-bottom:20px}.form-group label{display:block;color:#1d1d1f;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;background:#fff;color:#1d1d1f;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#dd4132}.form-group input:disabled{background:#f5f5f7;color:#9ca3af}.form-hint{display:block;color:#6b7280;font-size:13px;margin-top:8px}.submit-btn{width:100%;padding:14px 24px;background:#dd4132;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.submit-btn:hover:not(:disabled){background:#c73828}.submit-btn:disabled{background:#d1d5db;cursor:not-allowed}.submit-btn .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.instructions-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.instructions-card ol{margin:0;padding:0 0 0 24px;color:#1d1d1f;font-size:15px;line-height:1.6}.instructions-card li{margin-bottom:12px}.instructions-card li:last-child{margin-bottom:0}.portal-footer{text-align:center;padding:32px 0 16px;color:#6b7280;font-size:14px}.portal-footer p{margin:0 0 8px}.portal-footer a{color:#dd4132;text-decoration:none;font-weight:500}.portal-footer a:hover{text-decoration:underline}@media (max-width: 480px){.contractor-portal{padding:16px}.portal-header h1{font-size:24px}.welcome-card,.info-card,.submit-form-card,.instructions-card{padding:20px}.file-card{padding:14px 16px}.file-icon{width:40px;height:40px}}:root{--color-primary: #000000;--color-accent: #DD4132;--color-accent-hover: #c23828;--color-success: #34c759;--color-success-hover: #2db34f;--color-warning: #ff9500;--color-warning-hover: #e68600;--color-error: #ff3b30;--color-error-hover: #e6352b;--color-info: #007aff;--color-info-hover: #0066d6;--color-text-primary: #1d1d1f;--color-text-secondary: #86868b;--color-text-tertiary: #aeaeb2;--color-text-inverse: #ffffff;--color-bg-primary: #F7F2E9;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f5f5f7;--color-bg-hover: #ebebed;--color-border: #e5e5ea;--color-border-light: #f0f0f0;--color-border-focus: #007aff;--color-badge-success-bg: rgba(52, 199, 89, .15);--color-badge-warning-bg: rgba(255, 149, 0, .15);--color-badge-error-bg: rgba(255, 59, 48, .15);--color-badge-info-bg: rgba(0, 122, 255, .15);--color-badge-neutral-bg: rgba(142, 142, 147, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Courier New", monospace;--font-size-h1: 2rem;--font-size-h2: 1.5rem;--font-size-h3: 1.25rem;--font-size-h4: 1.125rem;--font-size-base: .9375rem;--font-size-sm: .8125rem;--font-size-xs: .75rem;--font-size-xxs: .6875rem;--font-size-h1-mobile: 1.5rem;--font-size-h2-mobile: 1.25rem;--font-size-h3-mobile: 1.125rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-4xl: 64px;--border-width: 1px;--border-width-thick: 1.5px;--border-width-heavy: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .16);--shadow-focus: 0 0 0 3px rgba(0, 122, 255, .3);--shadow-focus-error: 0 0 0 3px rgba(255, 59, 48, .3);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--container-max-width: 1200px;--sidebar-width: 260px;--header-height: 56px}.status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1}.status-badge--success{background:var(--color-badge-success-bg);color:var(--color-success)}.status-badge--warning{background:var(--color-badge-warning-bg);color:var(--color-warning)}.status-badge--error{background:var(--color-badge-error-bg);color:var(--color-error)}.status-badge--info{background:var(--color-badge-info-bg);color:var(--color-info)}.status-badge--neutral{background:var(--color-badge-neutral-bg);color:var(--color-text-secondary)}.status-badge--sm{padding:2px var(--space-sm);font-size:var(--font-size-xxs);border-radius:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;border-radius:var(--radius-md);font-family:var(--font-family);font-size:14px;font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:all var(--transition-normal);border:var(--border-width-thick) solid transparent;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-hover)}.btn--success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.btn--success:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover)}.btn--danger{background:var(--color-bg-secondary);color:var(--color-error);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background:var(--color-badge-error-bg)}.btn--ghost{background:transparent;color:var(--color-info);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--color-badge-info-bg)}.btn--sm{padding:6px 12px;font-size:var(--font-size-sm)}.btn--lg{padding:14px 28px;font-size:var(--font-size-base)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.segmented-control{display:inline-flex;align-items:center;background:var(--color-bg-tertiary);border-radius:10px;padding:var(--space-xs);gap:var(--space-xs)}.segment{display:inline-flex;align-items:center;gap:6px;padding:var(--space-sm) 20px;background:transparent;border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.segment:hover{color:var(--color-text-primary);background:#0000000d}.segment.active{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);box-shadow:0 2px 8px #00000014}.segment svg{flex-shrink:0;opacity:.6;transition:opacity var(--transition-normal)}.segment:hover svg{opacity:.8}.segment.active svg{opacity:1}.segment-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);opacity:.7;margin-left:2px}.segment.active .segment-count{opacity:1}.filter-tabs{display:flex;gap:var(--space-sm);flex-wrap:wrap}.filter-tab{padding:var(--space-sm) var(--space-lg);background:transparent;border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.filter-tab:hover{background:#0000000a}.filter-tab.active{background:var(--color-accent);color:var(--color-text-inverse)}:root{--primary: var(--color-primary);--accent: var(--color-accent);--text: var(--color-text-primary);--muted-text: var(--color-text-secondary);--white: var(--color-bg-secondary);--bg: var(--color-bg-primary);--light-gray: var(--color-bg-tertiary);--gray: var(--color-border);--border: var(--color-border);--container-width: var(--container-max-width);--border-radius: var(--radius-md);--border-radius-lg: var(--radius-lg);--shadow: var(--shadow-md);--transition: var(--transition-slow)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:var(--line-height-normal)}code{font-family:var(--font-mono)}#root{min-height:100vh;display:flex;flex-direction:column}html{scroll-behavior:smooth}html{overflow-x:hidden}@media (max-width: 1023px){body{overflow-x:hidden;max-width:100vw}#root{overflow-x:hidden}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}select{appearance:none;-webkit-appearance:none;-moz-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='none' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-color:var(--color-bg-secondary);padding-right:36px;cursor:pointer}a{color:var(--color-info);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-info-hover)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}@media (max-width: 767px){h1{font-size:var(--font-size-h1-mobile)}h2{font-size:var(--font-size-h2-mobile)}h3{font-size:var(--font-size-h3-mobile)}}
