@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--asu-navy:#0c2340;--asu-gold:#c5a022;--ink:#222;--muted:#64748b;--bg:#f4f6f9;--card:#fff;--pass:#15803d;--fail:#b91c1c;--warn:#b45309;--pass-bg:#dcfce7;--warn-bg:#fef3c7;--fail-bg:#fee2e2;--rule:#d8d8d8;--shadow:0 2px 12px #0c23401f;--site-header-bar-height:3.25rem;--site-header-border-height:3px;--site-header-nav-height:2.5rem;--site-header-offset:calc(env(safe-area-inset-top,0px) + var(--site-header-bar-height) + var(--site-header-border-height))}*,:before,:after{box-sizing:border-box}html,body{color:var(--ink);background:var(--bg);margin:0;padding:0;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.45}.loading,.error{text-align:center;padding:2rem}.error{color:var(--fail)}.login-page{background:linear-gradient(160deg,#0c2340 0%,#1a3a5c 100%);justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.login-shell{width:100%;max-width:420px}.login-card{background:var(--card);border-radius:.75rem;padding:2rem;box-shadow:0 8px 32px #0003}.login-card h1{color:var(--asu-navy);margin:0 0 .25rem;font-size:1.5rem}.login-sub{color:var(--muted);margin:0 0 1.5rem;font-size:.95rem}.login-form{flex-direction:column;gap:.5rem;display:flex}.login-form label{margin-top:.5rem;font-size:.85rem;font-weight:600}.login-form input{border:1px solid #cbd5e1;border-radius:.4rem;padding:.65rem .75rem;font-size:1rem}.login-form button{background:var(--asu-navy);color:#fff;cursor:pointer;border:none;border-radius:.4rem;margin-top:1rem;padding:.75rem;font-weight:600}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--fail);margin:1rem 0 0;font-size:.9rem}.login-footer{text-align:center;color:#ffffffb3;margin-top:1.5rem;font-size:.85rem}.admin-shell{min-height:calc(100svh - var(--site-header-offset));box-sizing:border-box;max-width:1400px;margin:0 auto;padding:1.75rem 1.5rem 2rem}.main{background:var(--bg)}.site-header{z-index:180;width:100%;padding-top:env(safe-area-inset-top,0px);background:var(--asu-navy);color:#fff;border-bottom:var(--site-header-border-height) solid var(--asu-gold);flex-direction:column;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #081a2e59}.site-header+main.main{padding-top:var(--site-header-offset)}.top-menu-bar{background:#081a2e;border-bottom:1px solid #ffffff1a;width:100%}.top-menu-inner{width:100%;max-width:1400px;min-height:var(--site-header-bar-height);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.5rem 1.5rem;display:flex}.top-menu-inner-portal{flex-wrap:nowrap;align-items:center;gap:.65rem}.top-menu-leading-search{flex:auto;min-width:0}.top-menu-trailing{flex:none;align-items:center;gap:.5rem;min-width:0;display:flex}.top-menu-header-nav{flex:none;align-items:center;gap:.35rem;display:flex}.top-menu-account{flex-wrap:nowrap;flex:none;align-items:center;gap:.35rem;display:flex}.header-nav-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff59;border-radius:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;line-height:1.2}.header-nav-btn:hover{background:#ffffff14}.header-nav-btn-active{color:#fff;background:#ffffff1f;border-color:#ffffff8c}.top-menu-account .header-nav-btn.header-nav-btn-active{color:var(--asu-navy);background:#fff;border-color:#fff;box-shadow:0 1px 4px #0000002e}.top-menu-account .header-nav-btn.header-nav-btn-active:hover{color:var(--asu-navy);background:#f8fafc;border-color:#f8fafc}.header-nav-btn-muted{color:#ffffff6b;border-color:#ffffff29}.header-nav-btn-muted:hover{color:#ffffff94;background:#ffffff0d}.header-nav-btn-muted.header-nav-btn-active{color:#ffffffb8;background:#ffffff14;border-color:#ffffff47}.sign-out-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff59;border-radius:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;line-height:1.2}.sign-out-btn:hover{background:#ffffff14}.top-menu-nav{scrollbar-width:thin;flex-wrap:nowrap;flex:auto;justify-content:center;gap:.35rem;display:flex;overflow-x:auto}.admin-section-nav{width:100%}.top-menu-link{color:#ffffffd9;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.35rem;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex}.top-menu-link-active{color:#fff;background:#ffffff1f}.top-menu-link-soon{color:#ffffff9e}.nav-soon-tag{text-transform:uppercase;letter-spacing:.04em;color:#c5a022f2;font-size:.62rem;font-weight:700}.unit-search{width:100%;position:relative}.unit-search-input-wrap{position:relative}.unit-search-input{color:#fff;appearance:none;background:#081a2e8c;border:1px solid #ffffff47;border-radius:999px;width:100%;padding:.5rem 2.35rem .5rem 2.65rem;font-size:.875rem;box-shadow:inset 0 1px 2px #0000001f}.unit-search-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.unit-search-input::-webkit-search-decoration{-webkit-appearance:none;display:none}.unit-search-input::-webkit-search-results-button{-webkit-appearance:none;display:none}.unit-search-input::placeholder{color:#ffffff9e}.unit-search-input:focus{background:#081a2eb8;border-color:#c5a022d9;outline:none;box-shadow:inset 0 1px 2px #0000001a,0 0 0 3px #c5a02238}.unit-search-icon{color:#ffffff8c;pointer-events:none;display:flex;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.unit-search-header:focus-within .unit-search-icon{color:#ffffffc7}.unit-search-clear{color:#ffffffe6;cursor:pointer;background:0 0;border:0;font-size:1.25rem;line-height:1;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.unit-search-sr-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.unit-search-people-add .unit-search-input{color:var(--asu-navy);box-shadow:none;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.5rem 2rem .5rem 2.15rem}.unit-search-people-add .unit-search-input::placeholder{color:#94a3b8}.unit-search-people-add .unit-search-input:focus{border-color:var(--asu-navy);background:#fff;outline:none;box-shadow:0 0 0 3px #081a2e14}.unit-search-people-add .unit-search-icon{color:#94a3b8}.unit-search-people-add:focus-within .unit-search-icon{color:var(--asu-navy)}.unit-search-people-add .unit-search-clear{color:#64748b}.contact-people-add-panel{z-index:60;min-width:0;max-height:min(16rem,45svh);position:absolute;top:calc(100% + .25rem);left:0;right:0}.contact-people-add-panel-up{top:auto;bottom:calc(100% + .25rem)}.contact-people-add-panel .unit-search-pick.is-highlighted{background:#eef2ff}.top-menu-leading-search .unit-search-panel{z-index:1400;min-width:min(24rem,92vw);left:0;right:auto}.unit-search-panel{z-index:50;max-height:min(70svh,520px);color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--rule);background:#fff;border-radius:.5rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto}.unit-search-empty{color:var(--muted);padding:1rem;font-size:.9rem}.unit-search-pick{border:0;border-bottom:1px solid var(--rule);text-align:left;cursor:pointer;background:#fff;grid-template-columns:1fr auto;gap:.15rem .75rem;width:100%;padding:.85rem 1rem;display:grid}.unit-search-pick:hover{background:#f0f5fa}.unit-pick-property{color:var(--asu-navy);font-weight:700}.unit-pick-meta{color:var(--muted);grid-column:1/-1;font-size:.8rem}.portal-search-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;padding:.45rem 1rem .25rem;font-size:.68rem;font-weight:700}.section-page-head{margin-bottom:1rem}.section-page-head-compact{margin-bottom:.75rem}.section-page-installs .section-page-head-compact{margin-top:.25rem}.section-page-installs .filter-bar{margin-bottom:1rem}.section-page-vendors,.section-page-contacts,.section-page-properties{margin-top:0}.contacts-filter-bar,.properties-filter-bar{margin-bottom:1rem}.contacts-filter-bar-compact{align-items:center;gap:.75rem 1rem;padding:.55rem .85rem}.contacts-filter-bar-compact .filter-bar-fields{align-items:center;gap:.55rem .75rem}.contacts-filter-bar-compact .filter-field-compact{white-space:nowrap;flex-direction:row;align-items:center;gap:.45rem;font-size:.72rem}.contacts-filter-bar-compact .filter-field-compact select{min-width:7.5rem;padding:.35rem .5rem;font-size:.88rem}.contacts-filter-inline-meta{align-items:center;gap:.5rem;padding-left:.15rem;display:flex}.filter-bar-actions{flex:none;align-items:center;gap:.5rem;margin-left:auto;display:flex}.btn-compact{padding:.4rem .85rem;font-size:.88rem}.contact-create-hint{margin:0;padding:0 .15rem}.contact-create-site-property-field{flex-direction:column;gap:.35rem;display:flex}.contact-create-site-property-field select{width:100%;color:var(--asu-navy);background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;padding:.42rem .58rem;font-size:.88rem}.contact-create-site-empty{margin:0}.modal-contact-create .modal-scroll{gap:.5rem}.contacts-filter-count{color:var(--muted);font-size:.88rem;font-weight:600}.contacts-table-wrap{overflow-x:auto}.contacts-table{table-layout:fixed;width:100%}.contacts-table th,.contacts-table td{vertical-align:middle;padding-top:.7rem;padding-bottom:.7rem}.contacts-col-name{width:22%}.contacts-col-kind{width:6.5rem}.contacts-col-title{width:18%}.contacts-col-email{text-overflow:ellipsis;white-space:nowrap;width:auto;min-width:0;padding-right:1.25rem;overflow:hidden}.contacts-col-phone{white-space:nowrap;text-align:right;width:10.5rem}.contacts-table th.contacts-col-phone{text-align:right}.contacts-table th.contacts-col-phone .contacts-phone-sort{text-align:right;justify-content:flex-end}.contacts-name{color:var(--asu-navy);font-weight:600}.contacts-phone{font-variant-numeric:tabular-nums;color:#334155;font-size:.9rem}.contacts-email{color:#475569;font-size:.92rem}.contact-kind-badge{letter-spacing:.03em;text-transform:uppercase;color:#3730a3;background:#eef2ff;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.contact-kind-badge-site{color:#047857;background:#ecfdf5}.contacts-table tbody tr:nth-child(2n) td{background:#f8fafc}.contacts-table tbody tr.clickable:hover td{background:#eef2ff}.modal-body-single{max-width:42rem}.modal-contact-edit{width:min(520px,100vw - 1.5rem);max-height:calc(100vh - 1rem);overflow:visible}.modal-contact-edit .modal-head-compact{padding:.65rem 1rem}.modal-contact-edit .modal-title{font-size:1.05rem}.modal-contact-edit .modal-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.82rem;font-weight:500;line-height:1.35}.modal-contact-edit .modal-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;gap:.65rem;padding:.65rem 1rem 1.25rem;display:flex;overflow:hidden auto}.modal-contact-edit .form-section{flex-shrink:0;overflow:visible}.modal-contact-edit .form-section-body{overflow:visible}.modal-contact-edit .form-section-head{padding:.4rem .7rem}.modal-contact-edit .form-section-body{padding:.55rem .7rem .65rem}.modal-contact-edit .field-grid,.modal-contact-edit .contact-field-grid-compact{gap:.45rem .55rem}.modal-contact-edit .field-label{font-size:.72rem}.modal-contact-edit .field-grid input{padding:.42rem .58rem;font-size:.88rem}.modal-contact-edit .modal-foot{flex-shrink:0}.modal-contact-edit .contact-assignment-list-scroll{max-height:calc(100vh - 20.5rem)}.modal-property-sheet{width:min(720px,100vw - 1.5rem);max-height:min(86vh,760px);overflow:hidden}.modal-property-sheet .modal-form-shell{flex-direction:column;flex:1;min-height:0;display:flex}.modal-property-sheet .modal-body-shell{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:.65rem 1rem 1rem;overflow:hidden auto}.modal-property-sheet .modal-foot{flex-shrink:0}.property-panel-fields{width:100%;max-width:none}.modal-property-sheet.modal-property-details{width:min(920px,100vw - 1.5rem);min-height:min(680px,92vh);max-height:min(92vh,940px)}.property-details-stacked,.property-details-map-block{width:100%}.property-details-stacked .property-details-map{height:200px}.modal-property-sheet .property-pmx-body,.modal-property-sheet .property-people-panel-body{width:100%}.property-panel-kpi{margin-top:.75rem}.property-people-panel-body{flex-direction:column;gap:.75rem;display:flex;overflow:visible}.contact-person-add-combobox{margin-top:0}.property-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.15rem;display:grid}.property-people-card{background:#fff;border:1px solid #e2e8f0;border-radius:.45rem;flex-direction:column;gap:.35rem;min-height:5.5rem;padding:.55rem .65rem;display:flex;position:relative}.property-people-card:hover{background:#f8fbff;border-color:#c7d2fe}.property-people-card-head{z-index:2;justify-content:space-between;align-items:flex-start;gap:.35rem;display:flex;position:relative}.property-people-card-name{text-align:left;font:inherit;color:var(--asu-navy);cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.92rem;font-weight:700;line-height:1.25}.property-people-card-name:hover{text-decoration:underline}.property-people-card-title{color:var(--muted);z-index:2;margin:0;font-size:.78rem;font-weight:600;line-height:1.3;position:relative}.property-people-card-lines{z-index:2;flex-direction:column;gap:.2rem;display:flex;position:relative}.property-people-card-link{color:var(--asu-navy);word-break:break-word;font-size:.82rem;font-weight:600;line-height:1.35;text-decoration:none}.property-people-card-link:hover{text-decoration:underline}.property-people-card-muted{color:var(--muted);font-size:.78rem}.property-people-card-open{cursor:pointer;border-radius:inherit;z-index:1;background:0 0;border:0;position:absolute;inset:0}.property-people-card .contact-assignment-remove{z-index:3;position:relative}@media (width<=640px){.property-people-grid{grid-template-columns:1fr}}.property-people-list{flex-direction:column;gap:.35rem;max-height:min(48vh,420px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.property-people-row{background:#fff;border:1px solid #e8edf3;border-radius:.35rem;align-items:stretch;gap:.35rem;padding:.35rem .45rem;display:flex}.property-people-row-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:.1rem;min-width:0;padding:0;display:flex}.property-people-row-main:hover .property-people-name{text-decoration:underline}.property-people-name{color:var(--asu-navy);font-size:.9rem;font-weight:600}.property-people-meta{color:var(--muted);font-size:.78rem}.properties-col-actions{white-space:nowrap;width:1%}.property-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.25rem;display:inline-flex}.property-row-action{color:var(--asu-navy);cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:.3rem;align-items:center;padding:.18rem .45rem;font-size:.72rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.property-row-action:hover{background:#eef2ff;border-color:#a5b4fc}.properties-table-total-row td{color:var(--asu-navy);background:#f8fafc;border-top:2px solid #e2e8f0;font-weight:600}.properties-table-total-label{text-align:right;padding-right:1rem;font-size:.88rem}.properties-table-total-units{font-variant-numeric:tabular-nums}.properties-name-btn{font:inherit;color:var(--asu-navy);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.properties-name-btn:hover{text-decoration:underline}.contact-people-add-panel{z-index:300}.modal-property-edit{width:min(520px,100vw - 1.5rem);max-height:calc(100vh - 1rem);overflow:visible}.modal-property-edit .modal-head-compact{padding:.65rem 1rem}.modal-property-edit .modal-title{font-size:1.05rem}.modal-property-edit .modal-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.82rem;font-weight:500;line-height:1.35}.modal-head-actions{flex-wrap:nowrap;flex-shrink:0;gap:.4rem;margin-left:auto;display:flex}.modal-head-title-row{align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.modal-head-title-row .modal-title{flex:1;min-width:0;font-size:1.15rem}.modal-head-property{align-items:stretch;padding:.85rem 1.15rem}.modal-head-property-layout{justify-content:space-between;align-items:flex-start;gap:.85rem;width:100%;min-width:0;display:flex}.modal-head-property-main{flex:1;min-width:0}.modal-head-property .modal-head-title-row{align-items:baseline;width:auto}.modal-head-property .modal-head-title-row .modal-title{flex:0 auto}.modal-head-property .modal-head-actions{flex-shrink:0;margin-left:0;padding-top:.1rem}.modal-head-property .modal-subtitle{margin:.35rem 0 0}.modal-panel-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;flex-shrink:0;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.modal-head-btn{color:var(--asu-navy);white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:.35rem;align-items:center;padding:.28rem .62rem;font-size:.82rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.modal-head-btn:hover{background:#eef2ff;border-color:#a5b4fc}.modal-head-action{color:var(--asu-navy);font-size:.82rem;font-weight:600;text-decoration:none}.modal-head-action:hover{text-decoration:underline}.property-kpi-kv{margin:0}.property-kpi-updated{margin:.35rem 0 0}.modal-property-edit .modal-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;gap:.65rem;padding:.65rem 1rem 1.25rem;display:flex;overflow:hidden auto}.modal-property-edit .form-section{flex-shrink:0;overflow:visible}.modal-property-edit .form-section-body{padding:.55rem .7rem .65rem;overflow:visible}.modal-property-edit .form-section-head{padding:.4rem .7rem}.modal-property-edit .contact-assignment-list-scroll{max-height:calc(100vh - 22rem)}.modal-property-details{flex-direction:column;width:min(920px,100vw - 1.5rem);min-height:min(680px,92vh);max-height:min(92vh,940px);display:flex}.modal-property-details .modal-form-shell{flex-direction:column;flex:1;min-height:0;display:flex}.modal-property-details .modal-body-shell{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:.75rem 1rem 1rem;display:flex;overflow:hidden auto}.modal-property-details .form-section-head{padding:.4rem .7rem .35rem}.modal-property-details .form-section-body{padding:.5rem .7rem .65rem;overflow:visible}.modal-property-details .modal-foot{flex-shrink:0}.property-details-body{flex-direction:column;gap:.75rem;display:flex}.property-edit-body{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.property-edit-pmx-banner{background:0 0;border:0;padding:0}.property-edit-pmx-banner-inner{background:linear-gradient(#f8fbff 0%,#fff 100%);border:1px solid #dbeafe;border-radius:.5rem;padding:.7rem .85rem}.property-edit-pmx-banner-top{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.5rem;display:flex}.property-edit-pmx-banner-label{letter-spacing:.06em;text-transform:uppercase;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.property-edit-pmx-banner .property-pmx-progress-pct{font-size:1.35rem}.property-edit-pmx-banner .property-pmx-progress-meta{text-align:right;margin-left:auto;font-size:.78rem}.property-edit-pmx-banner .property-pmx-progress-bar{margin-bottom:0}.property-edit-pmx-banner .property-pmx-empty{margin:0}.property-edit-contact-divider{background:#e8edf3;height:1px;margin:.65rem 0 .55rem}.property-edit-contact-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem;font-size:.72rem;font-weight:700}.property-edit-columns{flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;gap:0;min-height:18rem;display:grid}.property-edit-main{border-right:1px solid #e8edf3;flex-direction:column;min-width:0;padding-right:.85rem;display:flex}.property-edit-main .form-section{flex:1}.property-edit-pmx{flex-direction:column;min-width:0;min-height:100%;padding-left:.85rem;display:flex}.property-edit-pmx .form-section{flex-direction:column;flex:1;min-height:100%;display:flex}.property-edit-pmx .form-section-body{flex-direction:column;flex:1;min-height:0;display:flex}.property-edit-pmx-fields-wrap{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.property-edit-pmx-fields-top{flex-shrink:0}.property-edit-notes-field{flex-direction:column;flex:1;gap:.35rem;min-height:9rem;display:flex}.property-edit-notes-field textarea{resize:vertical;box-sizing:border-box;flex:1;width:100%;min-height:9rem}.property-pmx-billing-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.35rem;margin:0;padding:.45rem .55rem;font-size:.78rem;line-height:1.35}@media (width<=720px){.property-edit-columns{grid-template-columns:1fr}.property-edit-main{border-bottom:1px solid #e8edf3;border-right:0;padding-bottom:.75rem;padding-right:0}.property-edit-pmx{padding-top:.75rem;padding-left:0}}.property-details-columns{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:.65rem .85rem;display:grid}.property-details-columns-3{grid-template-columns:minmax(0,.82fr) minmax(0,1fr) minmax(0,1.05fr)}.property-details-col-pmx{flex-direction:column;gap:.55rem;min-width:0;display:flex}.property-details-col-pmx .field-grid-2{grid-template-columns:1fr}.property-details-col-pmx .property-pmx-progress-head{flex-direction:column;align-items:flex-start;gap:.25rem}.property-details-col-pmx .property-pmx-progress-meta{text-align:left}.property-details-col-pmx .property-pmx-progress-pct{font-size:1.45rem}.property-details-error{grid-column:1/-1;margin:0}.property-details-col-fields,.property-details-col{flex-direction:column;gap:.55rem;min-width:0;display:flex}.property-details-map{height:260px}.property-visit-kpi{margin:0;font-size:.82rem;line-height:1.4}.property-details-map-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:.45rem;justify-content:center;align-items:center;min-height:12rem;padding:1rem;display:flex}.property-contact-strip{border-top:1px solid #e8edf3;margin-top:.35rem;padding-top:.65rem}.property-contact-strip-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:block}.property-contact-strip-grid{margin:0}.property-pmx-body{flex-direction:column;gap:.85rem;display:flex}.property-pmx-progress-card{background:linear-gradient(#f8fbff 0%,#fff 100%);border:1px solid #dbeafe;border-radius:.5rem;padding:.85rem 1rem}.property-pmx-progress-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.55rem;display:flex}.property-pmx-progress-pct{color:var(--asu-navy);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:700;line-height:1}.property-pmx-progress-meta{color:var(--muted);text-align:right;font-size:.8rem;line-height:1.35}.property-pmx-progress-bar{background:#e2e8f0;border-radius:999px;height:.55rem;margin-bottom:.75rem;overflow:hidden}.property-pmx-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#1e3a8a 0%,#2563eb 100%);height:100%;transition:width .2s;display:block}.property-pmx-stat-grid{grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.5rem .75rem;margin:0;display:grid}.property-pmx-stat-grid>div{min-width:0}.property-pmx-stat-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.72rem;font-weight:600}.property-pmx-stat-grid dd{color:var(--asu-navy);font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:1.05rem;font-weight:700}.property-pmx-health-grid{margin-top:.15rem}.property-pmx-empty,.property-pmx-billing-hint{margin:0}.property-people-assigned-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;font-size:.78rem;font-weight:700}.property-people-empty{margin:0}@media (width<=900px){.property-details-columns-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.property-details-columns-3 .property-details-col-map{grid-column:1/-1}}@media (width<=640px){.property-details-columns,.property-details-columns-3{grid-template-columns:1fr}.property-details-columns-3 .property-details-col-map{grid-column:auto}.property-details-map{height:200px}}.modal-property-details .form-section{flex-shrink:0;overflow:visible}.modal-property-details .property-advanced-details{margin-top:.15rem}.modal-property-details .property-panel-kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.45rem;margin-top:0;padding:.55rem .7rem}.modal-property-details .modal-head-compact{padding:.65rem 1rem}.modal-property-details .modal-title{font-size:1.05rem}.modal-property-details .modal-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.82rem;font-weight:500;line-height:1.35}.property-site-hint{margin:0 0 .45rem}.admin-map-link-inline{color:var(--asu-navy);margin-top:.35rem;font-size:.82rem;font-weight:600;display:inline-block}.property-advanced-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.45rem}.property-advanced-details>summary{color:#475569;cursor:pointer;padding:.55rem .75rem;font-size:.82rem;font-weight:600;list-style:none}.property-advanced-details>summary::-webkit-details-marker{display:none}.property-advanced-body{padding:0 .5rem .5rem}.properties-table-wrap{overflow-x:auto}.properties-table{table-layout:auto;width:100%}.properties-table th,.properties-table td{vertical-align:middle;padding-top:.7rem;padding-bottom:.7rem}.properties-col-name{width:auto;min-width:10rem}.properties-col-code{width:4.5rem}.properties-col-units{text-align:right;font-variant-numeric:tabular-nums;width:4rem}.properties-col-people{text-align:center;font-variant-numeric:tabular-nums;color:#334155;width:4.5rem;font-weight:600}.properties-col-phone{white-space:nowrap;width:9.5rem}.properties-col-senior{width:5.5rem}.properties-name{color:var(--asu-navy);font-weight:600}.properties-phone{font-variant-numeric:tabular-nums;color:#334155;font-size:.9rem}.properties-email{color:#475569;font-size:.92rem}.properties-tag-row{flex-wrap:wrap;gap:.25rem;display:flex}.property-tag{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700;display:inline-block}.property-tag-senior{color:#047857;background:#ecfdf5}.property-tag-pmx{color:#3730a3;background:#eef2ff}.properties-tag-empty{color:var(--muted)}.properties-table tbody tr.clickable{cursor:pointer}.properties-table tbody tr:nth-child(2n) td{background:#f8fafc}.properties-table tbody tr.clickable:hover td{background:#eef2ff}.contact-assignment-label-button{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:.1rem;min-width:0;margin:0;padding:0;display:flex}.contact-assignment-label-button:hover .contact-assignment-name{text-decoration:underline}.contact-assignment-meta{color:var(--muted);font-size:.78rem;font-weight:500}.contact-assignment-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.3rem;margin:0;padding:.35rem;list-style:none;display:grid}.contact-assignment-list li{background:#fff;border:1px solid #e8edf3;border-radius:.3rem;justify-content:space-between;align-items:center;gap:.35rem;min-height:1.75rem;padding:.28rem .4rem;display:flex}.contact-assignment-list-single{grid-template-columns:minmax(0,1fr)}.contact-properties-block{flex-direction:column;gap:.55rem;min-height:0;display:flex}.contact-properties-empty{margin:0}.contact-assignment-list-scroll{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:.35rem;max-height:min(11.5rem,30svh);overflow:hidden auto}.contact-assignment-list-scroll-short{max-height:none}.contact-assignment-label{min-width:0;color:var(--asu-navy);align-items:baseline;gap:.45rem;font-size:.84rem;display:flex}.contact-assignment-label code{letter-spacing:.03em;flex-shrink:0;font-size:.82rem;font-weight:700}.contact-assignment-name{color:#475569;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-assignment-remove{color:#64748b;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 .15rem;font-size:1.05rem;line-height:1}.contact-assignment-remove:hover:not(:disabled){color:var(--fail)}.contact-assignment-remove:disabled{opacity:.5;cursor:not-allowed}.modal-quick-links{flex-wrap:wrap;gap:.5rem 1rem;margin-top:.35rem;display:flex}.modal-quick-link{color:var(--asu-navy);font-size:.88rem;font-weight:600;text-decoration:none}.modal-quick-link:hover{text-decoration:underline}.contact-assignment-chips{flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem;display:flex}.contact-assignment-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .45rem .35rem .65rem;font-size:.88rem;display:inline-flex}.contact-assignment-chip-static{padding-right:.65rem}.contact-assignment-chip-label code,.contact-assignment-chip code{color:#64748b;margin-left:.35rem;font-size:.78rem}.contact-assignment-chip-remove{color:#64748b;cursor:pointer;background:0 0;border:0;padding:0 .15rem;font-size:1.1rem;line-height:1}.contact-assignment-chip-remove:hover:not(:disabled){color:var(--fail)}.modal-contact-edit .contact-property-combobox-panel{z-index:30;max-height:min(11rem,30svh)}.modal-contact-edit .contact-property-combobox-panel-up{top:auto;bottom:calc(100% + .25rem)}.contact-property-combobox-panel-portal{z-index:500;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;position:fixed;overflow:auto;box-shadow:0 8px 24px #081a2e2e}.contact-property-combobox-panel-fixed{z-index:300;position:fixed;overflow:auto}.contact-property-combobox-panel-up{top:auto;bottom:calc(100% + .25rem)}.modal-contact-edit .contact-property-add-combobox{flex-shrink:0;margin-top:0;margin-bottom:0}.contact-property-add-combobox{margin-top:.85rem}.contact-title-combobox{width:100%}.contact-title-combobox-option{display:block}.contact-property-add-combobox .field-label{margin-bottom:.35rem;display:block}.contact-property-combobox-wrap{width:100%;position:relative}.contact-add-property-input{width:100%;color:var(--asu-navy);box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;margin:0;padding:.5rem .6rem;font-family:inherit;font-size:.875rem;line-height:1.4}.contact-add-property-input:focus{border-color:var(--asu-navy);outline:2px solid #081a2e26}.contact-add-property-input:disabled{opacity:.6;cursor:not-allowed}.contact-property-combobox-panel{z-index:60;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;max-height:min(16rem,45svh);position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #081a2e1f}.contact-property-combobox-empty{color:var(--muted);padding:.75rem .65rem;font-size:.875rem;line-height:1.4}.contact-property-combobox-option{width:100%;font:inherit;color:var(--asu-navy);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;align-items:baseline;margin:0;padding:.55rem .65rem;font-size:.875rem;line-height:1.45;display:flex}.contact-property-combobox-option:last-child{border-bottom:0}.contact-property-combobox-option:hover,.contact-property-combobox-option.is-highlighted,.contact-property-combobox-option:focus-visible{background:#eef2ff;outline:none}.contact-property-pick-code{font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0;font-weight:650}.contact-property-pick-sep{color:var(--muted)}.contact-property-pick-name{color:#475569}.vendors-table-wrap{overflow-x:auto}.vendors-table{table-layout:fixed;width:100%}.vendors-table th,.vendors-table td{vertical-align:middle;padding-top:.7rem;padding-bottom:.7rem}.vendors-col-company{width:28%}.vendors-col-location{width:22%}.vendors-col-phone{white-space:nowrap;width:11rem}.vendors-col-address{color:#475569;width:auto;font-size:.92rem}.vendors-address-cell{align-items:center;gap:.5rem;min-width:0;display:flex}.vendors-address-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vendors-address-map{flex-shrink:0;margin-left:auto}.vendors-company-name{color:var(--asu-navy);font-weight:600}.vendors-phone{font-variant-numeric:tabular-nums;color:#334155;letter-spacing:.01em;font-size:.9rem}.vendors-table tbody tr:nth-child(2n) td{background:#f8fafc}.vendors-table tbody tr.clickable:hover td{background:#eef2ff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-page-head h1{color:var(--asu-navy);margin:0;font-size:1.35rem}.section-page-sub{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.25rem;display:flex}.filter-bar-fields{flex-wrap:wrap;flex:auto;gap:.75rem 1rem;display:flex}.filter-field{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;display:flex}.filter-field select{border:1px solid #cbd5e1;border-radius:.35rem;min-width:9rem;padding:.45rem .55rem;font-size:.95rem}.filter-field input{border:1px solid #cbd5e1;border-radius:.35rem;min-width:12rem;padding:.45rem .55rem;font-size:.95rem}.property-filter-field{min-width:12rem}.property-filter-field-compact{white-space:nowrap;flex-direction:row;align-items:center;gap:.45rem;font-size:.72rem}.property-filter-combobox-wrap{flex:auto;min-width:11rem;position:relative}.property-filter-field-compact .property-filter-combobox-wrap{min-width:9rem}.property-filter-input{width:100%;color:var(--asu-navy);box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:.35rem;margin:0;padding:.45rem 1.65rem .45rem .55rem;font-family:inherit;font-size:.95rem;line-height:1.35}.property-filter-field-compact .property-filter-input{padding:.35rem 1.55rem .35rem .5rem;font-size:.88rem}.property-filter-input:focus{border-color:var(--asu-navy);outline:2px solid #081a2e1f}.property-filter-clear{color:#64748b;cursor:pointer;background:0 0;border:0;padding:0 .15rem;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.property-filter-clear:hover{color:var(--asu-navy)}.property-filter-panel{z-index:80;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;max-height:min(16rem,45svh);position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #081a2e1f}.property-filter-option{text-align:left;width:100%;font:inherit;color:var(--asu-navy);cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.15rem;margin:0;padding:.55rem .65rem;display:flex}.property-filter-option:hover,.property-filter-option.is-highlighted{background:#eef2ff}.property-filter-option.is-selected{font-weight:600}.property-filter-option-label{color:var(--muted);font-weight:600}.property-filter-pick-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82em;font-weight:700}.property-filter-pick-sep{color:var(--muted)}.property-filter-pick-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.property-filter-empty{color:var(--muted);padding:.65rem .75rem;font-size:.875rem}.properties-table td code{font-size:.85rem}.filter-bar-meta{flex:none;align-items:center;gap:.75rem;display:flex}.btn-link{color:var(--asu-navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:600;text-decoration:underline}.coming-soon-card{max-width:42rem}.coming-soon-lead,.coming-soon-card a{color:var(--asu-navy);font-weight:600}@media (width<=1100px){.top-menu-inner-portal{flex-wrap:wrap}.top-menu-leading-search{flex:100%;order:1}.top-menu-trailing{flex-wrap:wrap;flex:100%;order:2;justify-content:flex-end}}@media (width<=640px){.filter-bar-fields{flex-direction:column;width:100%}.filter-field select{width:100%}.contacts-filter-bar-compact .filter-field-compact{flex-direction:column;align-items:stretch;width:100%}.contacts-filter-bar-compact .filter-bar-actions,.contacts-filter-bar-compact .filter-bar-actions .btn-compact{width:100%}}.admin-header{background:var(--asu-navy);color:#fff;border-bottom:3px solid var(--asu-gold)}.admin-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1400px;margin:0 auto;padding:1rem 1.5rem;display:flex}.admin-header h1{margin:0;font-size:1.25rem}.admin-header-actions{gap:.5rem;display:flex}.btn-secondary{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:.35rem;padding:.4rem .75rem;font-size:.85rem}.btn-secondary:hover:not(:disabled){background:#ffffff14}.card{background:var(--card);border-radius:.5rem;margin-bottom:1rem;padding:1.25rem 1.5rem;box-shadow:0 1px 3px #0c234014}.kv{grid-template-columns:8rem 1fr;gap:.5rem 1rem;margin:0;display:grid}.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0}.kv code{word-break:break-all;font-size:.85rem}.header-sub{opacity:.85;margin:.15rem 0 0;font-size:.85rem}.admin-main{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.toolbar{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.toolbar-field{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.toolbar-field.grow{flex:16rem}.toolbar-field input,.toolbar-field select{border:1px solid #cbd5e1;border-radius:.35rem;padding:.5rem .65rem;font-size:.95rem;font-weight:400}.count{color:var(--muted);align-self:center;margin:0;font-size:.85rem}.toolbar-field-wide{flex:0 18rem}.toolbar-field-wide select{min-width:14rem}.property-cell{max-width:16rem}.property-name{color:var(--asu-navy);font-weight:600;line-height:1.3;display:block}.status-msg{color:var(--muted);padding:1rem}.table-wrap{padding:0;overflow-x:auto}.table-wrap.card{padding:0}.install-table{border-collapse:collapse;width:100%;min-width:100%;font-size:.9rem}.install-table th,.install-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:.65rem .85rem}.install-table thead th:first-child,.install-table tbody td:first-child{padding-left:1rem}.install-table thead th:last-child,.install-table tbody td:last-child{padding-right:1rem}.install-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;background:#f8fafc;font-size:.75rem}.install-table th.sortable-th{padding:0}.sort-btn{width:100%;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.15rem;padding:.65rem .85rem;display:flex}.sort-btn:hover{color:var(--asu-navy);background:#eef2ff}.unit-slug{color:var(--asu-navy);font-weight:600}.install-table tr.group-row th{text-transform:none;letter-spacing:.02em;color:var(--asu-navy);text-align:center;background:#eef2ff;border-bottom:1px solid #dbeafe;font-size:.68rem;font-weight:700}.install-table tr.clickable{cursor:pointer}.install-table tbody tr.row-closed td{background:#f0fdf4}.install-table tbody tr.row-approval td{background:#fefce8}.install-table tbody tr.row-ready td{background:#fef2f2}.install-table tbody tr.row-cancelled td{color:#64748b;background:#f8fafc}.install-table tbody tr.clickable:hover td{background:#f1f5f9}.install-table tbody tr.row-closed:hover td{background:#dcfce7}.install-table tbody tr.row-approval:hover td{background:#fef9c3}.install-table tbody tr.row-ready:hover td{background:#fee2e2}.install-table tbody tr.row-cancelled:hover td{background:#f1f5f9}.install-table .status-text{color:#334155;white-space:nowrap;font-size:.8125rem}.install-table tr.row-cancelled .status-text{color:#64748b}.install-table .equipment-cell{white-space:normal;max-width:14rem;font-size:.85rem;line-height:1.35}.pill{color:#1e3a8a;background:#e0e7ff;border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.pill.muted{color:#475569;background:#f1f5f9}.install-table .completeness-th{text-align:center;width:2.25rem;min-width:2.25rem;padding:.65rem .5rem}.install-table .completeness-cell{text-align:center;vertical-align:middle;width:2.25rem;min-width:2.25rem;padding-left:.5rem;padding-right:.5rem}.install-table tfoot td{color:var(--asu-navy);background:#f8fafc;border-top:2px solid #cbd5e1;font-weight:600}.install-table-total-label{text-align:right;padding-right:1rem;font-size:.88rem}.install-table-total-note{color:var(--muted);font-weight:500}.install-table-total-price{font-variant-numeric:tabular-nums;white-space:nowrap}.completeness-pill{border-radius:999px;flex-shrink:0;width:.65rem;height:.65rem;display:inline-block}.completeness-pill.completeness-green{background:var(--pass,#15803d);box-shadow:0 0 0 2px #dcfce7}.completeness-pill.completeness-warn{background:var(--warn,#b45309);box-shadow:0 0 0 2px #fef3c7}.completeness-pill.completeness-red{background:var(--fail,#b91c1c);box-shadow:0 0 0 2px #fee2e2}.completeness-pill.completeness-closed{background:#94a3b8;box-shadow:0 0 0 2px #f1f5f9}.mono{font-family:ui-monospace,monospace;font-size:.82rem}.modal-backdrop{z-index:200;background:#0f172a73;position:fixed;inset:0}.modal{z-index:210;background:var(--card);border-radius:.75rem;flex-direction:column;width:min(720px,100vw - 2rem);max-height:calc(100vh - 2rem);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 50px #00000040}.modal-wide{width:min(920px,100vw - 2rem)}.modal-install-edit{width:min(860px,100vw - 1.5rem);max-height:calc(100vh - 1rem)}.modal-vendor-edit{width:min(980px,100vw - 2rem);min-height:min(640px,88vh);max-height:min(90vh,880px)}.modal-vendor-edit .modal-scroll{flex-direction:column;min-height:0;display:flex}.modal-vendor-edit .modal-body{flex:1;min-height:0;padding:0}.modal-vendor-edit .modal-columns{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:stretch;gap:.85rem 1.15rem;min-height:min(480px,58vh)}.modal-vendor-edit .modal-col{min-height:0}.modal-vendor-edit .modal-col .form-section{flex-direction:column;flex:1;min-height:0;display:flex}.modal-vendor-edit .modal-col .form-section-body{flex-direction:column;flex:1;min-height:0;padding:.65rem .85rem .75rem;display:flex}.modal-vendor-edit .modal-col:first-child{min-height:0}.modal-vendor-edit .modal-col:first-child .form-section,.modal-vendor-edit .modal-col:first-child .form-section-body{flex-direction:column;flex:1;min-height:0;display:flex}.modal-vendor-edit .admin-map-block{flex:1;min-height:320px}.modal-vendor-edit .admin-map-embed{flex:1;height:auto;min-height:320px}.vendor-edit-fields-wrap{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.vendor-edit-fields-top{flex-shrink:0;gap:.65rem}.vendor-edit-notes-field{flex-direction:column;flex:1;gap:.4rem;min-height:0;display:flex}.vendor-edit-notes-field textarea{resize:vertical;box-sizing:border-box;flex:1;width:100%;min-height:6rem;line-height:1.45}@media (width<=900px){.modal-vendor-edit{min-height:0;max-height:calc(100vh - 1rem)}.modal-vendor-edit .modal-columns{min-height:0}.modal-vendor-edit .admin-map-embed{flex:none;height:240px;min-height:240px}.vendor-edit-notes-field{min-height:8rem}.vendor-edit-notes-field textarea{flex:none;min-height:8rem}}.modal-install-edit .modal-head-compact{padding:.65rem 1rem}.modal-install-edit .modal-title{font-size:1.05rem}.modal-install-edit .modal-scroll{padding:.65rem 1rem 0}.modal-install-edit .modal-columns{gap:.55rem .85rem}.modal-install-edit .modal-col{gap:.55rem}.modal-install-edit .form-section-head{border-bottom:1px solid #e8edf3;padding:.4rem .7rem}.modal-install-edit .form-section-title{letter-spacing:.01em;font-size:.82rem}.modal-install-edit .form-section-body{padding:.55rem .7rem .65rem}.modal-install-edit .field-grid{gap:.55rem}.modal-install-edit .field-grid label,.modal-install-edit .field-block{gap:.28rem}.modal-install-edit .field-label{font-size:.72rem}.modal-install-edit .field-grid input,.modal-install-edit .field-grid select,.modal-install-edit .field-grid textarea,.modal-install-edit .field-block textarea{border-radius:.35rem;padding:.42rem .58rem;font-size:.88rem}.modal-install-edit .install-edit-notes{flex-direction:column;gap:.28rem;width:100%;margin-top:.6rem;display:flex}.modal-install-edit .install-edit-notes textarea{resize:vertical;min-height:5.25rem;line-height:1.45}.modal-install-edit .input-money input{padding-left:1.35rem}.modal-install-edit .input-money-symbol{font-size:.84rem;left:.52rem}.modal-install-edit .mono-input{font-size:.82rem!important}.modal-install-edit .modal-foot{padding:.6rem .85rem}.modal-install-edit .btn-muted,.modal-install-edit .btn-primary,.modal-install-edit .btn-danger,.modal-install-edit .btn-danger-outline{padding:.45rem .85rem;font-size:.88rem}.modal-install-edit .meta{margin:.45rem 0 .65rem;font-size:.82rem}.section-page-service-requests{flex-direction:column;gap:.5rem;width:100%;display:flex}.service-table-wrap{overflow-x:auto}.service-table{table-layout:fixed;width:100%;min-width:0}.service-table th,.service-table td{vertical-align:middle;padding:.65rem .5rem}.service-table thead th:first-child,.service-table tbody td:first-child{padding-left:.75rem}.service-table thead th:last-child,.service-table tbody td:last-child{padding-right:.75rem}.service-table.install-table{min-width:0}.service-col-property{width:15%}.service-col-property .property-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.service-table th.service-col-property,.service-table td.service-col-property{padding-right:.25rem}.service-col-unit{color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;width:7%;font-size:.82rem}.service-table th.service-col-unit,.service-table td.service-col-unit{padding-left:.25rem;padding-right:.75rem}.service-table tbody td.service-col-property,.service-table tbody td.service-col-unit{vertical-align:middle}.service-col-status{width:9%}.service-col-priority{white-space:nowrap;width:9%}.service-col-priority .service-request-pill{white-space:nowrap}.service-col-submitted{text-align:right;color:#64748b;font-variant-numeric:tabular-nums;width:5%;padding-right:.5rem;font-size:.82rem;font-weight:600}.service-col-summary{text-overflow:ellipsis;white-space:nowrap;color:#64748b;width:auto;min-width:0;font-size:.86rem;line-height:1.35;overflow:hidden}.service-col-actions{white-space:nowrap;text-align:right;cursor:default;width:18%;padding-left:.2rem;padding-right:.5rem;overflow:visible}.service-col-actions .service-row-action{max-width:none}.service-table thead th.service-col-actions,.service-table tbody td.service-col-actions{padding-right:.55rem}.service-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.2rem;display:inline-flex}.service-row-action{color:var(--asu-navy);cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:.3rem;align-items:center;gap:.25rem;padding:.16rem .38rem;font-size:.7rem;font-weight:600;line-height:1.2;display:inline-flex}.service-row-action:hover{background:#eef2ff;border-color:#a5b4fc}.service-row-action-complete{color:#166534;background:0 0;border-color:#86efac}.service-row-action-complete:hover:not(:disabled){background:#f0fdf4;border-color:#4ade80}.service-row-action-badge{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:1rem;padding:0 .25rem;font-size:.65rem;font-weight:800;display:inline-flex}.service-table tbody tr.row-selected .service-row-action-badge{background:var(--asu-navy);color:#fff}.service-table tbody tr.row-selected .service-row-action{background:#fff}.service-table tbody tr.row-selected .service-row-action-complete{background:#f0fdf4}.service-table tbody tr.service-row-emergency .service-row-action,.service-table tbody tr.service-row-high .service-row-action{background:#fff}.service-request-pill.priority-functional_check{border:1px solid #93c5fd}.service-table .property-name{color:var(--asu-navy);font-weight:600;line-height:1.35}.service-table tbody tr:nth-child(2n) td{background:#f8fafc}.service-table tbody tr.clickable:hover td{background:#eef2ff}.service-table tbody tr.service-row-emergency td:first-child{box-shadow:inset 3px 0 #dc2626}.service-table tbody tr.row-closed .property-name,.service-table tbody tr.row-closed .service-col-summary{color:#64748b}.service-request-pill{text-transform:capitalize;color:var(--asu-navy);white-space:nowrap;background:#eef2f7;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-block}.service-request-pill.priority-emergency{color:#991b1b;background:#fee2e2}.service-request-pill.priority-high{color:#9a3412;background:#ffedd5}.service-request-pill.priority-medium{color:#854d0e;background:#fef9c3}.service-request-pill.priority-low{color:#475569;background:#f1f5f9}.service-request-pill.priority-functional_check{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.service-request-pill.status-completed{color:#166534;background:#dcfce7}.service-request-pill.status-cancelled{color:#475569;background:#f1f5f9}.service-request-pill.status-submitted{color:#1e40af;background:#dbeafe}.service-request-pill.status-acknowledged{color:#3730a3;background:#e0e7ff}.service-request-pill.status-scheduled{color:#92400e;background:#fef3c7}.service-request-pill.status-in_progress{color:#9a3412;background:#ffedd5}.service-queue-summary{margin-bottom:0;padding:.4rem 1rem}.service-queue-summary-inner{align-items:center;gap:1rem 1.25rem;width:100%;display:flex}.service-queue-summary-head{color:var(--muted);white-space:nowrap;flex-wrap:nowrap;flex:none;align-items:baseline;gap:.25rem .45rem;font-size:.82rem;display:flex}.service-queue-summary-open{color:var(--asu-navy);font-size:.88rem;font-weight:700}.service-queue-summary-follow{color:#b45309;font-weight:600}.service-queue-chips{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:.3rem .35rem;min-width:0;display:flex}.service-queue-chip-divider{background:#e2e8f0;flex-shrink:0;width:1px;height:1.1rem;margin:0 .1rem}.service-queue-chip.follow-up,.service-queue-chip.stale,.service-queue-chip.overdue{background:#fafbfc;border-style:dashed}.service-queue-chip{cursor:pointer;font:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .5rem .12rem .4rem;line-height:1.15;transition:border-color .12s,box-shadow .12s;display:inline-flex}.service-queue-chip:hover{border-color:#94a3b8;box-shadow:0 1px 2px #0f172a0f}.service-queue-chip.is-active{border-color:var(--asu-navy);box-shadow:0 0 0 2px #1e3a8a1f}.service-queue-chip-count{font-variant-numeric:tabular-nums;min-width:1.15rem;color:var(--asu-navy);background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;padding:.02rem .28rem;font-size:.68rem;font-weight:800;display:inline-flex}.service-queue-chip-label{color:#334155;font-size:.74rem;font-weight:600}.service-queue-chip.priority-emergency .service-queue-chip-count{color:#991b1b;background:#fee2e2}.service-queue-chip.priority-high .service-queue-chip-count{color:#9a3412;background:#ffedd5}.service-queue-chip.priority-medium .service-queue-chip-count{color:#854d0e;background:#fef9c3}.service-queue-chip.priority-low .service-queue-chip-count{color:#475569;background:#f1f5f9}.service-queue-chip.priority-functional_check .service-queue-chip-count{color:#1d4ed8;background:#dbeafe}.service-queue-chip.follow-up .service-queue-chip-count{color:#b45309;background:#fef3c7}.service-queue-chip.stale .service-queue-chip-count{color:#9d174d;background:#fce7f3}.service-queue-chip.overdue .service-queue-chip-count{color:#b91c1c;background:#fee2e2}.service-queue-segments{border:1px solid #cbd5e1;border-radius:.4rem;flex-shrink:0;display:inline-flex;overflow:hidden}.service-queue-segment{color:#475569;font:inherit;cursor:pointer;background:#fff;border:0;padding:.38rem .75rem;font-size:.82rem;font-weight:600;line-height:1.2}.service-queue-segment+.service-queue-segment{border-left:1px solid #cbd5e1}.service-queue-segment.is-active{background:var(--asu-navy);color:#fff}.service-table-meta{color:#94a3b8;font-variant-numeric:tabular-nums;margin:0;padding:.35rem 1rem 0;font-size:.78rem}.service-table-wrap{padding:0;overflow:hidden}.service-table-filters{box-shadow:none;background:#fafbfc;border-bottom:1px solid #e2e8f0;margin:0;padding:.5rem 1rem}.service-table-filters .filter-bar-fields{justify-content:space-between;align-items:center;gap:.5rem 1rem;width:100%;display:flex}.service-table-filters .property-filter-field-compact{flex:14rem;min-width:10rem;max-width:none}.service-table-filters .property-filter-combobox-wrap{flex:auto;min-width:8rem}.service-table-filters .filter-field-compact{flex:none}.service-table-filters .service-queue-segments{flex-shrink:0;margin-left:auto}.service-table-filters .contacts-filter-inline-meta{flex-shrink:0}.service-table-empty{padding:1.25rem 1rem}.service-table-wrap .service-table thead th{text-transform:uppercase;letter-spacing:.03em;color:#64748b;background:#f8fafc;border-top:0;font-size:.78rem}.service-table-wrap .service-table tbody td{vertical-align:middle;padding-top:.65rem;padding-bottom:.65rem}.service-table .sortable-th.service-col-submitted .sort-btn{text-align:right;width:100%;padding-right:.35rem}.service-table tbody tr.service-row-emergency td{background:#fff5f5}.service-table tbody tr.service-row-emergency:nth-child(2n) td{background:#fef2f2}.service-col-status .service-request-pill{color:#475569;background:0 0;border:1px solid #e2e8f0;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.service-col-status .service-request-pill.status-submitted{color:#1e40af;border-color:#93c5fd}.service-col-status .service-request-pill.status-acknowledged{color:#3730a3;border-color:#a5b4fc}.service-col-status .service-request-pill.status-scheduled{color:#92400e;border-color:#fcd34d}.service-col-status .service-request-pill.status-in_progress{color:#9a3412;border-color:#fdba74}.service-col-status .service-request-pill.status-completed{color:#166534;border-color:#86efac}.service-col-status .service-request-pill.status-cancelled{color:#64748b;border-color:#e2e8f0}.service-table tbody tr.service-row-stale .service-col-submitted,.service-table tbody tr.service-row-overdue .service-col-submitted{color:#b91c1c}.service-table tbody tr.service-row-high td:first-child{box-shadow:inset 3px 0 #ea580c}.service-table tbody tr.service-row-stale td:first-child{box-shadow:inset 3px 0 #db2777}.service-table tbody tr.service-row-overdue td:first-child{box-shadow:inset 3px 0 #dc2626}.service-table tbody tr.row-selected td{background:#e0e7ff!important}.service-table tbody tr.row-selected:hover td{background:#dbeafe!important}.section-page-service-requests .filter-bar-fields{align-items:center}.modal-service-edit{width:min(1040px,100vw - 1.5rem);min-height:0;max-height:calc(100vh - .5rem);position:fixed}.modal-service-edit .modal-title.service-edit-title{min-width:0;font-size:1.05rem;line-height:1.2}.service-edit-head{flex-direction:column;align-items:stretch;gap:.5rem}.service-edit-head-top{justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;display:flex}.service-edit-head-title-wrap{flex-direction:column;gap:.15rem;min-width:0;display:flex}.service-edit-sheet-label{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:.68rem;font-weight:700}.service-edit-head-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;flex-direction:column;gap:.35rem;width:100%;padding:.5rem .65rem;display:flex}.service-edit-head-workflow{flex-wrap:wrap;align-items:center;gap:.35rem .45rem;display:flex}.service-head-select-wrap{margin:0;display:inline-flex}.service-head-select{appearance:none;cursor:pointer;color:var(--asu-navy);background-color:#eef2f7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-position:right .45rem center;background-repeat:no-repeat;border:1px solid #cbd5e1;border-radius:999px;padding:.2rem 1.75rem .2rem .65rem;font-size:.72rem;font-weight:700;line-height:1.3}.service-head-select.priority-emergency{color:#991b1b;background-color:#fee2e2;border-color:#fecaca}.service-head-select.priority-high{color:#9a3412;background-color:#ffedd5;border-color:#fed7aa}.service-head-select.priority-medium{color:#854d0e;background-color:#fef9c3;border-color:#fde68a}.service-head-select.priority-low{color:#475569;background-color:#f1f5f9;border-color:#e2e8f0}.service-head-select.priority-functional_check{color:#1d4ed8;background-color:#dbeafe;border-color:#93c5fd}.service-head-select.service-head-status{background-color:#fff}.service-head-select.status-submitted{color:#1e40af;background-color:#dbeafe;border-color:#93c5fd}.service-head-select.status-acknowledged{color:#3730a3;background-color:#e0e7ff;border-color:#a5b4fc}.service-head-select.status-scheduled{color:#92400e;background-color:#fef3c7;border-color:#fcd34d}.service-head-select.status-in_progress{color:#9a3412;background-color:#ffedd5;border-color:#fdba74}.service-head-select.status-completed{color:#166534;background-color:#dcfce7;border-color:#86efac}.service-head-select.status-cancelled{color:#475569;background-color:#f1f5f9;border-color:#e2e8f0}.service-quick-btn{color:var(--asu-navy);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.18rem .6rem;font-size:.72rem;font-weight:700;line-height:1.3}.service-quick-btn:hover{background:#eef2ff;border-color:#a5b4fc}.service-quick-btn-primary{background:var(--asu-navy);color:#fff;border-color:var(--asu-navy)}.service-quick-btn-primary:hover{background:#1e3a8a;border-color:#1e3a8a}.service-edit-head-date{color:#94a3b8;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem}.service-edit-head-contact{flex-wrap:wrap;align-items:center;gap:.15rem .35rem;padding:0;font-size:.8125rem;line-height:1.35;display:flex}.service-head-service-date{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.12rem .45rem;font-size:.78rem;font-weight:600}.service-head-service-date.is-overdue{color:#991b1b;background:#fee2e2;border-color:#fecaca}.service-head-contact-link{color:var(--asu-navy);font-weight:600;text-decoration:none}.service-head-contact-link:hover{text-decoration:underline}.service-head-contact-text{color:#334155;font-weight:600}.service-head-contact-sep{color:#94a3b8}.service-head-submitter{color:var(--muted);font-size:.82rem}.modal-service-edit .modal-scroll{flex:0 auto;min-height:0;padding:.55rem 1rem 0}.service-edit-scroll{min-height:0}.modal-service-edit .modal-columns{align-items:stretch;gap:.85rem 1.25rem}.modal-service-edit .service-description-field textarea{resize:vertical;min-height:5rem}.modal-service-edit .service-admin-notes textarea{resize:vertical;min-height:7rem}.modal-service-edit .service-billing-hint{margin-top:.35rem}.modal-service-edit .field-label-muted{color:var(--muted);font-weight:500}.service-ticket-sheet{flex-direction:column;gap:.35rem;min-width:0;display:flex}.modal-service-edit .service-ticket-grid{gap:.55rem;margin-bottom:0}.modal-service-edit .service-ticket-grid input,.modal-service-edit .service-ticket-grid select,.modal-service-edit .service-ticket-grid textarea{box-sizing:border-box;width:100%}.modal-service-edit .service-note-preview{margin-bottom:0}.service-note-preview{border:1px solid #e2e8f0;border-left:3px solid var(--asu-navy);background:#f8fafc;border-radius:.375rem;padding:.45rem .65rem}.service-note-preview .service-note-stamp{color:var(--muted);margin-bottom:.1rem;font-size:.68rem;font-weight:600}.service-note-preview-body{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.35;display:-webkit-box;overflow:hidden}.modal-service-edit .service-billing-hint{margin:.35rem 0 .15rem}.modal-service-edit .service-ticket-priority{font-weight:500}.modal-service-edit .service-ticket-priority.priority-emergency{color:#b42318;background-color:#fff5f5;border-color:#fecaca}.modal-service-edit .service-ticket-priority.priority-high{color:#c05621;background-color:#fffaf5;border-color:#fed7aa}.modal-service-edit .service-ticket-priority.priority-medium{color:#a16207;background-color:#fefdf6;border-color:#fde68a}.modal-service-edit .service-ticket-priority.priority-low{color:#64748b;background-color:#f8fafc;border-color:#e2e8f0}.modal-service-edit .service-ticket-priority.priority-functional_check{color:#0369a1;background-color:#f0f9ff;border-color:#bae6fd}.service-sheet-nav{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:0;width:100%;margin-top:.25rem;display:flex}.service-sheet-btn{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:.35rem;margin-bottom:-1px;padding:.4rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.2;display:inline-flex}.service-sheet-btn:hover{color:var(--asu-navy);background:0 0}.service-sheet-btn.is-active{color:var(--asu-navy);border-bottom-color:var(--asu-navy);background:0 0}.service-sheet-badge{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;padding:0 .3rem;font-size:.68rem;font-weight:800;display:inline-flex}.service-sheet-btn.is-active .service-sheet-badge{background:var(--asu-navy);color:#fff}.service-sheet-body{padding-top:.35rem}.service-notes-sheet{flex-direction:column;gap:.55rem;min-height:0;display:flex}.service-notes-compose{border-bottom:1px solid #e2e8f0;flex-direction:row;align-items:flex-end;gap:.5rem;padding-bottom:.55rem;display:flex}.service-notes-compose-field{flex-direction:column;flex:1;gap:.28rem;min-width:0;display:flex}.service-notes-compose-field textarea{resize:vertical;min-height:4.25rem}.service-notes-add-btn{white-space:nowrap;flex-shrink:0;align-self:flex-end;min-height:2.05rem;margin-bottom:.05rem}.service-notes-section-label{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;margin:.15rem 0 .35rem;font-size:.72rem;font-weight:700}.service-notes-empty{margin:0}.service-notes-list{flex-direction:column;flex:1;gap:.45rem;min-height:0;max-height:none;padding-right:.15rem;display:flex;overflow-y:auto}.service-note-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;padding:.5rem .65rem}.service-note-stamp{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:block}.service-note-body{color:#334155;white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.45}.service-notes-billing{margin:0;padding:0 .15rem}@media (width<=900px){.service-notes-compose{flex-direction:column;align-items:stretch}.service-notes-add-btn{width:100%;margin-bottom:0}}.property-pick-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.property-pick-field .property-filter-combobox-wrap{width:100%}.property-pick-input{box-sizing:border-box;width:100%}.property-pick-input-invalid{border-color:var(--fail)!important}.service-subdialog-layer{z-index:40;background:#0f172a66;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:absolute;inset:0}.service-subdialog{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;width:min(420px,100%);padding:1rem 1.15rem .95rem;box-shadow:0 12px 40px #0f172a33}.service-subdialog-title{color:var(--asu-navy);margin:0 0 .35rem;font-size:1.05rem}.service-subdialog-desc{color:#64748b;margin:0 0 .65rem;font-size:.88rem;line-height:1.45}.service-subdialog-field{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.service-subdialog-field textarea{resize:vertical;min-height:5rem}.service-subdialog-foot{justify-content:flex-end;gap:.5rem;display:flex}.modal-install-edit .property-pick-panel,.modal-service-edit .property-pick-panel{z-index:30;max-height:16rem}@media (width<=900px){.modal-service-edit{width:calc(100vw - 1rem);min-height:0}}.dev-mode-banner{text-align:center;letter-spacing:.02em;color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;margin:0;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.modal-head{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.modal-head-compact{align-items:center;padding:.85rem 1.15rem}.modal-title{color:var(--asu-navy);min-width:0;margin:0;font-size:1.15rem;line-height:1.3}.modal-close{flex-shrink:0}.modal-head-main{min-width:0}.modal-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.modal-head h2{color:var(--asu-navy);margin:0;font-size:1.35rem}.modal-sub{color:var(--muted);margin:.35rem 0 .65rem;font-size:.88rem}.modal-status-row{flex-wrap:wrap;gap:.4rem;display:flex}.status-chip{letter-spacing:.02em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.status-chip.install{color:#1d4ed8;background:#dbeafe}.status-chip.approval{color:#b45309;background:#fef3c7}.status-chip.billing{color:#15803d;background:#dcfce7}.modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-scroll{flex:1;min-height:0;padding:1rem 1.25rem 0;overflow:hidden auto}.modal-body{flex:1;padding:1.25rem 1.5rem 0}.modal-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.65rem 1rem;display:grid}.modal-col{flex-direction:column;gap:.65rem;min-width:0;display:flex}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.55rem;overflow:hidden}.form-section-head{background:#fff;border-bottom:1px solid #e8edf3;padding:.75rem 1rem .5rem}.form-section-title{color:var(--asu-navy);margin:0;font-size:.92rem;font-weight:700}.form-section-desc{color:var(--muted);margin:.25rem 0 0;font-size:.78rem;line-height:1.35}.form-section-body{padding:.85rem 1rem 1rem}.field-grid{gap:.75rem;display:grid}.field-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.field-grid label,.field-block{flex-direction:column;gap:.35rem;display:flex}.field-grid label.span-2,.field-block{grid-column:span 2}.field-label{color:#475569;font-size:.78rem;font-weight:600}.field-grid label.field-state-red input,.field-grid label.field-state-red select,.field-grid label.field-state-red textarea{background:color-mix(in srgb, var(--fail) 6%, #fff);border-color:color-mix(in srgb, var(--fail) 20%, #cbd5e1)}.field-grid label.field-state-warn input,.field-grid label.field-state-warn select,.field-grid label.field-state-warn textarea{background:color-mix(in srgb, var(--warn) 7%, #fff);border-color:color-mix(in srgb, var(--warn) 20%, #cbd5e1)}.field-grid label.field-state-green input,.field-grid label.field-state-green select,.field-grid label.field-state-green textarea{background:color-mix(in srgb, var(--pass) 6%, #fff);border-color:color-mix(in srgb, var(--pass) 20%, #cbd5e1)}.field-grid input,.field-grid select,.field-grid textarea,.field-block textarea{color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:.4rem;padding:.55rem .7rem;font-size:.95rem;font-weight:400}.field-grid input.readonly,.field-grid input:read-only{color:var(--muted);background:#f1f5f9}.mono-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem!important}.input-money{display:block;position:relative}.input-money-symbol{color:#94a3b8;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.88rem;font-weight:500;line-height:1;position:absolute;top:50%;left:.62rem;transform:translateY(-50%)}.input-money input{font-variant-numeric:tabular-nums;width:100%;padding-left:1.45rem}.modal-foot{background:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;padding:.85rem 1.25rem;display:flex}.btn-muted{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.35rem;padding:.55rem 1rem;font-weight:600}.btn-muted:hover:not(:disabled){background:#e2e8f0}.spacer{flex:1}.btn-primary{background:var(--asu-navy);color:#fff;cursor:pointer;border:none;border-radius:.35rem;padding:.55rem 1rem;font-weight:600}.btn-danger,.btn-danger-outline{cursor:pointer;border-radius:.35rem;padding:.55rem 1rem;font-weight:600}.btn-danger{background:var(--fail);color:#fff;border:none}.btn-danger-outline{color:var(--fail);border:1px solid var(--fail);background:0 0}.btn-complete-outline{color:#166534;cursor:pointer;background:0 0;border:1px solid #86efac;border-radius:.35rem;padding:.55rem 1rem;font-weight:600}.btn-complete-outline:hover:not(:disabled){background:#f0fdf4;border-color:#4ade80}.btn-complete-outline:disabled{opacity:.55;cursor:not-allowed}.modal-install-edit .btn-complete-outline{padding:.45rem .85rem;font-size:.88rem}.btn-ghost{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:1.25rem}.form-error{color:var(--fail);font-size:.9rem}.delete-warn{color:var(--fail);margin:0;font-weight:600}.admin-map-block{flex-direction:column;gap:.5rem;display:flex}.admin-map-embed{background:#f1f5f9;border:0;border-radius:.35rem;width:100%;height:220px}.admin-map-link{color:var(--asu-navy);font-size:.85rem}.admin-linked-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.admin-linked-pick{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.35rem;flex-direction:column;gap:.15rem;width:100%;padding:.55rem .75rem;display:flex}.admin-linked-pick:hover{background:#eef2ff;border-color:#c7d2fe}.admin-linked-name{font-weight:600}.admin-linked-meta{color:var(--muted);font-size:.85rem}.admin-assignment-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.admin-assign-add{gap:.5rem;margin-top:.75rem;display:flex}.admin-assign-add input{flex:1}.admin-muted-line{color:var(--muted);margin:0;font-size:.9rem}.checkbox-field{align-self:end;align-items:center;gap:.5rem;padding-bottom:.35rem;display:flex}.delete-confirm-text{color:var(--fail);text-align:left;flex:1;margin:0;font-weight:600}.meta{margin-bottom:1rem;font-size:.9rem}.forbidden-page{place-items:center;min-height:100svh;padding:2rem;display:grid}.forbidden-card{background:var(--card);border-radius:.65rem;max-width:480px;padding:2rem;box-shadow:0 4px 20px #00000014}.forbidden-card h1{color:var(--fail);margin-top:0}.hint{color:var(--muted);font-size:.9rem}@media (width<=900px){.modal-columns,.field-grid-2{grid-template-columns:1fr}.field-grid label.span-2,.field-block{grid-column:span 1}}@media (width<=640px){.admin-main{padding:1rem}.modal-wide{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}}
