:root{--bg:#f4f0e8;--surface:#fff7ee;--ink:#1b1b1b;--muted:#6a6158;--brand:#0f3d2e;--brand-2:#0a2c21;--accent:#e2a450;--card:#fff;--border:#e6d8c7}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 20% 20%,#fffaf4 0%,#f4efe6 60%,#efe6da 100%);font-family:"Source Serif 4",Iowan Old Style,Palatino,serif;font-size:16px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{appearance:none;background:0 0;border:1px solid #0000}a{color:inherit}.app-root{min-height:100vh}.app-shell{border:1px solid #e2a45040;grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}.sidebars{display:block}.mobile-topbar{display:none}.sidebar{color:#f7efe6;background:linear-gradient(#0f3d2e 0%,#102d23 100%);border-right:1px solid #0a221a;flex-direction:column;gap:20px;padding:20px 18px;display:flex}.sidebar-flow{height:100vh;position:sticky;top:0;overflow-y:auto}.sidebar-step-company{background:linear-gradient(#0f3d2e 0%,#102d23 100%)}.sidebar-step-condominium{background:linear-gradient(#173f2f 0%,#143225 100%)}.sidebar-step-sections{color:var(--ink);border-right:1px solid var(--border);background:linear-gradient(#fff1de 0%,#f7e4c7 100%);box-shadow:inset 0 0 0 1px #e2a4502e}.sidebar-step-sections .subtitle,.sidebar-step-sections .section-title,.sidebar-step-sections .sidebar-step-title,.sidebar-step-sections .sidebar-step-copy,.sidebar-step-sections .sidebar-crumb-sep,.sidebar-step-sections .sidebar-crumb{color:#7a6b5e}.sidebar-step-condominium .sidebar-inline-action{color:#fff7ee;border-color:#fff7ee6b;box-shadow:inset 0 0 0 1px #fff7ee1f}.sidebar-step-condominium .sidebar-inline-action:hover{color:#fff;border-color:#ffffffb8}.sidebar-step-sections .company-item,.sidebar-step-sections .nav-item,.sidebar-step-sections .btn-ghost,.sidebar-step-sections .sidebar-crumbs{color:var(--ink);border-color:var(--border)}.brand{align-items:center;gap:12px;display:flex}.logo{background:#f7efe2;border:1px solid #e2a45080;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.logo-img{object-fit:cover;width:100%;height:100%;display:block}.title{font-size:20px;font-weight:700}.title-initial{margin-right:1px;font-size:28px;font-weight:800;line-height:.9;display:inline-block}.subtitle{color:#dbcdbd;font-size:13px}.section,.sidebar-flow .section{gap:12px;display:grid}.section-title{letter-spacing:.08em;text-transform:uppercase;color:#cbb9a7;font-size:13px}.sidebar-step-title{font-size:20px;font-weight:700}.sidebar-step-copy{color:#d8c8b6;font-size:13px;line-height:1.45}.sidebar-inline-action{width:100%}.sidebar-crumbs{background:#ffffff14;border:1px solid #e2a45033;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.sidebar-crumb{color:#f7efe6;font-size:15px;font-weight:700;text-decoration:none}.sidebar-crumb.current{text-underline-offset:3px;text-decoration:underline}.sidebar-crumb-sep{color:#d8c8b6;font-weight:700}.btn-primary{background:var(--accent);color:#1b1b1b;cursor:pointer;border:1px solid #d99a3c;border-radius:10px;justify-content:center;align-items:center;padding:10px 12px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex;box-shadow:0 2px #00000014}.btn-primary:hover{background:#f0b562;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.btn-ghost{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex;box-shadow:inset 0 0 0 1px #e2a45026}.sidebar .btn-primary{background:linear-gradient(#f0b562 0%,#e2a450 100%);border-color:#c98b34;border-radius:12px;width:100%;padding:12px 14px;font-weight:700}.company-list,.sidebar-list,.nav,.nav-stacked{flex-direction:column;gap:8px;display:flex}.company-item,.nav-item{color:#f7efe6;cursor:pointer;text-align:left;background:0 0;border:1px solid #1f4e3e;border-radius:10px;padding:11px 12px;font-size:15px;text-decoration:none;display:block;box-shadow:inset 0 0 0 1px #e2a4501f}.company-item.active,.nav-item.active{background:#e2a45024;border-color:#e2a450}.sidebar-step-sections .company-item,.sidebar-step-sections .nav-item,.sidebar-step-sections .btn-ghost{background:#fffdfa}.sidebar-step-sections .nav-item.active{color:#1b1b1b;background:linear-gradient(#f0b562 0%,#e2a450 100%);border-color:#c98b34}.content{min-width:0;padding:28px 32px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.top-title{font-size:24px;font-weight:700}.top-subtitle{color:var(--muted);font-size:15px}.top-actions{gap:12px;display:flex}.pill{border:1px solid var(--border);color:var(--muted);background:#fffaf2;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.column-picker{justify-content:flex-end;margin-bottom:8px;display:flex}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.table-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.column-picker-panel{border:1px solid var(--border);background:#fffaf2;border-radius:12px;gap:6px;min-width:200px;margin-top:8px;padding:10px 12px;display:grid}.column-picker-limit{color:var(--muted);border-bottom:1px dashed var(--border);margin-bottom:4px;padding-bottom:4px;font-size:12px}.column-picker-item{align-items:center;gap:8px;font-size:13px;display:flex}.search-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:100%;display:flex}.search-inline .search-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.search-inline select,.search-inline input{min-width:140px;padding:6px 8px;font-size:13px}.search-inline .btn-primary{padding:7px 12px;font-size:13px}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar-left{align-items:center;gap:12px;display:flex}.toolbar-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-card,.card{background:var(--card);border:1px solid #e3d2bc;border-radius:18px;padding:18px;position:relative;box-shadow:0 10px 30px #0000000d}.auth-card{width:min(420px,100%);padding:24px;box-shadow:0 12px 40px #00000014}.card:before,.auth-card:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(#e2a45059,#fff0);border-radius:18px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card.wide{grid-column:span 2}.auth-title,.card-title{font-size:22px;font-weight:700}.auth-subtitle{color:var(--muted);margin-bottom:18px;font-size:13px}.card-title{margin-bottom:12px;font-size:18px}.panel{border:1px solid var(--border);background:#fffdfa;border-radius:14px;padding:16px;box-shadow:inset 0 0 0 1px #e2a4501f}.form-grid{grid-template-columns:170px 1fr;align-items:center;gap:10px 14px;font-size:15px;display:grid}.search-select,.multi-select{grid-template-columns:1fr;gap:8px;display:grid}.multi-select-list{border:1px solid var(--border);background:#fff;border-radius:12px;max-height:220px;padding:11px 12px;overflow:auto;box-shadow:inset 0 0 0 1px #e2a45014}.multi-select-item{cursor:pointer;border-radius:10px;grid-template-columns:18px 1fr;align-items:start;gap:10px;padding:6px;display:grid}.multi-select-item:hover{background:#fff7eb}input,textarea,select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px 10px;font-size:15px;box-shadow:inset 0 0 0 1px #e2a4501f}input[type=checkbox]{width:18px;height:18px}textarea{min-height:90px}.upload-area{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.upload-box{background:#fff9f1;border:1px dashed #d6c3ae;border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:inset 0 0 0 1px #e2a45026}.upload-title{font-weight:600}.upload-placeholder,.note,.stat-label{color:var(--muted);font-size:13px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-action-stack{gap:12px;display:grid}.success-banner,.error-banner{margin-bottom:16px;padding:14px 16px}.success-banner{background:#ebf8efe0;border-color:#327d5647}.error-banner{background:#fdefeceb;border-color:#a2372c47}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.report-summary-card{background:linear-gradient(#fffcf7fa 0%,#fff7ecfa 100%);border:1px solid #d3b893b8;border-radius:18px;padding:16px;box-shadow:0 10px 24px #0000000a}.report-summary-value{color:#18382d;font-size:30px;font-weight:700;line-height:1}.report-summary-label{color:var(--muted);margin-top:8px;font-size:14px}.report-conflict-list{gap:10px;display:grid}.report-conflict-card{background:#fffbf5e6;border:1px solid #c2904c47;border-radius:12px;padding:10px}.report-conflict-name{margin-bottom:4px;font-weight:700}.report-fix-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.report-table .table-row>div[data-col=reportProperty]{flex-basis:270px;min-width:270px}.report-table .table-row>div[data-col=reportContext]{flex-basis:220px;min-width:220px}.report-table .table-row>div[data-col=reportConflicts]{flex-basis:520px;align-items:flex-start;min-width:520px}.report-table .table-row>div[data-col=reportCurrent]{flex-basis:220px;min-width:220px}.report-table .table-row>div[data-col=reportActions]{flex-basis:180px;min-width:180px}.note,.stat,.total-row{border:1px solid var(--border);background:#fffaf2;border-radius:12px;box-shadow:inset 0 0 0 1px #e2a45024}.note{margin-bottom:12px;padding:10px 12px}.stat{padding:14px}.stat-value{font-size:20px;font-weight:700}.link{color:var(--brand);font-weight:600;text-decoration:none}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.photo{border:1px solid var(--border);background:#fff;border-radius:10px;display:block;overflow:hidden}.photo img{object-fit:cover;width:100%;height:120px;display:block}.photo-actions{justify-content:flex-end;padding:8px;display:flex}.total-row{margin-top:12px;padding:10px 12px;font-weight:600}.table{flex-direction:column;gap:8px;font-size:15px;display:flex;overflow-x:auto}.table-row{border:1px solid var(--border);background:#fffdfa;border-radius:14px;outline:1px solid #e2a4502e;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:12px;padding:10px 12px;transition:transform .12s,box-shadow .12s,border-color .12s;display:grid;box-shadow:0 6px 16px #0000000d}.table-row:not(.table-head):hover{border-color:#e2a450;transform:translateY(-1px);box-shadow:0 10px 22px #00000014}.table-row.empty{text-align:center;color:var(--muted);grid-template-columns:1fr}.table-row.overdue{background:#fff1f1;border-color:#e28a8a}.overdue-text{color:#b00020;font-weight:600}.table-row.focus{outline:2px solid #e2a450;box-shadow:0 0 0 3px #e2a45033}.table-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.table-row.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.table-row.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.table-row.cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.table-row.cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.table-row.cols-auto{grid-template-columns:none;grid-auto-columns:minmax(140px,1fr);grid-auto-flow:column}.table-head{text-transform:uppercase;letter-spacing:.04em;color:#6c5b46;box-shadow:none;background:#fff1de;border-color:#e7cfae;font-size:13px;font-weight:700}.media-section{margin-bottom:16px}.media-section-title{text-transform:uppercase;letter-spacing:.06em;color:#8a7153;margin-bottom:10px;font-size:12px;font-weight:700}.media-slider{scroll-snap-type:x proximity;gap:12px;padding:4px 2px 10px;display:flex;overflow:auto hidden}.media-slide{width:180px;color:inherit;scroll-snap-align:start;background:#f8f4ee;border:1px solid #c9923559;border-radius:14px;flex:0 0 180px;text-decoration:none;display:block;overflow:hidden;box-shadow:0 10px 24px #311f0e14}.media-slide-image{object-fit:contain;background:#efe6da;width:180px;height:140px;display:block}.media-slide-caption{word-break:break-word;padding:8px 10px;font-size:12px;line-height:1.3}.app-table{gap:8px}.app-table .table-row{align-items:stretch;gap:0;width:max-content;min-width:max-content;padding:0;display:flex}.app-table .table-row>div{white-space:normal;word-break:break-word;border-right:1px solid #e2a45029;flex:0 0 152px;align-items:center;min-width:152px;padding:12px 14px;display:flex}.app-table .table-row>div:last-child{border-right:none}.app-table .table-row>div[data-col=name],.app-table .table-row>div[data-col=tenant],.app-table .table-row>div[data-col=tenants],.app-table .table-row>div[data-col=company],.app-table .table-row>div[data-col=condominium],.app-table .table-row>div[data-col=condo],.app-table .table-row>div[data-col=property],.app-table .table-row>div[data-col=address],.app-table .table-row>div[data-col=notes]{flex-basis:240px;min-width:240px}.app-table .table-row>div[data-col=actions]{z-index:2;background:inherit;flex-basis:236px;min-width:236px;position:sticky;right:0;box-shadow:-10px 0 18px #f7efe6f2}.app-table .table-head>div[data-col=actions]{z-index:3;box-shadow:-10px 0 18px #fff1defa}.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-actions form{margin:0}.table-primary-link{font-weight:700}.calendar-year-badge{border:1px solid var(--border);text-align:center;background:#fff7ee;border-radius:999px;min-width:76px;padding:10px 14px;font-weight:700}.calendar-board-wrap{background:linear-gradient(#fffffff5,#faf6eff5),repeating-linear-gradient(#5770840f 0 1px,#0000 1px 34px);border:1px solid #d9d7d0;border-radius:18px;overflow-x:auto;box-shadow:inset 0 0 0 1px #e2a45014}.calendar-board{grid-template-columns:48px repeat(12,minmax(0,1fr));width:100%;display:grid}.calendar-cell{background:#ffffffb8;border-bottom:1px solid #57708424;border-right:1px solid #57708424;min-height:28px;padding:4px}.calendar-corner,.calendar-month-head,.calendar-day-head{z-index:2;position:sticky}.calendar-corner{background:#f2f4f6;font-weight:700;top:0;left:0}.calendar-month-head{text-align:center;background:#eef1f4;padding:8px 4px;font-size:11px;font-weight:700;top:0}.calendar-day-head{text-align:center;background:#f8fafb;font-size:11px;font-weight:700;left:0}.calendar-day-cell.is-empty{background:#e0e4e959}.calendar-day-cell.is-today{background:linear-gradient(#fff4da 0%,#ffe7b5 100%);box-shadow:inset 0 0 0 2px #d9901a}.calendar-events{flex-direction:column;gap:2px;display:flex}.calendar-chip{color:#1f2a33;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:1px;padding:3px 4px;font-size:9px;line-height:1.1;text-decoration:none;display:flex;overflow:hidden}.calendar-chip:hover{border-color:#00000029}.calendar-chip-type{letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.calendar-chip-text{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.calendar-chip.type-contract{background:#dbeafe}.calendar-chip.type-expense{background:#fee2e2}.calendar-chip.type-ape{background:#dcfce7}.calendar-chip.type-document{background:#fef3c7}.calendar-chip.overdue{box-shadow:inset 0 0 0 1px #b00020}@media (max-width:1100px){.app-shell{grid-template-columns:280px minmax(0,1fr)}}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.content{padding:20px}.grid,.upload-area,.stats,.form-grid{grid-template-columns:1fr}.card.wide{grid-column:span 1}.table-row{grid-template-columns:1fr;min-width:0}}@media (max-width:820px){.mobile-topbar{color:#f7efe6;z-index:3;background:#0f3d2e;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-title{font-size:15px;font-weight:700}.sidebars{display:none}.app-shell.menu-open .sidebars{display:block}.app-shell{grid-template-columns:1fr}.sidebar-flow{border-bottom:1px solid #0a221a;height:auto;position:relative;top:auto}}@media (max-width:980px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:740px){.report-summary-grid{grid-template-columns:1fr}.table,.app-table{gap:12px}.table-head{display:none}.table-row,.table-row.cols-3,.table-row.cols-5,.table-row.cols-6,.table-row.cols-7,.table-row.cols-8,.app-table .table-row{grid-template-columns:1fr;gap:8px;width:100%;min-width:0;padding:12px;display:grid}.app-table .table-row>div,.app-table .table-row>div[data-col=name],.app-table .table-row>div[data-col=tenant],.app-table .table-row>div[data-col=tenants],.app-table .table-row>div[data-col=company],.app-table .table-row>div[data-col=condominium],.app-table .table-row>div[data-col=condo],.app-table .table-row>div[data-col=property],.app-table .table-row>div[data-col=address],.app-table .table-row>div[data-col=notes],.app-table .table-row>div[data-col=actions]{width:100%;min-width:0;box-shadow:none;border-right:none;flex-basis:auto;padding:0;display:block;position:static}.app-table .table-row>div:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:#8a7153;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.calendar-board{grid-template-columns:42px repeat(12,minmax(82px,1fr));min-width:1026px}}@media (max-width:600px){.media-slide{flex-basis:150px;width:150px}.media-slide-image{width:150px;height:110px}.topbar,.toolbar{flex-direction:column;align-items:flex-start}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.search-inline{justify-content:flex-start;width:100%}.search-inline select,.search-inline input{width:100%;min-width:0}.btn-primary,.btn-ghost{justify-content:center;width:100%}.top-actions{width:100%}.top-actions .btn-primary,.top-actions .btn-ghost{width:auto}}.sidebar-step-company .sidebar-crumb-sep,.sidebar-step-condominium .sidebar-crumb-sep{color:#e7d6c3}.sidebar-step-company .sidebar-crumb,.sidebar-step-condominium .sidebar-crumb{color:#f7efe6}
