:root{--background: #fbfaff;--foreground: #1e1b2f;--card: #ffffff;--muted: #f2f0fa;--muted-foreground: #6f6a7e;--border: #e5e1f0;--input: #f6f4fb;--primary: #32288f;--primary-deep: #21185d;--primary-glow: #7561f2;--primary-soft: #efedff;--accent: #15a997;--accent-soft: #e9fbf8;--success: #2f9f75;--success-soft: #e8f7f0;--warning: #c7831d;--warning-soft: #fdf4e4;--danger: #d94a5f;--danger-soft: #fdecef;--info: #2f77d3;--info-soft: #edf5ff;--gradient-brand: linear-gradient(135deg, #261c73 0%, #4635c7 58%, #7965f3 100%);--shadow-card: 0 1px 2px rgba(113, 99, 164, .16), 0 18px 44px -28px rgba(59, 43, 130, .32);--radius: 14px;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;font-family:var(--font-sans);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(900px 520px at 0% -10%,rgba(140,121,255,.22),transparent 62%),radial-gradient(700px 480px at 100% 0%,rgba(117,97,242,.12),transparent 60%),var(--background);background-attachment:fixed}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.01em}h1{font-size:1.6rem;line-height:1.25}p{margin:0 0 .75rem;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{color:var(--primary-deep)}img{max-width:100%}.muted{color:var(--muted-foreground)}.full{width:100%}.center{text-align:center}.success-text{color:var(--success, #1f7a4d);font-size:.9rem;margin:.5rem 0 0}.error-text{color:var(--danger);font-size:.9rem;margin:.5rem 0 0}.topbar{position:sticky;top:0;z-index:20;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top)}.topbar__inner{max-width:1040px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--foreground)}.brand img{width:32px;height:32px;border-radius:9px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-family:var(--font-display);font-size:1.05rem}.brand small{color:var(--muted-foreground);font-size:.72rem;font-weight:500}.topbar__nav{display:flex;gap:4px;margin-left:auto}.topbar__nav a{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;color:var(--muted-foreground);font-weight:600;font-size:.92rem}.topbar__nav a.active,.topbar__nav a:hover{background:var(--primary-soft);color:var(--primary)}.shell--public .lang-switch{margin-left:auto}select.lang-switch{width:auto;flex:none;border:1px solid var(--border);border-radius:10px;background:var(--card);padding:7px 8px;font-size:.88rem}.brand{flex:none}.topbar__nav a{white-space:nowrap}.page{max-width:1040px;margin:0 auto;padding:24px 16px 64px;display:grid;gap:16px}.page--narrow{max-width:640px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-header__subtitle{color:var(--muted-foreground);margin:6px 0 0}.page-header__actions{display:flex;gap:8px}.back-link{display:inline-block;font-size:.88rem;margin-bottom:6px;color:var(--muted-foreground)}.note{color:var(--muted-foreground);margin:-6px 0 0}.section-title{margin-top:12px;font-size:1.25rem}.section-label{font-size:.95rem;margin-top:4px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px;min-width:0}.card__header{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:14px;flex-wrap:wrap}.card__title{font-size:1.05rem;display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;min-width:0}.card__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card h1{margin-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:9px 15px;font-weight:650;font-size:.92rem;cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s;text-decoration:none}.btn:disabled,.btn.is-disabled{opacity:.45;pointer-events:none}.btn--primary{background:var(--gradient-brand);color:#fff;box-shadow:0 10px 24px -14px #32288fb3}.btn--primary:hover{color:#fff;box-shadow:0 12px 28px -12px #32288fcc}.btn--secondary{background:var(--primary-soft);color:var(--primary)}.btn--secondary:hover{background:#e3e0ff}.btn--ghost{background:var(--card);border-color:var(--border);color:var(--foreground)}.btn--ghost:hover{background:var(--muted);color:var(--foreground)}.btn--danger{color:var(--danger)}.btn--success{background:var(--success);color:#fff}.btn--danger-solid{background:var(--danger);color:#fff}.btn--link{background:none;border:0;color:var(--primary);padding:6px 0;justify-self:start}.btn--sm{padding:6px 11px;font-size:.85rem}.btn--block{width:100%;padding:13px;font-size:1rem;margin-top:10px}.button-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.card .button-row{justify-content:flex-start}.empty .button-row{justify-content:center}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--card);cursor:pointer;color:var(--muted-foreground);flex:none}.icon-button:hover{background:var(--muted)}.icon-button--danger:hover{color:var(--danger);background:var(--danger-soft)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;font-family:var(--font-sans);white-space:nowrap;background:var(--muted);color:var(--muted-foreground)}.badge--info{background:var(--info-soft);color:var(--info)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--brand{background:var(--primary-soft);color:var(--primary)}.tag{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--primary-soft);color:var(--primary)}.tag--success{background:var(--success-soft);color:var(--success)}.tag--danger{background:var(--danger-soft);color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chip{padding:5px 10px;border-radius:999px;background:var(--muted);font-size:.85rem}.form-grid{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row--3{grid-template-columns:repeat(3,1fr)}.field{display:grid;gap:6px;min-width:0;align-content:start}.field__label{font-size:.85rem;font-weight:650}.field__hint{font-size:.8rem;color:var(--muted-foreground);display:flex;align-items:center;gap:4px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid var(--border);background:var(--input);border-radius:10px;padding:10px 12px;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary-glow);box-shadow:0 0 0 3px #7561f22e;background:#fff}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);flex:none}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--card)}.check-item.is-checked{border-color:var(--primary-glow);background:var(--primary-soft)}.check-item span:not(.tag){display:grid;gap:2px;flex:1}.check-item strong{font-size:.9rem}.check-item small{color:var(--muted-foreground);font-size:.76rem;line-height:1.35}.custom-material{display:grid;grid-template-columns:1fr 150px auto;gap:8px}.custom-material--wide{grid-template-columns:1fr 1fr 150px auto;margin-top:10px}.consent{display:flex;gap:10px;align-items:flex-start;line-height:1.5;cursor:pointer;margin-bottom:8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#17123873;display:grid;place-items:center;padding:16px}.modal__panel{width:min(720px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--card);border-radius:18px;box-shadow:0 30px 80px -20px #17123880}.modal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px}.modal__header h2{font-size:1.1rem}.modal__body{padding:18px 20px;overflow-y:auto}.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--primary)}.stat--warning{color:var(--warning)}.stat--success{color:var(--success)}.stat svg{grid-row:span 2}.stat__value{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--foreground);line-height:1.1}.stat__label{color:var(--muted-foreground);font-size:.82rem}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.property-card{display:grid;gap:8px;padding:18px;color:var(--foreground);font-weight:400;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:transform .15s,border-color .15s}.property-card:hover{transform:translateY(-2px);border-color:var(--primary-glow);color:var(--foreground)}.property-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px}.property-card__top strong{font-family:var(--font-display);font-size:1.05rem}.property-card__address{display:flex;align-items:center;gap:5px;color:var(--muted-foreground);font-size:.88rem}.property-card__meta{font-size:.85rem;color:var(--primary);font-weight:600}.list{list-style:none;margin:0;padding:0;display:grid}.list>li+li{border-top:1px solid var(--border)}.list__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;color:var(--foreground);font-weight:400}a.list__row:hover{background:var(--muted);color:var(--foreground);border-radius:8px}.list__row>span:first-child{display:grid;gap:2px;min-width:0}.list__row small{color:var(--muted-foreground);font-size:.82rem}.empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:24px 12px}.empty__icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.empty__body{color:var(--muted-foreground)}.stage-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px;margin:0 -4px;scroll-snap-type:x proximity}.stage-tabs::-webkit-scrollbar{display:none}.stage-tab{flex:1 0 auto;display:flex;align-items:center;gap:8px;scroll-snap-align:start;padding:10px 14px;border-radius:12px;cursor:pointer;white-space:nowrap;background:var(--card);border:1px solid var(--border);font:inherit;font-size:.88rem;font-weight:600;color:var(--muted-foreground);transition:border-color .15s,background .15s,color .15s}.stage-tab:hover{border-color:var(--primary-glow);color:var(--primary)}.stage-tab__dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--muted);font-size:.75rem;font-weight:700}.stage-tab.is-done{color:var(--success)}.stage-tab.is-done .stage-tab__dot{background:var(--success);color:#fff}.stage-tab.is-current .stage-tab__dot{background:var(--gradient-brand);color:#fff}.stage-tab.is-selected{background:var(--primary-soft);border-color:var(--primary-glow);color:var(--primary);box-shadow:0 0 0 1px var(--primary-glow) inset}.stage-intro{margin:-4px 0 0;color:var(--muted-foreground);font-size:.9rem}.tag--soon{background:var(--muted);color:var(--muted-foreground);white-space:nowrap}.facts{display:grid;gap:12px;margin:0}.facts div{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:baseline}.facts dt{color:var(--muted-foreground);font-size:.85rem;font-weight:600}.facts dd{margin:0}.pre{white-space:pre-wrap}.subhead{font-size:.95rem;margin:6px 0 10px;display:flex;gap:8px;align-items:baseline}.subhead~.subhead{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.badge-row{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.warning-text{color:var(--warning);display:flex;gap:6px;align-items:center;margin:0;font-size:.88rem;font-weight:600}.lease-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:1.05rem}.lease-head a{font-size:.88rem;margin-left:auto}.toggle-chips{display:flex;flex-wrap:wrap;gap:8px}.toggle-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--card);font-size:.88rem;font-weight:600;color:var(--muted-foreground)}.toggle-chip input[type=checkbox]{width:16px;height:16px}.toggle-chip.is-on{border-color:var(--primary-glow);background:var(--primary-soft);color:var(--primary)}.viewing__summary{width:100%;background:none;border:0;font:inherit;text-align:left;cursor:pointer}.viewing__summary:hover{background:var(--muted);border-radius:8px}.viewing__edit{padding:4px 4px 16px}.viewing__actions{display:flex;gap:8px;flex-wrap:wrap}.check-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.check-row{border:1px solid var(--border);border-radius:12px;background:var(--card)}.check-row--locked{background:var(--muted);border-style:dashed}.check-row__head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;background:none;border:0;font:inherit;text-align:left;color:var(--foreground)}button.check-row__head{cursor:pointer}.check-row__icon{color:var(--muted-foreground);display:grid;place-items:center;flex:none;width:18px}.check-row__text{display:grid;gap:2px;flex:1;min-width:0}.check-row__text strong{font-size:.92rem}.check-row__text small{color:var(--muted-foreground);font-size:.8rem;line-height:1.35}.check-row__body{padding:14px;border-top:1px solid var(--border)}.log{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.log__entry{display:flex;gap:10px;align-items:flex-start}.log__entry>span:last-child{display:grid;gap:2px;min-width:0}.log__entry small{color:var(--muted-foreground);font-size:.8rem}.log__entry p{margin:4px 0 0;white-space:pre-wrap;background:var(--muted);padding:6px 10px;border-radius:8px}.log__icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--primary-soft);color:var(--primary)}.log__entry--approved .log__icon{background:var(--success-soft);color:var(--success)}.log__entry--rejected .log__icon{background:var(--danger-soft);color:var(--danger)}.log__add{display:flex;gap:8px}.log__add .btn{flex:none}.inspection-progress{display:block;height:8px;border-radius:999px;background:var(--muted);overflow:hidden;margin-top:10px}.inspection-progress span{display:block;height:100%;background:var(--success);border-radius:inherit;transition:width .2s}.rooms{list-style:none;margin:0;padding:0;display:grid;gap:8px}.room{border:1px solid var(--border);border-radius:12px}.room__head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;flex-wrap:wrap;background:none;border:0;font:inherit;text-align:left;cursor:pointer;color:var(--foreground)}.room__badges{margin-left:auto;display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.room__was{display:inline-flex;gap:4px;align-items:center;font-size:.78rem;color:var(--muted-foreground)}.room__body{padding:12px;border-top:1px solid var(--border)}.room__compare{display:grid;gap:6px;padding:10px;border-radius:10px;background:var(--muted)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segmented__option{padding:9px 8px;border-radius:10px;border:1px solid var(--border);background:var(--card);font:inherit;font-weight:650;font-size:.9rem;cursor:pointer;color:var(--muted-foreground)}.segmented__option--good.is-on{background:var(--success-soft);border-color:var(--success);color:var(--success)}.segmented__option--fair.is-on{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.segmented__option--damaged.is-on{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn--link.btn--danger{color:var(--danger);justify-self:start}.reservation{padding:14px;border:1px solid var(--primary-glow);border-radius:12px;background:var(--primary-soft);margin-bottom:12px}.reservation input,.reservation select,.reservation textarea{background:var(--card)}.reminder-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.reminder-row .consent{margin:0}.reminder-row select{width:auto}.prospect{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px}.prospect__who{display:grid;gap:2px;min-width:0}.prospect__who small{color:var(--muted-foreground);font-size:.82rem}.prospect__notes{font-style:italic}.prospect__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.list--muted{opacity:.75}.toasts{position:fixed;top:72px;right:16px;z-index:60;display:grid;gap:8px;width:min(380px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--primary-glow);box-shadow:0 18px 40px -16px #1e145a8c;color:var(--primary)}.toast a{display:grid;gap:2px;flex:1;color:var(--foreground);font-weight:400}.toast small{color:var(--muted-foreground)}.calendar__row.is-past{opacity:.6}.increase-list{display:grid;gap:12px}.increase{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px}.lease-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px;border-radius:12px;background:var(--muted);color:var(--foreground);font-weight:400}.lease-summary:hover{color:var(--foreground);background:var(--primary-soft)}.lease-summary>div:first-child{display:grid;gap:2px}.lease-summary small{color:var(--muted-foreground)}.lease-summary__figures{display:flex;gap:20px}.lease-summary__figures span{display:grid;font-weight:700}.timeline{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted-foreground);font-size:.85rem}.responses{display:grid;gap:12px}.response{padding:12px;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px}.response+.response{margin-top:0}.card>.response{margin-top:12px}.response__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.response__text{margin:0;white-space:pre-wrap;background:var(--muted);padding:8px 10px;border-radius:8px}.callout{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;background:var(--primary-soft);margin-bottom:8px}.callout--success{background:var(--success-soft)}.callout--warning{background:var(--warning-soft);color:var(--foreground);border:1px solid var(--warning)}.share{display:grid;gap:10px}.share__link{display:flex;gap:8px}.share__link input{font-size:.9rem}.share__actions{display:flex;flex-wrap:wrap;gap:8px}.file-field{display:grid;gap:10px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.file-thumb{position:relative;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card)}.file-thumb__preview{display:grid;place-items:center;height:96px;background:var(--muted);color:var(--primary)}.file-thumb__preview img{width:100%;height:100%;object-fit:cover}.file-thumb__meta{display:grid;padding:6px 8px}.file-thumb__name{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-thumb__size{font-size:.72rem;color:var(--muted-foreground)}.file-thumb__remove{position:absolute;top:6px;right:6px;width:28px;height:28px}.dropzone{display:grid;justify-items:center;gap:4px;padding:16px;width:100%;border:1.5px dashed #cdc6ea;border-radius:12px;background:#faf9ff;cursor:pointer;color:var(--primary);font-weight:650}.dropzone:hover{border-color:var(--primary-glow);background:var(--primary-soft)}.file-field__buttons{display:flex;gap:8px}.file-field__buttons .dropzone{flex:1}.dropzone--camera{border-style:solid;background:var(--primary-soft)}.save-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px 10px 18px;border-radius:14px;background:var(--card);border:1px solid var(--primary-glow);box-shadow:0 18px 40px -16px #1e145a8c}.save-bar__text{display:inline-flex;align-items:center;gap:6px;font-weight:650}.save-bar__actions{display:inline-flex;gap:8px}.save-bar--error{border-color:var(--danger)}.save-bar--error .save-bar__text{color:var(--danger)}.save-bar--done{border-color:var(--success)}.save-bar--done .save-bar__text{color:var(--success)}.page:has(+.save-bar){padding-bottom:110px}.dropzone small{color:var(--muted-foreground);font-weight:400;font-size:.78rem}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rows{display:grid;gap:8px;margin-bottom:4px}.row-edit{display:grid;grid-template-columns:180px 1fr 1fr auto;gap:8px;align-items:center}.row-edit--inventory{grid-template-columns:150px 1fr 80px 1fr auto}.row-edit--keys{grid-template-columns:180px 1fr 110px auto;align-items:end}.row-edit--keys-return{grid-template-columns:180px 1fr 110px 110px;align-items:end}.total{font-family:var(--font-display);font-size:1.05rem}.summary{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px;border-radius:12px;background:var(--muted);margin-bottom:14px;font-size:.92rem}.apply{display:grid;gap:14px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--primary-glow);margin-bottom:4px}blockquote{margin:0 0 12px;padding:10px 14px;border-left:3px solid var(--primary-glow);background:var(--primary-soft);border-radius:0 10px 10px 0}.apply textarea{margin-bottom:10px}.success-icon{color:var(--success);margin-bottom:8px}.inline-icon{vertical-align:-2px;color:var(--primary-glow)}.ai-output{white-space:pre-wrap;line-height:1.6;font-size:.93rem;padding:12px 14px;border-radius:12px;background:var(--primary-soft);margin-bottom:8px}.page--auth{padding-top:48px}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px}.center-text{justify-content:center;text-align:center}.full-page-spinner{min-height:60vh;display:grid;place-items:center;color:var(--primary)}@media (max-width: 720px){h1{font-size:1.35rem}.page{padding:16px 12px 48px;gap:12px}.topbar__inner{gap:6px;padding:8px 10px}.topbar__nav{gap:0}select.lang-switch{width:auto;max-width:96px;padding-left:8px;padding-right:4px}.topbar__nav a span,.brand small{display:none}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{grid-template-columns:1fr;padding:10px}.stat svg{display:none}.form-row,.form-row--3,.checklist,.custom-material,.custom-material--wide{grid-template-columns:1fr}.row-edit{grid-template-columns:1fr 1fr auto}.save-bar{left:8px;right:8px;bottom:8px;padding:8px 8px 8px 12px;flex-wrap:nowrap}.save-bar__text{font-size:.85rem}.save-bar__actions .btn{padding-left:10px;padding-right:10px}.prospect{flex-direction:column;align-items:stretch}.prospect__actions{justify-content:flex-start}.toasts{left:8px;right:8px;top:64px;width:auto}.row-edit>:nth-child(3){grid-column:1 / 3;grid-row:2}.row-edit>:nth-child(4){grid-column:3;grid-row:1}.stage-tabs{-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent);padding-right:64px}.stage-tab{flex:0 0 auto;padding:7px 10px;gap:6px;font-size:.82rem}.stage-tab__dot{width:20px;height:20px}.form-row--3.form-row--pair{grid-template-columns:1fr 1fr}.form-row--3.form-row--pair>:nth-child(3):last-child{grid-column:1 / 3}.facts div{grid-template-columns:1fr;gap:2px}.row-edit--inventory{grid-template-columns:1fr 70px auto}.row-edit--inventory>:nth-child(1){grid-column:1 / 3;grid-row:1}.row-edit--inventory>:nth-child(5){grid-column:3;grid-row:1}.row-edit--inventory>:nth-child(2){grid-column:1;grid-row:2}.row-edit--inventory>:nth-child(3){grid-column:2 / 4;grid-row:2}.row-edit--inventory>:nth-child(4){grid-column:1 / 4;grid-row:3}.row-edit--keys,.row-edit--keys-return{grid-template-columns:1fr 1fr auto}.row-edit--keys>:nth-child(3){grid-column:1 / 3;grid-row:2}.row-edit--keys>:nth-child(4){grid-column:3;grid-row:1}.row-edit--keys-return>:nth-child(2){grid-column:2 / 4;grid-row:1}.row-edit--keys-return>:nth-child(3){grid-column:1;grid-row:2}.row-edit--keys-return>:nth-child(4){grid-column:2 / 4;grid-row:2}.lease-head a{margin-left:0;width:100%}.log__add{flex-direction:column}.modal{padding:0;place-items:end stretch}.modal__panel{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.card{padding:14px}}.date-input{position:relative;display:block}.date-input>input[type=text]{width:100%;padding-right:42px}.date-input__button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted-foreground);cursor:pointer}.date-input__button:hover{background:var(--primary-soft);color:var(--primary)}.date-input__native{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}@media (pointer: coarse){.date-input__native{top:0;bottom:auto;width:44px;height:100%;pointer-events:auto;z-index:1;font-size:16px;cursor:pointer}}.infotip{position:relative;display:inline-flex;vertical-align:middle}.infotip__button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted-foreground);cursor:pointer}.infotip__button:hover,.infotip__button[aria-expanded=true]{color:var(--primary);background:var(--primary-soft)}.infotip__pop{position:absolute;top:calc(100% + 6px);left:-8px;z-index:30;width:min(340px,calc(100vw - 48px));padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--primary-glow);box-shadow:0 18px 40px -16px #1e145a73;color:var(--foreground);font-size:.88rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal}.infotip--end .infotip__pop{left:auto;right:-8px}.segmented__option--neutral.is-on{background:var(--muted);border-color:var(--muted-foreground);color:var(--foreground)}.early-log{list-style:none;margin:0;padding:0;display:grid;gap:6px}.early-log__row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:start;padding:8px 10px;border-radius:10px;background:var(--muted)}.early-log__date{color:var(--muted-foreground);font-size:.85rem;padding-top:2px}.early-log__text{white-space:pre-wrap}.early__add{display:grid;grid-template-columns:170px 1fr auto;gap:8px}@media (max-width: 640px){.early__add{grid-template-columns:1fr}.early-log__row{grid-template-columns:1fr auto}.early-log__date{grid-column:1 / -1}}.wo-list{display:grid;gap:10px}.wo{border:1px solid var(--border);border-radius:12px;scroll-margin-top:80px}.wo.is-open{border-color:var(--primary)}.wo__head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer;border-radius:12px}.wo__head:hover{background:var(--muted)}.wo__summary{display:grid;gap:2px;flex:1;min-width:0}.wo__summary strong{overflow-wrap:anywhere}.wo__summary small{color:var(--muted-foreground);font-size:.82rem}.wo__badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.wo__body{padding:4px 14px 14px}@media (max-width: 640px){.wo__head{flex-wrap:wrap}.wo__badges{width:100%;justify-content:flex-start;padding-left:26px}}.repair-link{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px dashed var(--border);border-radius:12px;margin-bottom:12px}.repair-link--on{display:grid;justify-content:stretch;border-style:solid;background:var(--muted)}.steps{display:grid;gap:16px;counter-reset:step;min-width:0}.steps>.card{counter-increment:step}.steps>.card>.card__header>.card__title:before{content:var(--step-before) counter(step) var(--step-after);display:inline-block;padding:2px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:700;white-space:nowrap;line-height:1.5}.page{overflow-wrap:anywhere}.page input,.page textarea,.page select,.page .btn{overflow-wrap:normal}.form-row>*,.form-grid>*,.wo-list>*,.increase-list>*,.list>li{min-width:0}@media (max-width: 720px){.steps{gap:12px}}.income-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 8px}.income-totals>div{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--muted)}.income-totals span{font-size:.78rem;color:var(--muted-foreground)}.income-totals strong{font-family:var(--font-display);font-size:1.05rem}.income-totals__net{background:var(--primary-soft)!important}.income-totals__net strong{color:var(--primary)}.is-negative{color:var(--danger)!important}.income-net{font-family:var(--font-display);white-space:nowrap}.income-formula{margin:0;font-size:.85rem;color:var(--muted-foreground)}.charge-list{display:grid;gap:8px}.charge-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:8px;align-items:end}.charge-row__remove{margin-bottom:6px}.early-log__row--plain{grid-template-columns:110px 1fr}.increase__head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.fee-change{display:grid;grid-template-columns:1fr 150px 140px;gap:8px;align-items:center}.fee-change__label{display:grid;gap:2px;min-width:0}.fee-change__label small{color:var(--muted-foreground);font-size:.8rem}.fee-change--new{grid-template-columns:1fr 140px auto}.plan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 10px}.plan-option{display:grid;justify-items:start;gap:4px;padding:14px;text-align:left;cursor:pointer;border:1.5px solid var(--border);border-radius:12px;background:var(--card);color:var(--foreground);font:inherit}.plan-option svg{color:var(--primary)}.plan-option small{color:var(--muted-foreground);font-size:.82rem;line-height:1.4}.plan-option:hover{border-color:var(--primary)}.plan-option.is-on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary) inset}@media (max-width: 720px){.income-totals,.charge-row{grid-template-columns:1fr 1fr}.charge-row>:first-child{grid-column:1 / -1}.charge-row__remove{justify-self:start}.fee-change{grid-template-columns:1fr 1fr}.fee-change__label{grid-column:1 / -1}.fee-change--new{grid-template-columns:1fr 1fr auto}.fee-change--new>:first-child{grid-column:1 / -1}.plan-options{grid-template-columns:1fr}}.share__note{margin:4px 0 0;padding-top:10px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted-foreground)}.save-bar--clear-badge{bottom:76px}.page:has(+.save-bar--clear-badge){padding-bottom:170px}@media (max-width: 720px){.save-bar--clear-badge{bottom:72px}}.repair-qr{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.repair-qr img{border-radius:10px;background:#fff;border:1px solid var(--border);flex:none}.repair-qr__text{display:grid;gap:6px;justify-items:start;flex:1;min-width:200px}.repair-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border-radius:10px;background:var(--muted);font-size:.9rem}.repair-status svg{color:var(--primary);flex:none}.repair-status .btn--link{padding:0}.early-log__body{display:grid;gap:6px;min-width:0}.file-grid--small{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.early__add--files{grid-template-columns:170px 1fr auto auto}@media (max-width: 640px){.early__add--files{grid-template-columns:1fr 1fr}.early__add--files>:nth-child(1),.early__add--files>:nth-child(2){grid-column:1 / -1}}.charge-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.charge-suggestions .btn{white-space:normal;text-align:left;max-width:100%;height:auto}.callout--end{border:1.5px solid var(--primary);background:var(--primary-soft)}
