@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #f3f5f8;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: #e4e9f0;--color-border-strong: #c9d2de;--color-text: #0f172a;--color-text-muted: #5b6b7c;--color-text-subtle: #8b9aab;--color-primary: #1a4a82;--color-primary-hover: #143a68;--color-primary-soft: #e7f0fa;--color-accent: #8a5a1a;--color-accent-soft: #f6efe4;--color-danger: #c81e1e;--color-danger-soft: #fef2f2;--color-warning: #b45309;--color-warning-soft: #fffbeb;--color-success: #047857;--color-success-soft: #ecfdf5;--sidebar-width: 260px;--header-height: 64px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 48px rgba(15, 23, 42, .12);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--motion-fast: .16s ease;--motion-med: .22s ease;--motion-slow: .32s ease;--motion-enter: .36s cubic-bezier(.22, 1, .36, 1);--btn-shadow: 0 1px 2px rgba(15, 23, 42, .1);--btn-shadow-hover: 0 6px 18px rgba(26, 74, 130, .22);--focus-ring: 0 0 0 3px rgba(26, 74, 130, .18);--sidebar-bg: #0f172a;--sidebar-text: #e2e8f0;--sidebar-text-muted: #94a3b8;--sidebar-link: #cbd5e1;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(59, 130, 246, .18);--sidebar-logo-from: #3b82f6;--sidebar-logo-to: #14b8a6}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14.5px;line-height:1.55;color:var(--color-text);background:radial-gradient(ellipse 80% 50% at 100% -10%,rgba(26,74,130,.06),transparent 55%),var(--color-bg);-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:#b8c3d1 transparent}body::-webkit-scrollbar,.app-scrollbar::-webkit-scrollbar{width:10px;height:10px}body::-webkit-scrollbar-track,.app-scrollbar::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb,.app-scrollbar::-webkit-scrollbar-thumb{background:#c5d0dc;border-radius:999px;border:2px solid transparent;background-clip:padding-box}body::-webkit-scrollbar-thumb:hover,.app-scrollbar::-webkit-scrollbar-thumb:hover{background:#9fb0c2;background-clip:padding-box}.hide-scrollbar{overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none;height:0;width:0}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:650;letter-spacing:-.03em}a:not(.btn){color:var(--color-primary);text-decoration:none;transition:color var(--motion-fast)}a:not(.btn):hover{color:var(--color-primary-hover);text-decoration:underline}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr}}.app-shell__main{display:flex;flex-direction:column;min-width:0}.app-page{flex:1;padding:1.5rem 2rem 2rem}.app-page>.page-header,.app-page>.card,.app-page>.dash-hero,.app-page>.settings-tabs,.app-page>.tabs,.app-page>.client-tabs{animation:ui-enter var(--motion-enter) both}.tab-panel{margin-top:1rem;animation:ui-enter var(--motion-med) both}.mobile-cards .mobile-card{animation:ui-enter var(--motion-enter) both}.mobile-cards .mobile-card:nth-child(2){animation-delay:45ms}.mobile-cards .mobile-card:nth-child(3){animation-delay:90ms}.mobile-cards .mobile-card:nth-child(4){animation-delay:.12s}.mobile-cards .mobile-card:nth-child(n+5){animation-delay:.14s}@keyframes ui-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.app-page>.page-header,.app-page>.card,.app-page>.dash-hero,.app-page>.settings-tabs,.app-page>.tabs,.app-page>.client-tabs,.tab-panel,.mobile-cards .mobile-card{animation:none}.btn:hover:not(:disabled){transform:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-eyebrow{margin:0 0 .35rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle)}.page-header__title{font-size:clamp(1.5rem,4vw,1.85rem);letter-spacing:-.04em}.page-header__subtitle{margin-top:.35rem;color:var(--color-text-muted);font-size:.9375rem;max-width:52ch}.page-header__actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem}.page-header__actions .btn{min-height:44px}.list-filter-bar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary-soft) 35%,#fff) 0%,var(--color-surface) 100%);box-shadow:var(--shadow-sm)}.list-filter-bar .form-field,.list-filter-bar app-select{flex:1;min-width:min(100%,11rem)}.list-filter-bar__search{flex:1 1 14rem;min-width:min(100%,200px);min-height:44px;padding:.625rem .9rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:.9375rem;box-shadow:inset 0 1px 2px #0f172a08;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.list-filter-bar__search::placeholder{color:var(--color-text-subtle)}.list-filter-bar__search:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.card--form{margin-bottom:1rem;padding:1.25rem}.inline-form__title{margin:0 0 1rem;font-size:1rem;font-weight:650;letter-spacing:-.02em}.form-actions{display:flex;flex-direction:column-reverse;gap:.75rem;margin-top:1rem}.form-actions .btn{width:100%;min-height:44px}.tab-panel-card{padding:1.25rem}.section-card{margin-top:1rem;padding:1.25rem}.section-card__title{margin:0 0 1rem;font-size:1.05rem;font-weight:650;letter-spacing:-.02em}.u-mt-1{margin-top:1rem}.inline-form__subtitle{margin:0 0 1rem;font-size:1rem;font-weight:650;letter-spacing:-.02em}.form-grid--spaced{margin-bottom:1rem}.stack-mt{margin-top:1.25rem}.muted-note{margin:.5rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.empty-state--compact{margin-top:1rem}@media(min-width:640px){.form-actions{flex-direction:row;flex-wrap:wrap}.form-actions .btn{width:auto}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--motion-med),border-color var(--motion-fast),transform var(--motion-med)}.card:hover{border-color:color-mix(in srgb,var(--color-border-strong) 80%,var(--color-primary) 20%)}.card__body{padding:1.25rem}.card__header{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:.75rem}button.btn,a.btn,label.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.625rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-family:inherit;font-weight:600;font-size:inherit;line-height:1.2;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}a.btn,a.btn:hover,a.btn:focus,a.btn:active,a.btn:visited{text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98);transition-duration:80ms}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn--sm{min-height:36px;padding:.4rem .8rem;font-size:.8125rem}.btn--primary{background:linear-gradient(180deg,#1f5a9a 0%,var(--color-primary) 100%);color:#fff;border-color:transparent;box-shadow:var(--btn-shadow)}.btn--primary:hover:not(:disabled),.btn--primary:focus-visible:not(:disabled){background:linear-gradient(180deg,#245f9f 0%,var(--color-primary-hover) 100%);color:#fff;box-shadow:var(--btn-shadow-hover)}a.btn--primary,a.btn--primary:hover,a.btn--primary:focus,a.btn--primary:visited{color:#fff}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text);box-shadow:var(--btn-shadow)}.btn--secondary:hover:not(:disabled),.btn--secondary:focus-visible:not(:disabled){background:var(--color-bg);border-color:#b8c3d1;color:var(--color-text);box-shadow:0 4px 12px #0f172a14}a.btn--secondary,a.btn--secondary:hover,a.btn--secondary:focus,a.btn--secondary:visited{color:var(--color-text)}.btn--ghost{background:transparent;color:var(--color-text-muted);border-color:transparent;box-shadow:none}.btn--ghost:hover:not(:disabled),.btn--ghost:focus-visible:not(:disabled){background:var(--color-bg);color:var(--color-text);box-shadow:none}a.btn--ghost,a.btn--ghost:hover,a.btn--ghost:focus,a.btn--ghost:visited{color:var(--color-text-muted)}a.btn--ghost:hover:not(:disabled),a.btn--ghost:focus-visible:not(:disabled){color:var(--color-text)}.btn--danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:#fecaca;box-shadow:var(--btn-shadow)}.btn--danger:hover:not(:disabled),.btn--danger:focus-visible:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:var(--color-danger);box-shadow:0 4px 12px #c81e1e1f}a.btn--danger,a.btn--danger:hover,a.btn--danger:focus,a.btn--danger:visited{color:var(--color-danger)}.btn--danger-text{color:var(--color-danger)}.btn--danger-text:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.table-link{color:var(--color-text);text-decoration:none;font-weight:700;letter-spacing:-.01em;transition:color var(--motion-fast)}.table-link:hover{color:var(--color-primary);text-decoration:none}.alert{margin-bottom:1rem;padding:.875rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.875rem;animation:alert-in var(--motion-med) both}.alert--danger{background:var(--color-danger-soft);border-color:#fecaca;color:var(--color-danger)}.alert--success{background:var(--color-success-soft);border-color:#a7f3d0;color:var(--color-success)}@keyframes alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field--full{grid-column:1 / -1}.form-field label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.form-field input,.form-field select,.form-field textarea{min-height:44px;padding:.625rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-field input:disabled,.form-field textarea:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.form-field--invalid label{color:var(--color-danger)}.form-field--invalid input,.form-field--invalid textarea,.form-field--invalid .app-select__trigger{border-color:var(--color-danger)}.form-field__error{color:var(--color-danger);font-size:.8125rem;margin:0}.form-error{color:var(--color-danger);font-size:.8125rem}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--neutral{background:var(--color-bg);color:var(--color-text-muted)}.list-panel{padding:0;overflow:hidden}.list-panel>app-empty-state,.list-panel>app-pagination-bar{display:block;padding:1rem 1.15rem}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{padding:.95rem 1.1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table th{position:sticky;top:0;z-index:1;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle);font-weight:750;background:color-mix(in srgb,var(--color-bg) 88%,var(--color-surface));border-bottom-color:var(--color-border-strong)}.data-table tbody tr{transition:background var(--motion-fast),box-shadow var(--motion-fast)}.data-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-bg) 55%,transparent)}.data-table tbody tr:hover{background:color-mix(in srgb,var(--color-primary-soft) 55%,#fff)}.data-table tbody tr:last-child td{border-bottom:none}.data-table__actions{width:1%;white-space:nowrap;text-align:right}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.entity-cell{display:flex;align-items:center;gap:.75rem;min-width:0}.entity-avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:12px;flex-shrink:0;font-size:.75rem;font-weight:800;letter-spacing:.02em;color:var(--color-primary);background:linear-gradient(160deg,var(--color-primary-soft) 0%,color-mix(in srgb,var(--color-accent-soft) 55%,var(--color-primary-soft)) 100%);border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent)}.entity-avatar--building{color:var(--color-accent);background:linear-gradient(160deg,var(--color-accent-soft) 0%,color-mix(in srgb,var(--color-primary-soft) 40%,var(--color-accent-soft)) 100%);border-color:color-mix(in srgb,var(--color-accent) 16%,transparent)}.entity-avatar--home{color:var(--color-primary)}.entity-cell__body{display:flex;flex-direction:column;gap:.12rem;min-width:0}.entity-cell__title{font-weight:750;letter-spacing:-.015em;color:var(--color-text);text-decoration:none;line-height:1.3}.entity-cell__title:hover{color:var(--color-primary)}.entity-cell__meta{font-size:.75rem;color:var(--color-text-muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-muted{color:var(--color-text-muted);font-size:.875rem}.cell-strong{font-weight:700;letter-spacing:-.015em;color:var(--color-text)}.mobile-cards{display:none;padding:.85rem;gap:.75rem}.mobile-card{padding:1rem 1.05rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:background var(--motion-fast),transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.mobile-card:hover{border-color:color-mix(in srgb,var(--color-border-strong) 70%,var(--color-primary) 30%);box-shadow:var(--shadow-md)}.mobile-card:active{background:var(--color-bg);transform:scale(.995)}.mobile-card:last-child{margin-bottom:0}.mobile-card__head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.mobile-card__title{font-weight:750;letter-spacing:-.02em;margin:0;color:var(--color-text);text-decoration:none;line-height:1.3}a.mobile-card__title:hover{color:var(--color-primary)}.mobile-card__row{display:flex;justify-content:space-between;gap:.75rem;font-size:.8125rem;color:var(--color-text-muted);padding:.35rem 0;border-top:1px solid color-mix(in srgb,var(--color-border) 80%,transparent)}.mobile-card__row span:last-child{color:var(--color-text);font-weight:600;text-align:right}@media(max-width:767px){.data-table-desktop{display:none}.mobile-cards{display:flex;flex-direction:column}.btn--sm{min-height:44px;padding:.5rem .875rem}.page-header{flex-direction:column;align-items:stretch}.page-header .btn,.page-header a.btn{width:100%;min-height:44px}}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--color-text-muted);animation:ui-enter var(--motion-enter) both}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{padding:1.25rem;transition:transform var(--motion-fast),box-shadow var(--motion-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card__label{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.5rem}.stat-card__value{font-size:1.75rem;font-weight:700;letter-spacing:-.04em}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at top right,rgba(30,77,140,.08),transparent 40%),radial-gradient(circle at bottom left,rgba(13,148,136,.06),transparent 35%),var(--color-bg)}.auth-card{width:min(100%,440px);padding:2rem}.auth-card__brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.auth-card__logo{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:grid;place-items:center;color:#fff;font-weight:700}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.form-grid--3{grid-template-columns:1fr}}@media(max-width:640px){.app-page{padding:1rem}.stats-grid{grid-template-columns:1fr}}.media-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;margin-bottom:1.25rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);text-align:center;transition:border-color var(--motion-fast),background var(--motion-fast),transform var(--motion-fast)}.media-dropzone--active{border-color:var(--color-primary);background:var(--color-primary-soft);transform:scale(1.01)}.media-dropzone--busy{opacity:.7;pointer-events:none}.media-dropzone__icon{width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;background:var(--color-surface);border:1px solid var(--color-border);font-size:.75rem;font-weight:700;color:var(--color-primary)}.media-dropzone__title{margin:0;font-weight:600;letter-spacing:-.02em}.media-dropzone__hint{margin:0;font-size:.8125rem;color:var(--color-text-muted);max-width:36ch}.media-dropzone__btn{margin-top:.25rem;min-height:44px}.media-hint{margin:-.5rem 0 1rem;padding:.65rem .85rem;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-size:.875rem}.media-empty{margin:1rem 0 0;text-align:center;color:var(--color-text-muted);font-size:.9375rem}.offer-tag{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:750;letter-spacing:.02em;line-height:1.2;backdrop-filter:blur(6px)}.offer-tag--sale{background:color-mix(in srgb,var(--color-success) 18%,#fff);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent)}.offer-tag--rent{background:color-mix(in srgb,var(--color-accent) 18%,#fff);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 35%,transparent)}.offer-tag--none{background:color-mix(in srgb,var(--color-bg) 80%,#fff);color:var(--color-text-muted);border:1px solid var(--color-border)}.catalog-grid{display:grid;grid-template-columns:1fr;gap:.85rem;padding:1rem}@media(min-width:560px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.catalog-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.15rem}}@media(min-width:1280px){.catalog-grid{grid-template-columns:repeat(4,1fr)}}.catalog-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--motion-fast),box-shadow var(--motion-fast),border-color var(--motion-fast);animation:catalog-card-in .2s ease both}@keyframes catalog-card-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.catalog-card:hover{border-color:color-mix(in srgb,var(--color-border-strong) 70%,var(--color-primary) 30%);box-shadow:var(--shadow-md)}.catalog-card__media{position:relative;aspect-ratio:16 / 10;background:var(--color-bg);overflow:hidden}.catalog-card__photo{width:100%;height:100%;object-fit:cover;display:block}.catalog-card__photo--empty{display:grid;place-items:center;width:100%;height:100%;color:var(--color-text-subtle);background:linear-gradient(135deg,var(--color-bg) 0%,color-mix(in srgb,var(--color-primary-soft) 50%,var(--color-bg)) 100%)}.catalog-card__tags{position:absolute;left:.65rem;bottom:.65rem;display:flex;flex-wrap:wrap;gap:.35rem}.catalog-card__content{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem .85rem;flex:1}.catalog-card__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.catalog-card__code{font-size:.6875rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle)}.catalog-card__type{font-size:.6875rem;font-weight:650;padding:.2rem .5rem;border-radius:999px;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);white-space:nowrap}.catalog-card__title{font-size:.9375rem;font-weight:750;letter-spacing:-.02em;line-height:1.35;color:var(--color-text);text-decoration:none}a.catalog-card__title:hover{color:var(--color-primary)}.catalog-card__meta{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.catalog-card__location{display:flex;align-items:flex-start;gap:.35rem;margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.catalog-card__location app-icon{color:var(--color-text-subtle);flex-shrink:0;margin-top:.1rem}.catalog-card__facts{display:flex;flex-direction:column;gap:.25rem;margin:.1rem 0 0;padding:.45rem .55rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.catalog-card__fact{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.4rem;align-items:baseline;margin:0;font-size:.8125rem;line-height:1.35;color:var(--color-text)}.catalog-card__fact-k{font-size:.75rem;font-weight:650;color:var(--color-text-muted)}.offer-tag[data-tone=active],.offer-tag[data-tone=lease]{background:var(--color-success-soft);color:var(--color-success);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-success) 28%,transparent)}.offer-tag[data-tone=expired],.offer-tag[data-tone=terminated]{background:color-mix(in srgb,var(--color-danger) 12%,#fff);color:var(--color-danger);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-danger) 28%,transparent)}.offer-tag[data-tone=draft],.offer-tag[data-tone=mandate]{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 28%,transparent)}.offer-tag[data-tone=neutral]{background:var(--color-bg);color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--color-border)}.catalog-card__price{margin:0;font-size:.9375rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text)}.catalog-card__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.35rem;margin-top:.25rem;padding-top:.25rem}.list-panel>.catalog-grid+app-pagination-bar,.list-panel>app-pagination-bar{border-top:1px solid var(--color-border)}.list-filter-bar--compact{align-items:center}.list-filter-bar--compact .list-filter-bar__search{flex:0 1 16rem;max-width:min(100%,16rem);min-width:0}.contact-grid{display:grid;grid-template-columns:1fr;gap:.75rem;padding:1rem;align-items:start}@media(min-width:640px){.contact-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.contact-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;padding:1.15rem}}.contact-card{display:flex;flex-direction:column;gap:.65rem;padding:.85rem .95rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);animation:contact-card-in .2s ease both}@keyframes contact-card-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.contact-card:hover{border-color:color-mix(in srgb,var(--color-border-strong) 70%,var(--color-primary) 30%);box-shadow:var(--shadow-md)}.contact-card__head{display:flex;align-items:flex-start;gap:.65rem}.contact-card__avatar{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;font-size:.75rem;font-weight:800;letter-spacing:.02em;color:var(--color-primary);background:linear-gradient(160deg,var(--color-primary-soft) 0%,color-mix(in srgb,var(--color-accent-soft) 55%,var(--color-primary-soft)) 100%);border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent)}.contact-card__avatar--buyer{color:var(--color-accent);background:linear-gradient(160deg,var(--color-accent-soft) 0%,color-mix(in srgb,var(--color-primary-soft) 45%,var(--color-accent-soft)) 100%);border-color:color-mix(in srgb,var(--color-accent) 16%,transparent)}.contact-card__identity{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem}.contact-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.contact-card__title{font-size:.9375rem;font-weight:750;letter-spacing:-.02em;line-height:1.25;color:var(--color-text);text-decoration:none;min-width:0}a.contact-card__title:hover{color:var(--color-primary)}.contact-card__subtitle{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.contact-card__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem;flex-shrink:0}.contact-card__meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;margin:0;font-size:.75rem;line-height:1.35;color:var(--color-text-muted)}.contact-card__meta-line a{color:var(--color-primary);text-decoration:none;font-weight:650}.contact-card__meta-line a:hover{text-decoration:underline}.contact-card__dot{color:var(--color-text-subtle)}.contact-card__body{display:flex;flex-direction:column;gap:.3rem;padding:.55rem .7rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.contact-card__highlight{margin:0 0 .1rem;font-size:.9375rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--color-text)}.contact-card__line{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:.45rem;align-items:baseline;margin:0;font-size:.8125rem;line-height:1.35;color:var(--color-text)}.contact-card__k{color:var(--color-text-muted);font-weight:650;font-size:.75rem}.contact-card__facts{display:grid;gap:.35rem;margin:0;padding:.55rem .7rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.contact-card__fact{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:.45rem;align-items:baseline;font-size:.8125rem;line-height:1.35}.contact-card__fact dt{margin:0;color:var(--color-text-muted);font-weight:650;font-size:.75rem}.contact-card__fact dd{margin:0;text-align:left;color:var(--color-text);font-weight:650;word-break:break-word}.contact-card__fact dd a{color:var(--color-primary);text-decoration:none}.contact-card__fact dd a:hover{text-decoration:underline}.contact-card__actions{display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.1rem}.contact-card__actions .btn{min-height:40px}@media(min-width:640px){.contact-card__actions .btn{min-height:44px}}.list-panel>.contact-grid+app-pagination-bar{border-top:1px solid var(--color-border)}
