:root{--bg:#f5f6f3;--panel:#fff;--ink:#18201c;--muted:#7b847f;--line:#e5e8e4;--accent:#1d2b25;--soft:#eef2ef}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}button{font:inherit}.shell{min-height:100vh;display:flex}.sidebar{width:248px;background:#fff;border-right:1px solid var(--line);padding:26px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:11px;align-items:center;padding:0 9px 28px}.mark{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.brandTitle{font-weight:800;font-size:15px}.brandSub{font-size:10px;color:var(--muted);margin-top:3px}.nav{display:flex;flex-direction:column;gap:4px}.navItem{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;color:#5f6863;cursor:pointer;font-size:13px}.navItem.active,.navItem:hover{background:var(--soft);color:var(--ink);font-weight:650}.sideFoot{margin-top:auto;padding:14px 10px;color:#9aa19d;font-size:10px;line-height:1.6}.main{margin-left:248px;width:calc(100% - 248px);padding:34px 42px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:750}h1{font-size:28px;margin:7px 0 0;letter-spacing:-.03em}h2{font-size:22px;letter-spacing:-.025em}h2,h3{margin:0}h3{font-size:14px}.refresh{border:1px solid var(--line);background:#fff;padding:9px 14px;border-radius:8px;cursor:pointer;color:var(--ink)}.hero{background:var(--accent);color:#fff;border-radius:18px;padding:27px 30px;display:flex;justify-content:space-between;align-items:center}.hero h2{font-size:23px}.hero p{margin:7px 0 0;color:#c9d0cc;font-size:13px}.heroBadge{font-size:9px;letter-spacing:.14em;border:1px solid #617069;padding:8px 10px;border-radius:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:15px 0}.card,.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px}.stat{padding:19px}.statLabel{font-size:11px;color:var(--muted)}.statValue{font-size:23px;font-weight:760;margin-top:7px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.card{padding:20px}.cardHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.cardHead span{font-size:10px;color:var(--muted)}.row{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-size:12px}.pill{font-size:9px;padding:4px 7px;border-radius:12px;background:#f0f1ef;color:#707873}.pill.rented{background:#e9f3ec;color:#3e674d}.issue{padding:12px 0;border-top:1px solid var(--line)}.issue b{font-size:12px}.issue small{display:block;color:var(--muted);margin-top:4px;font-size:10px}.muted{color:var(--muted);font-size:12px}.tableCard{overflow:hidden}.tableWrap{overflow:auto;margin:0 -20px -20px}.tableWrap table{width:100%;border-collapse:collapse;font-size:11px;min-width:760px}.tableWrap th{background:#f8f9f7;color:#737b76;text-align:left;font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:11px 13px}.tableWrap td,.tableWrap th{border-bottom:1px solid var(--line);white-space:nowrap}.tableWrap td{padding:12px 13px}.tableWrap tr:last-child td{border-bottom:0}.loading{padding:40px;text-align:center;color:var(--muted)}.error{border-color:#d9bdbd;color:#713e3e}.error p{font-size:12px}.error .refresh{margin-top:5px}@media(max-width:850px){.sidebar{width:190px}.main{margin-left:190px;width:calc(100% - 190px);padding:25px}.grid2,.stats{grid-template-columns:1fr}.navItem{font-size:11px}}@media(max-width:600px){.sidebar{position:static;width:100%;height:auto}.shell{display:block}.main{margin-left:0;width:100%;padding:20px}.nav{display:grid;grid-template-columns:1fr 1fr}.sideFoot{display:none}.hero{padding:22px}.topbar{align-items:center}}.authScreen{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}.authCard{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 12px 35px rgba(20,30,25,.06)}.authCard .mark{margin-bottom:22px}.authCard h1{margin:7px 0}.authCard p{color:var(--muted);font-size:12px;margin:0 0 24px}.authCard label{display:block;font-size:11px;font-weight:650;margin:14px 0;color:#4e5752}.authCard input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:8px;outline:none;font:inherit}.authCard input:focus{border-color:#aab5ae}.loginButton{width:100%;margin-top:10px;border:0;border-radius:8px;padding:12px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.authError{background:#f8eded;border:1px solid #ead0d0;color:#783f3f;border-radius:8px;padding:10px;font-size:11px;margin-top:14px}.topActions{display:flex;gap:8px}.primaryButton{border:0;background:var(--accent);color:#fff;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:700}.primaryButton:disabled{opacity:.6;cursor:default}.maintenanceHead{align-items:flex-start}.sectionHint{margin:5px 0 0;color:var(--muted);font-size:11px}.maintenanceForm{border-top:1px solid var(--line);padding-top:18px;margin-top:4px;margin-bottom:22px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:14px}.maintenanceForm label{display:block;font-size:10px;font-weight:700;color:#56605a}.maintenanceForm input,.maintenanceForm select,.maintenanceForm textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 11px;font:inherit;font-size:12px;color:var(--ink);outline:none}.maintenanceForm textarea{resize:vertical}.maintenanceForm input:focus,.maintenanceForm select:focus,.maintenanceForm textarea:focus{border-color:#aab5ae}.formActions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.formActions .primaryButton{min-width:120px}@media(max-width:700px){.formGrid{grid-template-columns:1fr}.maintenanceHead{gap:12px;flex-direction:column}.maintenanceHead .primaryButton{width:100%}}.formTitle{margin-bottom:14px}.formTitle h3{margin:0}.actionsCell{white-space:nowrap}.smallButton{margin:2px 4px 2px 0;padding:7px 10px;border:1px solid #d9dce3;border-radius:8px;background:#fff;cursor:pointer;font-size:12px}.smallButton:disabled{opacity:.55;cursor:wait}.tableWrap td.priorityCell.priority-low{background:#EAF4EA}.tableWrap td.priorityCell.priority-medium{background:#FEF4D9}.tableWrap td.priorityCell.priority-high{background:#FDE3C7}.tableWrap td.priorityCell.priority-emergency{background:#FDE0E0}.tableWrap td.statusCell.status-not-started{background:#FDE3C7}.tableWrap td.statusCell.status-in-progress{background:#FEF4D9}.tableWrap td.statusCell.status-completed{background:#EAF4EA}.keysCard{overflow:hidden}.keysTabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 -20px 18px;padding:0 20px;overflow:auto}.keysTab{border:0;background:transparent;padding:12px 0 10px;color:#69716c;cursor:pointer;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent}.keysTab.active{color:var(--ink);font-weight:750;border-bottom-color:var(--accent)}.keysRentalList{display:flex;flex-direction:column;gap:12px}.keysRental{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.keysRentalHead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8f9f7}.keysRentalHead h3{margin-bottom:4px}.keyAllocationGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;padding:14px 16px}.keyAllocation{border:1px solid var(--line);border-radius:10px;padding:12px}.keyAllocationName{font-size:11px;font-weight:700;margin-bottom:9px}.keyAllocationNums{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.keyAllocationNums input{width:54px;border:1px solid var(--line);border-radius:6px;padding:7px;text-align:center;font:inherit;color:var(--ink)}.slash{color:#b2b8b4}.standardLabel{font-size:9px}.keysForm{margin-top:4px}.keysWarning{background:#fff4e8;border:1px solid #f1ddc7;color:#7a5a38;border-radius:8px;padding:10px 11px;font-size:11px;margin-bottom:13px}.paidButton,.requestType,.statusBadge{display:inline-block;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:700;border:0}.requestLost{background:#FDE0E0;color:#7d4141}.requestAdditional{background:#EAF2FC;color:#45698d}.lostFobCell{background:#FDE0E0}.paidYes{background:#EAF4EA;color:#3f6a4d;cursor:pointer}.paidNo{background:#FDE0E0;color:#7d4141;cursor:pointer}.statusBadge.status-not-started{background:#FDE3C7;color:#805b37}.statusBadge.status-in-progress{background:#FEF4D9;color:#75663d}.statusBadge.status-completed{background:#EAF4EA;color:#41694d}.statusSelect{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 8px;font-size:10px;color:var(--ink)}.keysCostNotes{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:18px;padding:16px;border-top:1px solid var(--line);background:#f8f9f7}.keysCostNotes div{display:flex;flex-direction:column;gap:5px}.keysCostNotes b{font-size:11px;margin-bottom:3px}.keysCostNotes span{font-size:10px;color:var(--muted)}@media(max-width:800px){.keyAllocationGrid{grid-template-columns:1fr 1fr}.keysCostNotes{grid-template-columns:1fr}}@media(max-width:600px){.keyAllocationGrid{grid-template-columns:1fr}.keysTabs{gap:16px}}.globalSearch{min-width:260px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:#fff}.propertyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.propertyCard{display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:14px;padding:16px;cursor:pointer}.propertyCard:hover{border-color:#cbd5e1;transform:translateY(-1px)}.propertyCard b,.propertyCard span{display:block}.propertyCard>div span{margin-top:5px;color:#6b7280;font-size:13px}.propertySummary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:16px 0}.propertySummary>div{padding:14px;border:1px solid var(--border,#e5e7eb);border-radius:12px}.propertySummary span{display:block;color:#6b7280;font-size:12px;margin-bottom:5px}.propertySummary b{font-size:15px}.inset{box-shadow:none;border:1px solid var(--border,#e5e7eb)}.textButton{border:0;background:none;padding:0;color:#475569;cursor:pointer;font-weight:600}.textButton:hover{text-decoration:underline}.periodButtons{display:flex;gap:6px}.smallButton.active{background:#eef2f7}.historyToggle{margin:10px 0;border:0;background:none;color:#475569;font-weight:600;cursor:pointer}.paymentUnit{padding:18px 0;border-bottom:1px solid #edf0f3}.paymentUnit:last-child{border-bottom:0}.paymentUnitHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.paymentUnitHead h3{margin:0}.paymentUnitHead span{color:#6b7280;font-size:13px}.paymentStatus{display:inline-block;padding:5px 9px;border-radius:8px;font-weight:600;font-size:12px}.payment-paid{background:#eaf4ea}.payment-pending{background:#fef4d9}.payment-late{background:#fde0e0}.pill.paid{background:#eaf4ea}.pill.late{background:#fde0e0}.dangerButton{margin-left:6px}.documentGroup{padding:12px 0 20px}.documentGroup h3{margin-bottom:10px}@media(max-width:900px){.propertyGrid,.propertySummary{grid-template-columns:1fr}.globalSearch{min-width:160px}}.searchResults{position:absolute;right:28px;top:74px;z-index:20;width:min(420px,calc(100vw - 40px));padding:10px;box-shadow:0 12px 30px rgba(15,23,42,.1)}.searchResultsHead{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;padding:6px 8px}.searchResult{display:flex;width:100%;justify-content:space-between;text-align:left;border:0;background:#fff;padding:10px 8px;border-radius:9px;cursor:pointer}.searchResult:hover{background:#f8fafc}.searchResult span{color:#6b7280;font-size:12px}.propertyCard{gap:10px}.propertyMain{flex:1 1;text-align:left;border:0;background:transparent;cursor:pointer;padding:0}.propertyMain b,.propertyMain span{display:block}.propertyMain span{margin-top:4px;color:var(--muted);font-size:12px}.modalForm{background:#fff;border:1px solid var(--line);padding:18px;border-radius:12px;margin-top:16px}.checklistAdd{display:flex;gap:8px;margin-bottom:10px}.checklistAdd input{flex:1 1;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit}.checkRow{justify-content:space-between;border-top:1px solid var(--line);padding:10px 0}.checkRow,.checkRow label{display:flex;align-items:center}.checkRow label{gap:9px;font-size:12px}.checkRow .done{text-decoration:line-through;color:var(--muted)}.alertBlock{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.alertBlock>b{display:block;font-size:11px;margin-bottom:7px}.alertItem{display:block;width:100%;text-align:left;border:0;background:#f8f9f7;border-radius:8px;padding:9px;margin:5px 0;font:inherit;font-size:11px;cursor:pointer}.reminderRow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;gap:10px}.reminderRow small{display:block;color:var(--muted);margin-top:4px}.attachedFile{margin-top:7px;padding:8px 10px;background:#f8f9f7;border-radius:7px;font-size:10px;color:var(--muted)}.paymentStatus.payment-upcoming{background:#EAF2F8;color:#48677D;border-color:#D7E6F0}