/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.regionTools{align-items:center;gap:10px;display:flex}.manageRegion{color:#5f53d6;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcd9fa;border-radius:8px;padding:7px 10px;font-size:10px}.reminderBanner{background:#fffaf0;border-bottom:1px solid #f2dfba;align-items:center;gap:13px;margin:0 -20px;padding:15px 20px;display:flex}.reminderBanner>span{color:#d28a18;background:#fff0ce;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.reminderBanner div{flex:1}.reminderBanner b{font-size:12px}.reminderBanner p{color:#8b806b;margin:4px 0 0;font-size:9px}.reminderBanner em{color:#c37b0f;background:#fff0ce;border-radius:14px;padding:5px 9px;font-size:9px;font-style:normal}.reminderPill{color:#c78018;background:#fff1d8;border-radius:12px;margin-left:5px;padding:4px 7px;font-size:8px;display:inline-block}.reminderPill.urgent{color:#d84d66;background:#ffebee}@media (width<=720px){.regionTools{flex-direction:column;align-items:flex-start}.reminderBanner{align-items:flex-start}.reminderBanner em{white-space:nowrap}}.regionManager{border-bottom:1px solid var(--line);background:#f7f7fd;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 -20px;padding:16px 20px;display:grid}.regionManager>form,.regionManager>section{background:#fff;border:1px solid #e4e4ec;border-radius:10px;padding:14px}.regionManager b{font-size:11px}.regionManager p{color:#9097a5;margin:4px 0 11px;font-size:9px}.regionManager>form>div,.regionManager>section>div{gap:7px;display:flex}.regionManager input,.regionManager select{background:#fff;border:1px solid #dfe1e7;border-radius:7px;flex:1;min-width:0;height:35px;padding:0 9px;font-size:10px}.regionManager .primary{white-space:nowrap;height:35px;padding:0 11px;font-size:9px}.dangerButton{color:#d84c64;white-space:nowrap;cursor:pointer;background:#fff2f4;border:1px solid #f0bdc6;border-radius:7px;height:35px;padding:0 11px;font-size:9px}.dangerButton:disabled{opacity:.45;cursor:not-allowed}@media (width<=1000px){.regionManager{grid-template-columns:1fr}}@media (width<=720px){.regionManager>form>div,.regionManager>section>div{flex-direction:column}.regionManager input,.regionManager select,.regionManager .primary,.dangerButton{width:100%}}.contractNotice{background:#f7f5ff;border-bottom-color:#ded9ff}.contractNotice>span{color:#6657e8;background:#ebe8ff}.contractNotice em{color:#5d50d5;background:#ebe8ff}.contractPeriod{min-width:185px;display:block}.contractPeriod b,.contractPeriod small{display:block}.contractPeriod b{color:#4d5566;white-space:nowrap;font-size:10px}.contractPeriod small{color:#8d94a2;margin-top:4px;font-size:8px}.contractDates{background:#faf9ff;border:1px solid #e6e3fb;border-radius:9px;margin-bottom:15px;padding:12px}.contractDates label{margin-bottom:0}.contractStatus{grid-column:1/-1}.leasePricing{background:#f8fbff;border:1px solid #dfe8fb;border-radius:9px;margin-bottom:15px;padding:13px}.leasePricing .formGrid,.leasePricing label{margin-bottom:0}.leasePricing p{color:#778196;margin:8px 0 0;font-size:9px}.leaseMetrics{min-width:120px;display:block}.leaseMetrics b,.leaseMetrics small{display:block}.leaseMetrics b{color:#465064;font-size:11px}.leaseMetrics small{color:#6377a0;white-space:nowrap;margin-top:4px;font-size:8px}.tenantBusinessField small{color:#9299a8;margin-top:6px;font-size:9px;font-weight:400;display:block}.businessTag{color:#3975a9;background:#edf6ff;border-radius:7px;max-width:150px;padding:5px 8px;font-size:9px;line-height:1.35;display:inline-block}.businessTag.emptyBusiness{color:#9298a5;background:#f2f3f6}.contractRelations small{color:#8d94a5;margin-top:6px;font-size:9px;font-weight:400;display:block}.contractLinks{font-weight:650;color:#6657e8!important;margin-top:5px!important}.moneyBreakdown{min-width:105px;display:block}.moneyBreakdown b,.moneyBreakdown small{display:block}.moneyBreakdown b{color:#3f4758;font-size:10px}.moneyBreakdown small{color:#856f29;margin-top:4px;font-size:9px}.depositField{background:#fffbf0;border:1px solid #efe0b7;border-radius:9px;padding:11px 12px}.depositField input{background:#fff}.vacancyBar{background:linear-gradient(120deg,#fffdf7,#fff);border:1px solid #eee9dd;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;margin:16px 0 4px;padding:14px 16px;display:flex}.vacancyBar>div{align-items:center;gap:9px;display:flex}.vacancyBar b,.vacancyBar small{display:block}.vacancyBar b{font-size:12px}.vacancyBar small{color:#949aaa;margin-top:3px;font-size:9px}.vacancyIcon{color:#cb8625;background:#fff2d9;border-radius:9px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.vacancyBar button{color:#737a89;cursor:pointer;background:#fff;border:1px solid #e7e8ed;border-radius:18px;padding:7px 11px;font-size:10px}.vacancyBar button.selected{color:#b87517;background:#fff4df;border-color:#dd9b34;font-weight:700}.vacancyBar button em{color:#fff;background:#f2ab3c;border-radius:8px;margin-left:5px;padding:1px 5px;font-size:8px;font-style:normal}.vacancyPill{color:#bf791b;white-space:nowrap;background:#fff4dd;border-radius:10px;margin:4px 0 0 5px;padding:3px 6px;font-size:8px;display:inline-block}.vacancyPill.long{color:#cf594d;background:#ffebe7}.vacantSince b,.vacantSince small{display:block}.vacantSince b{color:#555d6d;font-size:10px}.vacantSince small{color:#a0a6b2;margin-top:3px;font-size:8px}.vacantDateField small{color:#9ba1ae;margin-top:6px;font-size:9px;font-weight:400;display:block}@media (width<=760px){.vacancyBar{flex-direction:column;align-items:flex-start}.vacancyBar>div:last-child{width:100%;overflow-x:auto}.vacancyBar button{white-space:nowrap}.vacancyPill{width:max-content;margin-left:0;display:block}}.tenantRecord b{letter-spacing:-.01em;font-size:13px!important}.tenantRecord small{color:#9aa1b0!important;font-size:9px!important}.recordIcon.tenant{flex:none}.tenantRecord .idCardLine{letter-spacing:.02em;margin-top:4px;color:#a5aab5!important;font-size:8px!important}.idCardField small{color:#9299a8;margin-top:6px;font-size:9px;font-weight:400;display:block}@media (width<=760px){.tenantRecord b{font-size:14px!important}.tenantRecord small{margin-top:5px;font-size:10px!important}}.tenantLinkField small{color:#8d94a5;margin-top:6px;font-size:9px;font-weight:400;display:block}.linkedTenant{font-weight:650;color:#4f8d6b!important;margin-top:5px!important}.linkedTenant.vacant{font-weight:500;color:#b07a35!important}.annualCollection{background:linear-gradient(135deg,#f7fffb,#fff);border:1px solid #dceee6;border-radius:12px;margin:14px 0 4px;padding:17px}.annualHead{justify-content:space-between;align-items:center;gap:14px;display:flex}.annualHead span,.annualHead b,.annualHead small{display:block}.annualHead span{color:#279a68;letter-spacing:.08em;font-size:9px;font-weight:700}.annualHead b{margin-top:4px;font-size:14px}.annualHead small{color:#8c95a3;margin-top:4px;font-size:9px}.annualHead select{color:#52645d;background:#fff;border:1px solid #d9e7e1;border-radius:8px;padding:8px 10px;font-size:10px}.annualStats{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px;display:grid}.annualStats article{background:#fff;border:1px solid #e5eee9;border-radius:9px;padding:12px}.annualStats small,.annualStats b{display:block}.annualStats small{color:#89938f;font-size:9px}.annualStats b{color:#34443d;margin-top:6px;font-size:15px}.annualStats article:nth-child(2) b{color:#279a68}.annualStats article:nth-child(3) b{color:#d88731}.monthlyCollection{grid-template-columns:repeat(12,1fr);gap:6px;margin-top:12px;display:grid}.monthlyCollection article{text-align:center;background:#f4f6f5;border-radius:7px;min-width:0;padding:8px 5px}.monthlyCollection span,.monthlyCollection b,.monthlyCollection small{display:block}.monthlyCollection span{color:#707a76;font-size:8px}.monthlyCollection b{color:#299566;white-space:nowrap;margin-top:5px;font-size:9px}.monthlyCollection small{color:#9ca39f;white-space:nowrap;margin-top:4px;font-size:7px}.monthlyCollection article.hasRent{background:#eaf8f1}@media (width<=1050px){.monthlyCollection{grid-template-columns:repeat(6,1fr)}}@media (width<=720px){.annualStats{grid-template-columns:repeat(2,1fr)}.monthlyCollection{grid-template-columns:repeat(3,1fr)}.annualHead{align-items:flex-start}.annualHead small{max-width:180px}}.permissionsPanel{gap:15px;display:grid}.roleOverview{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.roleOverview article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:17px;display:flex}.roleOverview article>span{border-radius:10px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.roleOverview div{flex:1}.roleOverview b,.roleOverview small{display:block}.roleOverview b{font-size:12px}.roleOverview small{color:#9097a6;margin-top:4px;font-size:9px}.roleOverview em{white-space:nowrap;font-size:9px;font-style:normal}.adminRole>span{color:#6252d8;background:#eeeaff}.adminRole em{color:#6252d8}.operatorRole>span{color:#279a68;background:#e9f7f0}.operatorRole em{color:#279a68}.viewerRole>span{color:#4f78a8;background:#eef4fb}.viewerRole em{color:#4f78a8}.permissionGrid{grid-template-columns:340px 1fr;gap:15px;display:grid}.permissionForm,.memberList,.permissionMatrix{border:1px solid var(--line);background:#fff;border-radius:12px;padding:19px}.permissionForm>div b,.memberHead b{font-size:13px}.permissionForm>div p,.memberHead p{color:#9299a8;margin:4px 0 16px;font-size:9px}.permissionForm label{color:#545c6d;margin-bottom:12px;font-size:10px;font-weight:650;display:block}.permissionForm input,.permissionForm select{background:#fff;border:1px solid #dfe1e7;border-radius:8px;width:100%;height:39px;margin-top:6px;padding:0 10px;display:block}.permissionForm .primary{width:100%;margin-top:2px}.permissionError{color:#d34f61;margin:0 0 10px;font-size:9px}.memberHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;display:flex}.memberHead>span{color:#6254d8;background:#f1efff;border-radius:12px;padding:5px 8px;font-size:8px}.memberList article{border-bottom:1px solid #f0f1f4;align-items:center;gap:10px;padding:13px 0;display:flex}.memberList article:last-child{border-bottom:0}.memberList article>i{color:#6254d8;background:#f1efff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-style:normal;font-weight:700;display:grid}.memberList article>div{flex:1}.memberList article b,.memberList article small{display:block}.memberList article b{font-size:11px}.memberList article small{color:#999fac;margin-top:3px;font-size:8px}.roleBadge{border-radius:11px;padding:4px 7px;font-size:8px}.roleBadge.admin{color:#6252d8;background:#eeeaff}.roleBadge.operator{color:#279a68;background:#e8f7ef}.roleBadge.viewer{color:#5078a5;background:#edf4fb}.memberList article>button{color:#c66a72;cursor:pointer;background:0 0;border:0;font-size:9px}.permissionMatrix>b{margin-bottom:12px;font-size:13px;display:block}.permissionMatrix>div{border-top:1px solid #f0f1f4;grid-template-columns:1.5fr repeat(3,1fr);display:grid}.permissionMatrix span{text-align:center;color:#8d94a2;padding:9px;font-size:9px}.permissionMatrix span:first-child{text-align:left;color:#555d6e}.permissionMatrix .allowed{color:#279a68;font-weight:800}.accessDenied{text-align:center;background:#f5f6fa;place-content:center;min-height:100vh;display:grid}.accessDenied>span{color:#6657e8;font-size:42px}.accessDenied h1{margin:13px 0 6px;font-size:22px}.accessDenied p{color:#d05668;margin:0}.accessDenied small{color:#9299a8;margin-top:10px}@media (width<=900px){.roleOverview,.permissionGrid{grid-template-columns:1fr}}@media (width<=720px){.permissionMatrix{overflow-x:auto}.permissionMatrix>div{min-width:480px}.roleOverview article{padding:13px}}.loginGate{background:radial-gradient(circle at 20% 15%,#eeeaff 0,#0000 34%),radial-gradient(circle at 85% 85%,#e8f8f0 0,#0000 30%),#f7f8fc;place-items:center;min-height:100vh;padding:24px;display:grid}.loginGate>section{text-align:center;background:#ffffffed;border:1px solid #e5e6ee;border-radius:20px;width:min(430px,100%);padding:34px;box-shadow:0 28px 70px #31344c1c}.loginBrand{justify-content:center;align-items:center;gap:10px;margin-bottom:30px;display:flex}.loginBrand>span{color:#fff;background:linear-gradient(145deg,#7469f1,#5746d8);border-radius:12px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.loginBrand div{text-align:left}.loginBrand b,.loginBrand small{display:block}.loginBrand b{font-size:16px}.loginBrand small{color:#9aa0ad;letter-spacing:.14em;margin-top:3px;font-size:8px}.loginSymbol{color:#6657e8;background:#efedff;border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:29px;display:grid}.loginGate h1{margin:0;font-size:23px}.loginGate p{color:#848c9d;margin:9px 0 24px;font-size:11px}.chatgptLogin{color:#fff;background:#17181b;border-radius:10px;padding:13px 18px;font-size:12px;font-weight:700;text-decoration:none;display:block;box-shadow:0 8px 20px #17181b26}.chatgptLogin:hover{background:#303136}.loginTip,.loginError{margin-top:12px;font-size:9px;display:block}.loginTip{color:#9299a8}.loginError{color:#d35b6c}.loginRoles{border-top:1px solid #eceef2;justify-content:center;gap:7px;margin-top:24px;padding-top:19px;display:flex}.loginRoles span{color:#6558cc;background:#f1efff;border-radius:12px;padding:5px 8px;font-size:8px}.passwordLogin{text-align:left;gap:13px;display:grid}.passwordLogin label{color:#545c6d;font-size:10px;font-weight:700}.passwordLogin input{color:#182033;background:#fff;border:1px solid #dfe1e7;border-radius:9px;outline:none;width:100%;height:43px;margin-top:6px;padding:0 12px;display:block}.passwordLogin input:focus{border-color:#6657e8;box-shadow:0 0 0 3px #6657e817}.passwordLogin button{color:#fff;cursor:pointer;background:#6657e8;border:0;border-radius:10px;height:44px;margin-top:3px;font-size:12px;font-weight:750;box-shadow:0 8px 20px #6657e82f}.passwordLogin button:disabled{opacity:.65;cursor:wait}.passwordLogin .loginError{text-align:center;margin:0}.passwordState{color:#279a68;margin-top:3px;font-size:8px;display:block}.passwordState.missing{color:#d38e2e}.memberActions{gap:7px;display:flex}.memberActions button{color:#6657e8;cursor:pointer;background:0 0;border:0;font-size:9px}.memberActions button.removeUser{color:#c66a72}:root{--ink:#172033;--muted:#758096;--line:#e7eaf2;--purple:#6356df;--purple-dark:#5143ce;--bg:#f5f7fb;--card:#fff;--shadow:0 12px 32px #272d4b12}body{background:radial-gradient(circle at 88% 0,#7469f114,transparent 28%),var(--bg);color:var(--ink);letter-spacing:.002em}button,input,select{transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #6356df33}.sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-right:1px solid #e8eaf2;width:236px;padding:23px 15px 18px;box-shadow:8px 0 28px #21274209}.brand{padding:0 11px 27px}.brandMark{background:linear-gradient(145deg,#786df0,#5748d5);border-radius:13px;width:42px;height:42px;box-shadow:0 9px 22px #6356df4d}.brand b{color:#20283a;font-size:17px}.brand small{color:#9ca4b4;letter-spacing:.18em;font-size:8px}.sidebar nav{gap:4px}.sidebar nav button{color:#687287;border:1px solid #0000;border-radius:11px;min-height:44px;padding:11px 13px;font-size:13px}.sidebar nav button:hover{color:#4f46bf;background:#f7f7fc;transform:translate(2px)}.sidebar nav button.active{color:#5547d3;background:linear-gradient(135deg,#f1efff,#f7f6ff);border-color:#e4e0ff;font-weight:750;box-shadow:inset 3px 0 #6657e8}.sidebar nav button i{font-size:17px}.sideFoot{margin:15px 2px 0;padding:15px 8px 0}.sideFoot .avatar{background:linear-gradient(145deg,#fff0e7,#ffe5d6);width:36px;height:36px;box-shadow:inset 0 0 0 1px #ffe0cf}.sideFoot small{letter-spacing:.05em;font-size:8px}.sideFoot button{color:#9198a8;border-radius:7px;padding:5px 7px;font-size:9px}.sideFoot button:hover{color:#c64e5f;background:#fff0f1}.workspace{width:calc(100% - 236px);margin-left:236px;padding:31px 36px 52px}.workspace header{margin-bottom:24px}.workspace h1{letter-spacing:-.035em;font-size:25px}.workspace header p{color:#818a9d;font-size:11px}.headerActions{gap:9px}.search{border-color:#e2e5ed;border-radius:11px;height:42px;box-shadow:0 5px 14px #272d4b09}.search:focus-within{border-color:#8c82ec;box-shadow:0 0 0 3px #6356df1a}.search input{background:0 0;height:40px}.bell{cursor:pointer;border-radius:11px;width:42px;height:42px}.bell:hover{background:#f7f6ff;border-color:#d7d3fb}.primary{background:linear-gradient(135deg,#6d60e8,#5849d4);border-radius:10px;min-height:41px;box-shadow:0 8px 18px #6356df33}.primary:hover{transform:translateY(-1px);box-shadow:0 11px 22px #6356df42}.primary:active{transform:translateY(0)}.stats{gap:16px;margin-bottom:16px}.stats article,.panel,.permissionForm,.memberList,.permissionMatrix,.roleOverview article,.annualCollection{border-color:var(--line);box-shadow:var(--shadow);background:#fffffff7}.stats article{border-radius:15px;min-height:122px;padding:21px}.stats article:hover{transform:translateY(-2px);box-shadow:0 16px 38px #272d4b1a}.statIcon{border-radius:12px;width:44px;height:44px}.stats strong{letter-spacing:-.025em;font-size:24px}.panel{border-radius:15px;padding:21px}.panelHead h2{font-size:14px}.panelHead button:hover{color:#493acb}.gridTop{gap:16px;margin-bottom:16px}.modulePanel{padding:0 22px 14px;overflow:hidden}.moduleSummary{background:linear-gradient(#fff,#fcfcfe);margin:0 -22px;padding:19px 22px}.moduleSummary div{padding:4px 22px}.moduleSummary strong{letter-spacing:-.025em;font-size:22px}.regionBar,.vacancyBar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.regionChips button,.vacancyBar button{transition:all .18s}.regionChips button:hover,.vacancyBar button:hover{color:#5547d3;border-color:#cfc9fa}.manageRegion{border-radius:9px!important}.reminderBanner{border-radius:12px}.tableWrap{margin:2px -5px 0;padding:0 5px 6px}table{margin-top:13px}th{color:#8c94a5;letter-spacing:.035em;text-transform:uppercase;background:#fbfcfe;padding:12px 10px;font-size:9px}td{padding:14px 10px}tbody tr{transition:background .16s}tbody tr:hover{background:#fafaff}td:first-child b{color:#283146;font-size:11px}.recordIcon{border-radius:9px;width:33px;height:33px}.pill,.regionTag,.businessTag{font-weight:650}.empty{padding:72px 20px}.roleOverview{gap:14px}.roleOverview article{border-radius:14px;padding:18px}.permissionGrid{grid-template-columns:minmax(300px,360px) 1fr;gap:16px}.permissionForm,.memberList,.permissionMatrix{border-radius:14px}.permissionForm input,.permissionForm select{border-radius:9px;height:42px}.permissionForm input:focus,.permissionForm select:focus{border-color:#8175e8;outline:0;box-shadow:0 0 0 3px #6356df1a}.memberList article{padding:14px 0}.memberList article>i{width:35px;height:35px}.memberActions{align-items:center}.memberActions button{padding:6px 8px;border-radius:7px!important}.memberActions button:hover{background:#f1efff}.memberActions .removeUser:hover{background:#fff0f1}.passwordState{font-weight:650}.permissionMatrix>div{align-items:center;min-height:38px}.annualCollection{border-radius:14px}.annualStats article,.monthlyCollection article{border-radius:10px}.modalBackdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{border:1px solid #fff9;border-radius:18px;box-shadow:0 30px 90px #16192a40}.modal input,.modal select{border-radius:9px;height:44px}.modalActions button{cursor:pointer;min-height:40px}.loginGate{background:radial-gradient(circle at 12% 15%,#6f60e82e,#0000 28%),radial-gradient(circle at 88% 84%,#2ab07721,#0000 28%),linear-gradient(145deg,#f7f7fc,#f1f3f9);padding:28px;position:relative;overflow:hidden}.loginGate:before,.loginGate:after{content:"";filter:blur(1px);pointer-events:none;border-radius:50%;position:absolute}.loginGate:before{background:linear-gradient(145deg,#6f60e81f,#6f60e800);width:230px;height:230px;bottom:-85px;left:-100px}.loginGate:after{border:28px solid #6356df0f;width:160px;height:160px;top:-55px;right:-55px}.loginGate>section{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe0;border:1px solid #ffffffe6;border-radius:24px;width:min(448px,100%);padding:38px 40px 32px;position:relative;box-shadow:0 32px 90px #262a4629}.loginBrand{margin-bottom:27px}.loginBrand>span{border-radius:13px;width:42px;height:42px;box-shadow:0 9px 22px #6356df47}.loginSymbol{background:linear-gradient(145deg,#f0edff,#e7e3ff);border-radius:20px;width:67px;height:67px;margin-bottom:19px;box-shadow:inset 0 0 0 1px #ded8ff}.loginGate h1{letter-spacing:-.025em;font-size:24px}.loginGate p{margin:9px 0 26px;font-size:11px}.passwordLogin{gap:14px}.passwordLogin input{background:#fffffff0;border-radius:10px;height:46px}.passwordLogin button{background:linear-gradient(135deg,#6d60e8,#5748d2);border-radius:11px;height:47px;box-shadow:0 10px 22px #6356df47}.passwordLogin button:hover{transform:translateY(-1px);box-shadow:0 13px 26px #6356df57}.loginRoles{margin-top:22px}.loginRoles span{color:#6055c5;background:#f0effb;padding:6px 9px;font-weight:650}@media (width<=1100px){.workspace{padding-left:24px;padding-right:24px}.stats{grid-template-columns:repeat(2,1fr)}.permissionGrid,.roleOverview{grid-template-columns:1fr}.memberList{min-width:0}}@media (width<=720px){.sidebar{width:72px;padding:18px 9px}.brand{padding:0 6px 25px}.brandMark{width:40px;height:40px}.workspace{width:calc(100% - 72px);margin-left:72px;padding:20px 13px 38px}.workspace h1{font-size:21px}.workspace header{gap:8px}.stats{grid-template-columns:1fr;gap:11px}.stats article{min-height:104px}.panel{border-radius:13px}.modulePanel{padding-left:15px;padding-right:15px}.moduleSummary,.regionBar,.vacancyBar{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.loginGate{padding:15px}.loginGate>section{border-radius:20px;padding:30px 23px 25px}.loginBrand{margin-bottom:24px}.loginGate h1{font-size:22px}.permissionForm,.memberList,.permissionMatrix{padding:16px}.memberList article{flex-wrap:wrap;align-items:flex-start}.memberList article>div:first-of-type{min-width:130px}.memberActions{width:100%;padding-left:45px}.roleOverview article{padding:15px}}.setupNotice{color:#5649c7;background:#f6f4ff;border:1px solid #e0dcff;border-radius:11px;gap:5px;margin:-10px 0 18px;padding:13px 14px;display:grid}.setupNotice b{font-size:11px}.setupNotice span{color:#8178b9;font-size:9px}.setupNotice button{color:#fff;cursor:pointer;background:#6657e8;border:0;border-radius:7px;justify-self:start;margin-top:4px;padding:6px 10px;font-size:9px;font-weight:700}:root{--ink:#182033;--muted:#7d8598;--line:#e8eaf0;--purple:#6657e8;--bg:#f5f6fa}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;width:222px;padding:25px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 10px 32px;display:flex}.brandMark{color:#fff;background:linear-gradient(145deg,#7469f1,#5746d8);border-radius:12px;place-items:center;width:39px;height:39px;font-weight:800;display:grid;box-shadow:0 8px 18px #6657e83d}.brand b{letter-spacing:.04em;font-size:17px;display:block}.brand small,.sideFoot small{color:#a1a6b3;letter-spacing:.14em;margin-top:3px;font-size:9px;display:block}.sidebar nav{gap:5px;display:grid}.sidebar nav button{color:#697185;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;padding:11px 13px;font-size:14px;display:flex}.sidebar nav button i{text-align:center;width:20px;font-size:18px;font-style:normal}.sidebar nav button.active{color:#5849dc;background:#f0efff;font-weight:700}.sidebar nav button em{color:#fff;background:#ee5b70;border-radius:12px;margin-left:auto;padding:2px 6px;font-size:10px;font-style:normal}.sideFoot{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding:17px 7px 0;display:flex}.avatar{color:#cf7548;background:#fff0e6;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.sideFoot span{flex:1}.sideFoot b{font-size:13px}.sideFoot button{color:#9aa0ad;cursor:pointer;background:0 0;border:0}.workspace{width:calc(100% - 222px);max-width:1600px;margin-left:222px;padding:27px 32px 46px}.workspace header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.workspace h1{letter-spacing:-.02em;margin:0 0 7px;font-size:24px}.workspace header p,.panelHead p{color:var(--muted);margin:0;font-size:12px}.headerActions{align-items:center;gap:10px;display:flex}.search{border:1px solid var(--line);color:#9299a8;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:0 12px;display:flex}.search input{width:210px;height:38px;color:var(--ink);border:0;outline:0}button{font-family:inherit}.bell{border:1px solid var(--line);color:#72798a;background:#fff;border-radius:9px;width:40px;height:40px;position:relative}.bell b{color:#fff;border:2px solid var(--bg);background:#ef5870;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid;position:absolute;top:-5px;right:-3px}.primary{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:11px 17px;font-weight:650;box-shadow:0 5px 13px #6657e82b}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:flex-start;gap:15px;padding:20px;display:flex}.statIcon{border-radius:10px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.statIcon.indigo{color:#6657e8;background:#efedff}.statIcon.green{color:#25a36a;background:#e6f8ef}.statIcon.amber{color:#dd9b24;background:#fff4dc}.statIcon.rose{color:#e1536d;background:#ffebee}.stats small{color:var(--muted);font-size:11px}.stats strong{margin:5px 0;font-size:22px;display:block}.stats strong i{color:#8f96a4;font-size:11px;font-style:normal;font-weight:500}.stats p{color:#9da3af;margin:0;font-size:10px}.stats p b{color:#27a56d}.stats p em{color:#e28940;font-style:normal}.gridTop{grid-template-columns:1.48fr 1fr;gap:15px;margin-bottom:15px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.panelHead{justify-content:space-between;align-items:flex-start;display:flex}.panelHead h2{margin:0 0 5px;font-size:15px}.panelHead button{color:var(--purple);cursor:pointer;background:0 0;border:0;font-size:11px}.panelHead select{border:1px solid var(--line);color:#6e7586;background:#fff;border-radius:7px;padding:7px 10px;font-size:11px}.legend{color:#555e70;gap:20px;margin:18px 0 2px 43px;font-size:11px;display:flex}.dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.dot.income{background:#7061e9}.dot.expense{background:#d6d2fb}.chart{gap:12px;height:190px;display:flex}.yaxis{color:#a7acb7;flex-direction:column;justify-content:space-between;padding:11px 0 23px;font-size:9px;display:flex}.bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#fff 0 41px,#eff0f4 42px);flex:1;justify-content:space-around;padding-top:7px;display:flex}.barGroup{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.barGroup>div{align-items:flex-end;gap:5px;height:150px;display:flex}.barGroup i{border-radius:4px 4px 1px 1px;width:13px;display:block}.barGroup i:first-child{background:#7061e9}.barGroup i:last-child{background:#d8d4fb}.barGroup span{color:#8d94a2;font-size:10px}.todo{padding-bottom:14px}.todoRow{border-bottom:1px solid #f0f1f4;align-items:center;gap:11px;padding:15px 0;display:flex}.todoRow>i{border-radius:50%;width:7px;height:7px}.todoRow>i.high{background:#ef5971;box-shadow:0 0 0 5px #fdecef}.todoRow>i.mid{background:#efa640;box-shadow:0 0 0 5px #fff4e4}.todoRow>i.low{background:#6657e8;box-shadow:0 0 0 5px #efedff}.todoRow div{flex:1}.todoRow b,.todoRow span{display:block}.todoRow b{margin-bottom:4px;font-size:12px}.todoRow span{color:#9299a7;font-size:10px}.todoRow em{color:#8f96a3;font-size:10px;font-style:normal}.addTodo{color:#6a5ee6;background:#fafaff;border:1px dashed #d7d9e2;border-radius:8px;width:100%;margin-top:12px;padding:8px;font-size:11px}.recent{padding-bottom:6px}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:14px}th{text-align:left;color:#999fac;border-bottom:1px solid var(--line);padding:10px 8px;font-size:10px;font-weight:600}td{color:#6d7484;border-bottom:1px solid #f0f1f4;padding:12px 8px;font-size:11px}td:first-child{align-items:center;gap:10px;min-width:250px;display:flex}td:first-child span b,td:first-child span small{display:block}td:first-child b{color:#303749;margin-bottom:4px;font-size:11px}td:first-child small{color:#969dab;font-size:9px}.recordIcon{color:#6657e8;background:#efedff;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.recordIcon.rent{color:#209863;background:#e7f8ef}.recordIcon.repair{color:#d48e2d;background:#fff2e0}.recordIcon.contract{color:#397bd5;background:#e9f2ff}.recordIcon.tenant{color:#d16e3e;background:#fff0e9}td>button{color:#999fac;background:0 0;border:0}.pill{color:#707789;background:#f0f1f4;border-radius:12px;padding:4px 8px;font-size:9px}.pill.已收,.pill.收入,.pill.已完成,.pill.已出租,.pill.租住中{color:#279a68;background:#e7f8ef}.pill.逾期,.pill.支出{color:#dd536a;background:#ffebee}.pill.处理中,.pill.待处理,.pill.待出租{color:#d38e2e;background:#fff3df}.pill.生效中{color:#6657e8;background:#eeecff}.modulePanel{padding:0 20px 12px}.moduleSummary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin:0 -20px;padding:18px 20px;display:grid}.moduleSummary div{border-right:1px solid var(--line);padding:3px 20px}.moduleSummary div:last-child{border:0}.moduleSummary span{color:var(--muted);font-size:11px;display:block}.moduleSummary strong{margin-top:5px;font-size:20px;display:block}.empty{text-align:center;color:#9ba1ae;padding:80px}.empty span{font-size:32px}.empty h3{color:#4b5262;margin-bottom:6px}.empty p{font-size:12px}.modalBackdrop{z-index:20;background:#1d20304d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(480px,100%);padding:24px;box-shadow:0 30px 80px #1517254a}.modalHead{justify-content:space-between;margin-bottom:22px;display:flex}.modalHead small{color:var(--purple);font-weight:700}.modalHead h2{margin:5px 0 0;font-size:21px}.modalHead>button{color:#777f8e;background:#f3f4f7;border:0;border-radius:50%;width:32px;height:32px;font-size:22px}.modal label{color:#51596a;margin-bottom:15px;font-size:12px;font-weight:650;display:block}.modal input,.modal select{background:#fff;border:1px solid #dfe1e7;border-radius:8px;outline:none;width:100%;height:42px;margin-top:7px;padding:0 11px;display:block}.modal input:focus,.modal select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6657e817}.formGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modalActions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.modalActions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 16px}.modalActions button.primary{background:var(--purple);border-color:var(--purple)}.regionBar{border-bottom:1px solid var(--line);background:#fbfbfe;justify-content:space-between;align-items:center;gap:18px;margin:0 -20px;padding:16px 20px;display:flex}.regionBar>div:first-child b,.regionBar>div:first-child span{display:block}.regionBar>div:first-child b{font-size:12px}.regionBar>div:first-child span{color:#9299a7;margin-top:3px;font-size:9px}.regionChips{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.regionChips button{color:#737a8b;cursor:pointer;background:#fff;border:1px solid #e2e3eb;border-radius:18px;padding:6px 9px;font-size:10px}.regionChips button.selected{color:#5849dc;background:#efedff;border-color:#6657e8;font-weight:700}.regionChips em{background:#f0f1f4;border-radius:10px;margin-left:6px;padding:1px 5px;font-size:8px;font-style:normal}.regionChips button.selected em{background:#fff}.regionTag{color:#6254d8;white-space:nowrap;background:#f3f1ff;border-radius:14px;padding:5px 8px;font-size:9px;display:inline-block}@media (width<=1050px){.stats{grid-template-columns:repeat(2,1fr)}.gridTop{grid-template-columns:1fr}.headerActions .search{display:none}}@media (width<=720px){.sidebar{width:74px;padding:20px 10px}.brand{padding:0 6px 28px}.brand>span:last-child,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center;padding:12px}.sidebar nav button i{font-size:19px}.sideFoot span,.sideFoot button{display:none}.workspace{width:calc(100% - 74px);margin-left:74px;padding:20px 15px}.workspace header{align-items:flex-start;gap:12px}.workspace header p,.headerActions .bell{display:none}.primary{padding:10px;font-size:11px}.stats{grid-template-columns:1fr}.stats article{padding:15px}.gridTop{display:block}.todo,.recent{margin-top:14px}.moduleSummary{grid-template-columns:1fr}.moduleSummary div{border-right:0;border-bottom:1px solid var(--line);padding:10px}.formGrid{grid-template-columns:1fr}.regionBar{flex-direction:column;align-items:flex-start}.regionChips{justify-content:flex-start}}
