body{color:#1a1a1a;margin:0;font:14px/1.45 system-ui,sans-serif}header{color:#fff;background:#1f2937;flex-wrap:wrap;align-items:baseline;gap:18px;padding:10px 20px;display:flex}header a{color:#e5e7eb;text-decoration:none}header strong{margin-right:12px}main{max-width:1200px;padding:16px 20px 40px}table{border-collapse:collapse;width:100%;margin:8px 0 20px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:5px 8px}th{background:#f3f4f6;font-weight:600}.muted{color:#6b7280}.small{font-size:12px}.tag{white-space:nowrap;background:#e5e7eb;border-radius:4px;padding:1px 6px;font-size:12px;display:inline-block}.tag.overdue{background:#fecaca}.tag.needs_confirmation{background:#fde68a}.tag.due_7{background:#fca5a5}.tag.due_30{background:#fed7aa}.tag.due_60{background:#fef08a}.tag.done{background:#d1fae5}.cards{flex-wrap:wrap;gap:12px;margin:8px 0 20px;display:flex}.card{border:1px solid #e5e7eb;border-radius:6px;min-width:150px;padding:10px 14px}.card b{font-size:22px;display:block}dl{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}dt{color:#6b7280}dd{margin:0}form.filters{flex-wrap:wrap;align-items:end;gap:10px;margin:8px 0;display:flex}.error{background:#fee2e2;border-radius:6px;padding:12px}.class-note{max-width:220px;font-weight:400;display:block}.tag+.tag{margin-left:4px}.tag.flag-rent_missing{background:#fecaca}.tag.flag-lease_dates_missing{background:#fef08a}.tag.flag-scrie_not_collected,.tag.flag-scrie{background:#dbeafe}td.over{color:#b91c1c}.tag.inv-draft{background:#e5e7eb}.tag.inv-sent{background:#fde68a}.tag.inv-paid{background:#d1fae5}.tag.inv-partially_paid,.st.partially_paid{background:#fef08a}.notice{background:#d1fae5;border-radius:6px;padding:8px 12px}form.stack{gap:8px;max-width:520px;display:grid}form.stack label{gap:2px;display:grid}.draft{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:6px 10px;font-weight:600}.report h3{margin:14px 0 4px;font-size:15px}@media print{header,.no-print{display:none!important}main{max-width:none;padding:0}body{font-size:11px}.report-page{break-after:page}.report-page:last-child{break-after:auto}a{color:inherit}}button{cursor:pointer;font:inherit;background:#f9fafb;border:1px solid #9ca3af;border-radius:5px;padding:5px 12px}button[type=submit]{color:#fff;background:#1f2937;border-color:#1f2937}button:disabled{opacity:.6;cursor:wait}button.link{color:#2563eb;background:0 0;border:none;padding:0;text-decoration:underline}input,select,textarea{font:inherit;border:1px solid #d1d5db;border-radius:4px;padding:4px 6px}textarea{min-height:60px}details.panel{border:1px solid #e5e7eb;border-radius:6px;margin:10px 0;padding:8px 12px}details.panel>summary{cursor:pointer;font-weight:600}.row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.row label{gap:2px;display:grid}form.inline{flex-wrap:wrap;align-items:end;gap:6px;margin:2px 0;display:inline-flex}.btn{color:#fff;background:#1f2937;border-radius:5px;padding:5px 12px;text-decoration:none;display:inline-block}.tabs{gap:6px;margin:8px 0;display:flex}.tabs a{color:#1f2937;border:1px solid #d1d5db;border-radius:5px;padding:4px 10px;text-decoration:none}.tabs a.on{color:#fff;background:#1f2937;border-color:#1f2937}tr.void td{color:#9ca3af;text-decoration:line-through}.st{white-space:nowrap;background:#e5e7eb;border-radius:4px;padding:1px 6px;font-size:12px;display:inline-block}.st.paid,.st.closed,.st.completed,.st.compliant,.st.filed{background:#d1fae5}.st.partial,.st.in_progress,.st.scheduled{background:#fef08a}.st.unpaid,.st.requested,.st.waiting_on_vendor,.st.sent{background:#fde68a}.st.late,.st.bounced,.st.urgent{background:#fecaca}.st.high{background:#fed7aa}.st.not_started,.st.cancelled,.st.void,.st.excluded{color:#6b7280;background:#f3f4f6}.cal{border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;grid-template-columns:repeat(7,minmax(0,1fr));margin:8px 0 20px;display:grid}.cal .dow{background:#f3f4f6;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:4px 6px;font-weight:600}.cal .day{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;min-height:92px;padding:3px 4px;font-size:12px}.cal .day.out{color:#9ca3af;background:#fafafa}.cal .day.today{outline-offset:-2px;outline:2px solid #2563eb}.cal .num{font-weight:600}.cal .item{color:#111;text-overflow:ellipsis;white-space:nowrap;background:#e5e7eb;border-radius:3px;margin:2px 0;padding:1px 4px;text-decoration:none;display:block;overflow:hidden}.cal .item.win{color:#374151;background:0 0;border-left:3px solid #93c5fd;padding-left:3px}.cal .item.overdue,.cal .item.due_7{background:#fecaca}.cal .item.needs_confirmation{background:#fde68a}.cal .item.due_30{background:#fed7aa}.cal .item.due_60{background:#fef08a}.cal .item.done{background:#d1fae5}.legend{flex-wrap:wrap;gap:8px;font-size:12px;display:flex}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){align-items:center;gap:6px;width:auto;display:inline-flex}:is(form.stack label:has(>input[type=checkbox]),form.stack label:has(>input[type=radio])){display:flex}input[type=checkbox],input[type=radio]{flex:none;width:auto;margin:0}input,select,textarea{box-sizing:border-box;max-width:100%}label{min-width:0;max-width:100%}form.stack,form.stack label,.row label{grid-template-columns:minmax(0,1fr)}dd{overflow-wrap:anywhere}header form.inline{color:#e5e7eb;align-items:baseline;margin:0}header button.signout{color:#e5e7eb;background:0 0;border-color:#6b7280;padding:2px 10px}.perm-grid{width:auto}.perm-grid td:first-child{padding-right:16px}tr.row-error td{background:#fff4f2}.io-bar{margin-top:-.4rem}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table-scroll>table{margin:0}.report-select{border:1px solid #e5e7eb;border-radius:8px;margin:8px 0 12px;padding:8px 12px}.report-select fieldset,form.stack fieldset{border:0;margin:0;padding:0}.report-select legend,form.stack legend{margin-bottom:4px;font-weight:600}.building-group{flex-wrap:wrap;align-items:center;gap:4px 16px;margin:4px 0;display:flex}.building-group>b{min-width:84px}.report-scope{margin:4px 0 8px;font-size:15px}.building-access{border:1px solid #ccc;margin:8px 0;padding:6px 10px}.building-access[disabled]{opacity:.6}.building-access .building-group label{margin-right:14px}.linkish{color:#0645ad;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.my-buildings{color:#555}.nyc-section{margin:1rem 0}.nyc-section legend{font-weight:600}.nyc-changes tr.nyc-new td:first-child{color:#0a6b2b}.nyc-changes tr.nyc-changed td:first-child,tr.nyc-changed td{color:#8a5300}.nyc-changes tr.nyc-closed td:first-child{color:#9b1c1c}.nyc-source a{word-break:break-all}.unit-forms{flex-wrap:wrap;gap:16px;margin:12px 0;display:flex}.unit-forms form{align-content:start;gap:8px;max-width:360px;display:grid}.unit-forms label{gap:2px;display:grid}.unit-forms h3{margin:0}.blocked{background:#fef3c7;border-radius:6px;padding:10px 12px}tr.muted td{color:#6b7280}body.portal{--p-bg:#1a1d22;--p-panel:#2a2e36;--p-panel-2:#23262d;--p-line:#3d4450;--p-text:#e8eaed;--p-muted:#9aa3b2;--p-orange:#ff5a1f;--p-orange-dim:#c44514;background:radial-gradient(ellipse at top, #ff5a1f0f, transparent 55%), repeating-linear-gradient(0deg, transparent, transparent 3px, #0000001f 3px, #0000001f 4px), var(--p-bg);color:var(--p-text);min-height:100vh;padding-bottom:72px}body.portal a{color:var(--p-orange);font-weight:600;text-decoration:none}body.portal a:hover{color:#ff7a4a;text-decoration:none}body.portal a:visited{color:var(--p-orange)}.portal-top{color:var(--p-text);border-bottom:2px solid var(--p-orange);z-index:20;background:linear-gradient(#121417 0%,#1a1d22 100%);align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:0}.portal-brand{flex-direction:column;gap:1px;min-width:0;display:flex}.portal-brand strong{color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.portal-brand .unit{color:var(--p-muted);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.portal-top-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.portal-top .signout-link{border:1px solid var(--p-line);color:var(--p-muted);cursor:pointer;background:0 0;border-radius:6px;width:auto;padding:6px 10px;font-size:12px;font-weight:600}.portal-top .signout-link:hover{color:#fff;border-color:var(--p-muted)}.portal-nav-desk{background:#121417;flex-wrap:wrap;gap:4px;padding:8px 14px 0;display:none}.portal-nav-desk a{color:var(--p-muted);border-radius:6px;padding:8px 10px;font-size:13px;font-weight:600}.portal-nav-desk a:hover,.portal-nav-desk a.on{color:#fff;background:var(--p-panel)}.portal-tabs{z-index:30;border-top:1px solid var(--p-line);padding:4px 2px calc(4px + env(safe-area-inset-bottom,0px));background:#121417;grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000059}.portal-tabs a{color:var(--p-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 2px;font-size:10px;font-weight:700;text-decoration:none;display:flex}.portal-tabs a:hover,.portal-tabs a:visited{color:var(--p-muted)}.portal-tabs a.on{color:var(--p-orange)}.portal-tabs .ico{font-size:16px;line-height:1}.portal-main{max-width:720px;margin:0 auto;padding:16px 16px 24px}.portal h1{letter-spacing:-.02em;color:#fff;margin:4px 0 6px;font-size:1.55rem;font-weight:800}.portal h2{letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted);border-bottom:1px solid var(--p-line);margin:22px 0 10px;padding-bottom:6px;font-size:.72rem;font-weight:700}.portal .label{letter-spacing:.14em;text-transform:uppercase;color:var(--p-muted);margin-bottom:4px;font-size:.68rem;font-weight:700;display:block}.portal .card{background:linear-gradient(145deg, #ffffff08, transparent 40%), var(--p-panel);border:1px solid var(--p-line);border-radius:10px;margin:10px 0;padding:14px 16px;box-shadow:inset 0 1px #ffffff0a,0 8px 20px #0003}.portal .card h3{color:#fff;margin:0 0 6px;font-size:1rem}.portal .muted{color:var(--p-muted)}.portal .accent{color:var(--p-orange);font-weight:700}.portal .mono{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.portal .amount{color:var(--p-orange);margin:0;font-size:1.7rem;font-weight:700}.portal a.card-link{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.portal a.card-link:hover,.portal a.card-link:visited{color:inherit;border-color:var(--p-orange);text-decoration:none}.portal a.card-link:hover{transform:translateY(-1px)}.portal a.card-link .go{color:var(--p-orange);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;margin-top:8px;font-size:13px;font-weight:700;display:inline-flex}.portal a.text-link{color:var(--p-orange);border-bottom:1px solid #0000;font-weight:700;text-decoration:none}.portal a.text-link:hover{border-bottom-color:var(--p-orange);color:#ff7a4a}.portal a.text-link:visited{color:var(--p-orange)}.portal-top button.signout-link,.portal-top button.signout-link[type=submit]{border:1px solid var(--p-line)!important;color:var(--p-muted)!important;background:0 0!important;border-radius:6px!important;width:auto!important;min-width:0!important;max-width:none!important;padding:6px 10px!important;font-size:12px!important;font-weight:600!important}.portal-top button.signout-link:hover{color:#fff!important;border-color:var(--p-muted)!important;background:0 0!important}.portal .btn-primary,.portal button[type=submit]{background:var(--p-orange);border-color:var(--p-orange);color:#fff;border-radius:8px;width:100%;max-width:100%;padding:12px 16px;font-size:16px;font-weight:700}.portal form.stack label{color:var(--p-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.portal input,.portal select,.portal textarea{color:var(--p-text);border:1px solid var(--p-line);box-sizing:border-box;background:#121417;border-radius:8px;width:100%;padding:12px;font-size:16px}.portal table{width:100%}.portal th{background:var(--p-panel-2);color:var(--p-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.portal td,.portal th{border-color:var(--p-line)}.portal td.mono{font-size:14px}.portal .notice{color:#b6f0d0;background:#1e3a2f}.portal .error{color:#fecaca;background:#3a1c1c}.portal .tag{background:var(--p-line);color:var(--p-text);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.portal .tag.open{background:var(--p-orange);color:#fff}.portal-grid{gap:10px;display:grid}@media (min-width:720px){body.portal{padding-bottom:24px}.portal-tabs{display:none}.portal-nav-desk{display:flex}.portal-grid.two{grid-template-columns:1fr 1fr}.portal-top button.signout-link,.portal-top button.signout-link[type=submit]{border:1px solid var(--p-line)!important;color:var(--p-muted)!important;background:0 0!important;border-radius:6px!important;width:auto!important;min-width:0!important;max-width:none!important;padding:6px 10px!important;font-size:12px!important;font-weight:600!important}.portal-top button.signout-link:hover{color:#fff!important;border-color:var(--p-muted)!important;background:0 0!important}.portal .btn-primary,.portal button[type=submit]{width:auto;min-width:180px}}
