:root{color:#202925;font-synthesis:none;text-rendering:optimizelegibility;--ink:#202925;--muted:#727a75;--line:#dfe3df;--accent:#26715a;background:#f5f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.sign-in-page{place-items:center;min-height:100vh;padding:24px;display:grid}.sign-in-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(100%,380px);padding:40px;box-shadow:0 16px 48px #26352b0d}.brand-mark{color:#fff;background:var(--accent);border-radius:10px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:23px;display:grid}.brand-mark.small{vertical-align:middle;border-radius:8px;width:28px;height:28px;margin-right:10px;font-size:18px;display:inline-grid}.eyebrow{color:var(--accent);letter-spacing:.13em;margin:28px 0 8px;font-size:11px;font-weight:700}h1{letter-spacing:-.035em;margin:0 0 26px;font-size:28px;font-weight:600}form{gap:9px;display:grid}label{color:#414b45;margin-top:8px;font-size:13px;font-weight:600}input{border:1px solid #cfd6d1;border-radius:7px;outline:none;height:44px;padding:0 12px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #26715a20}form button{color:#fff;background:var(--accent);border:0;border-radius:7px;height:45px;margin-top:13px;font-weight:600}form button:hover{background:#1f604b}.form-error{color:#a12b2b;margin:2px 0 0;font-size:13px}.secure-note{color:var(--muted);text-align:center;margin:24px 0 0;font-size:12px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 32px;display:flex}.wordmark{color:var(--ink);font-weight:650;text-decoration:none}.account{color:#525c56;align-items:center;gap:18px;font-size:14px;display:flex}.sign-out{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:7px 12px}.welcome{width:min(900px,100% - 48px);margin:100px auto}.welcome .eyebrow{margin-top:0}.welcome h1{margin-bottom:10px}.welcome>p:last-of-type{color:var(--muted)}.shell-nav{align-items:center;gap:8px;display:flex}.shell-nav a{color:#46524b;border-radius:7px;padding:9px 13px;font-size:14px;font-weight:600;text-decoration:none}.shell-nav a:hover,.shell-nav a:focus-visible{color:var(--accent);background:#edf4f0;outline:none}.global-search{flex:220px;max-width:340px;margin:0 12px;position:relative}.global-search>input{background:#f8faf8;width:100%;height:39px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.global-search-results{z-index:10;border:1px solid var(--line);background:#fff;border-radius:9px;max-height:min(65vh,480px);position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 36px #26352b1c}.search-result-company{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;background:#f7faf8;padding:8px 13px 5px;font-size:10px;font-weight:700}.global-search-result{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ed;padding:11px 13px;display:block}.global-search-result:last-child{border-bottom:0}.global-search-result:hover,.global-search-result[aria-selected=true]{background:#edf4f0}.search-result-topline{justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:650;display:flex}.search-result-topline small{color:var(--accent);text-transform:uppercase;font-size:10px}.search-result-detail{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45;display:block}.search-empty{color:var(--muted);margin:0;padding:14px;font-size:13px}.contact-form{grid-template-columns:repeat(3,minmax(150px,1fr))}.contact-form label{gap:6px;margin:0;display:grid}.field-error{color:#9a302d;font-size:12px;line-height:1.35}input[aria-invalid=true],select[aria-invalid=true]{border-color:#bd514b;box-shadow:0 0 0 2px #bd514b1f}.contact-form input,.contact-form select{width:100%;height:40px}.contact-form button{color:#fff;background:var(--accent);border:0;border-radius:7px;align-self:end;min-height:40px;padding:0 14px;font-weight:600}.contact-form .secondary-button{color:var(--ink);border:1px solid var(--line);background:#fff}.welcome:has(.admin-page){width:min(1180px,100% - 48px);margin:54px auto 80px}.admin-page h1{margin-bottom:8px}.admin-description{color:var(--muted);margin:0 0 22px}.admin-tabs{border-bottom:1px solid var(--line);gap:8px;margin:0 0 22px;display:flex}.admin-tabs a{color:#536057;border-bottom:2px solid #0000;padding:10px 14px;font-weight:600;text-decoration:none}.admin-tabs a:hover,.admin-tabs a:focus-visible{color:var(--accent);outline:none}.admin-tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin:0 0 20px;padding:22px}.admin-panel h2{align-items:center;gap:10px;margin:0 0 16px;font-size:17px;font-weight:650;display:flex}.count{color:#516158;background:#eef2ef;border-radius:12px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;display:inline-grid}.admin-create-form{grid-template-columns:repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:13px;display:grid}.admin-create-form label,.audit-filters label{gap:6px;margin:0;display:grid}.admin-create-form input,.admin-create-form select,.audit-filters input,.audit-filters select,.role-control select,.reset-password-form input{width:100%;min-width:0;height:41px}.admin-create-form button,.filter-actions button,.reset-password-form button{color:#fff;background:var(--accent);border:0;border-radius:7px;height:41px;padding:0 15px;font-weight:600}.admin-create-form button:disabled,.filter-actions button:disabled,.reset-password-form button:disabled{cursor:wait;opacity:.7}.admin-message{border-radius:7px;padding:11px 14px;font-size:14px}.admin-message.error{color:#892b29;background:#fff0ef}.admin-message.success{color:#20523d;background:#eaf5ee}.table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.admin-table th,.admin-table td{vertical-align:middle;border-bottom:1px solid #edf0ed;padding:12px 10px}.admin-table thead th{color:#68736c;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:11px}.admin-table tbody tr:last-child>*{border-bottom:0}.admin-table tbody th{min-width:135px;font-weight:500}.user-display-name,.user-username{display:block}.user-display-name{color:var(--ink);font-weight:650}.user-username{color:var(--muted);margin-top:3px;font-size:12px}.role-control,.user-actions{align-items:center;gap:7px;display:flex}.role-control select{width:auto;min-width:95px;height:34px;padding:0 8px}.small-button,.secondary-button{border:1px solid var(--line);color:#34413a;white-space:nowrap;background:#fff;border-radius:6px;min-height:34px;padding:6px 9px;font-size:12px;font-weight:600}.small-button:hover,.secondary-button:hover{background:#f7faf8;border-color:#9fb4a7}.status-pill{color:#20523d;background:#eaf5ee;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-block}.status-pill.disabled{color:#8c3731;background:#fff0ef}.reset-password-form{background:#f6f8f6;border-radius:8px;flex-wrap:wrap;align-items:end;gap:9px;margin-top:18px;padding:16px;display:flex}.reset-password-form label{flex-basis:100%;margin:0}.reset-password-form input{flex:220px}.reset-password-form .secondary-button,.filter-actions .secondary-button{color:#34413a;border:1px solid var(--line);background:#fff}.audit-filters{grid-template-columns:repeat(3,minmax(145px,1fr));align-items:end;gap:14px;display:grid}.audit-search{grid-column:span 2}.filter-actions{gap:8px;display:flex}.filter-actions .secondary-button{height:41px}.audit-results{padding:0}.audit-results .admin-table td{max-width:260px}.audit-results code{color:#285941;font-size:12px}.audit-results details pre{background:#f6f8f6;border-radius:6px;max-width:320px;max-height:180px;padding:10px;font-size:11px;overflow:auto}.empty-state{color:var(--muted);text-align:center;padding:24px}.load-more-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;margin:8px auto 18px;padding:9px 14px;font-weight:600;display:block}.load-more-button:hover{background:#f7faf8}.catalog-page h1{margin-bottom:8px}.catalog-page .eyebrow{margin-top:0}.catalog-page{width:100%}.catalog-tabs{border-bottom:1px solid var(--line);gap:8px;margin:24px 0 18px;display:flex}.catalog-tabs a{color:#536057;border-bottom:2px solid #0000;padding:10px 14px;font-weight:600;text-decoration:none}.catalog-tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.catalog-tabs a:hover,.catalog-tabs a:focus-visible{color:var(--accent);outline:none}.catalog-panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:20px;padding:22px}.catalog-panel h2{align-items:center;gap:10px;margin:0 0 16px;font-size:17px;font-weight:650;display:flex}.catalog-form{background:#f6f8f6;border-radius:8px;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.catalog-form label{gap:6px;margin:0;display:grid}.catalog-form input,.catalog-form select{width:100%;min-width:0;height:40px}.catalog-form button[type=submit]{color:#fff;background:var(--accent);border:0;border-radius:7px;min-height:40px;padding:0 14px;font-weight:600}.company-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1.5fr) auto auto}.property-form,.master-form{grid-template-columns:repeat(4,minmax(140px,1fr))}.catalog-list{border-top:1px solid #edf0ed}.catalog-record{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:flex-start;gap:20px;padding:15px 4px;display:flex}.catalog-record p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.catalog-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.danger-button{color:#8c3731}.restricted-label{color:var(--muted);align-self:center;font-size:12px}.restricted-note{color:var(--muted);margin:15px 0 0;font-size:13px}.code-details{flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;display:flex}.code-details div{min-width:130px}.code-details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.code-details dd{color:#214d3b;margin:4px 0 0;font-weight:600}.hooks-page h1{margin-bottom:8px}.hooks-page .eyebrow{margin-top:0}.hook-inventory{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:22px 0;display:grid}.hook-inventory article{border:1px solid var(--line);background:#fff;border-radius:9px;gap:5px;padding:16px;display:grid}.hook-inventory strong{font-size:21px;font-weight:650}.hook-inventory span,.hook-block-list article span{color:var(--muted);font-size:12px}.hook-controls h2,.renumber-preview h2,.hook-list h2{margin-bottom:14px}.hook-block-list{gap:9px;display:grid}.hook-block-list article{background:#f6f8f6;border-radius:7px;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:11px 12px;font-size:13px;display:flex}.hook-tools{flex-wrap:wrap;align-items:end;gap:10px;margin-top:15px;display:flex}.hook-tools label{color:#414b45;gap:6px;margin:0;font-size:12px;font-weight:600;display:grid}.hook-tools input{width:125px;height:38px}.hook-tools button{color:#fff;background:var(--accent);border:0;border-radius:7px;min-height:38px;padding:0 13px;font-weight:600}.hook-tools .secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff}.renumber-preview>p{color:var(--muted);font-size:13px}.hook-move-cell{white-space:nowrap;min-width:170px}.hook-move-cell input{width:72px;height:34px;margin-right:6px}.hook-move-cell button:disabled{cursor:not-allowed;opacity:.5}.print-hide{color:var(--accent);font-weight:600}.welcome:has(.work-orders-page){width:min(1180px,100% - 48px);margin:54px auto 80px}.work-orders-page>.eyebrow{margin-top:0}.work-order-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.work-order-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.work-order-heading-actions button:disabled{cursor:wait;opacity:.65}.work-order-heading h1{align-items:center;gap:10px;margin:0 0 8px;display:flex}.work-order-heading .admin-description{margin-bottom:0}.work-order-heading>button,.form-actions>button:not(.secondary-button),.work-order-submit>button{color:#fff;background:var(--accent);border:0;border-radius:7px;min-height:40px;padding:0 15px;font-weight:650}.work-order-heading>button:hover,.form-actions>button:not(.secondary-button):hover,.work-order-submit>button:hover{background:#1f604b}.work-order-filter-panel,.work-order-list-panel,.work-order-section{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:18px;padding:22px}.work-order-filters{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr));align-items:end;gap:13px;display:grid}.work-order-filters label,.work-order-grid label,.work-order-item-row label,.incoming-key-row label{gap:6px;margin:0;display:grid}.work-order-filters input,.work-order-filters select,.work-order-grid input,.work-order-grid select,.work-order-grid textarea,.work-order-item-row input,.incoming-key-row input,.inline-contact-grid input,.inline-contact-grid select,.contact-combobox>input,.company-autofill input{background:#fff;border:1px solid #cfd6d1;border-radius:7px;width:100%;min-width:0;min-height:40px;padding:8px 11px}.work-order-filters input:focus,.work-order-filters select:focus,.work-order-grid input:focus,.work-order-grid select:focus,.work-order-grid textarea:focus,.work-order-item-row input:focus,.incoming-key-row input:focus,.contact-combobox>input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #26715a20}.work-order-filters .form-actions{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-order-list-panel h2{align-items:center;gap:10px;margin:0 0 12px;font-size:17px;display:flex}.work-order-table{min-width:950px}.work-order-table tbody th{min-width:100px}.work-order-table select{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:120px;height:35px;padding:0 8px}.table-secondary{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4;display:block}.work-order-link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:700}.work-order-link:hover{text-decoration:underline}.work-order-form{gap:14px;display:grid}.work-order-form button{height:auto;margin-top:0}.work-order-section{margin:0}.work-order-section>h2{margin:0 0 16px;font-size:17px;font-weight:650}.work-order-grid{grid-template-columns:repeat(3,minmax(160px,1fr));align-items:start;gap:14px;display:grid}.work-order-grid label{color:#414b45;font-size:13px;font-weight:600}.contact-pick-grid{grid-template-columns:minmax(260px,1fr) minmax(220px,1fr);align-items:end}.contact-combobox{color:#414b45;gap:6px;font-size:13px;font-weight:600;display:grid;position:relative}.contact-suggestions{z-index:10;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:260px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #26352b1c}.contact-suggestions button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ed;gap:3px;width:100%;padding:10px 12px;display:grid}.contact-suggestions button:hover,.contact-suggestions button[aria-selected=true]{background:#edf4f0}.contact-suggestions button strong{font-size:13px}.contact-suggestions button span{color:var(--muted);font-size:12px}.selected-contact{flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:40px;padding:8px 0;font-size:13px;display:flex}.selected-contact>span{color:var(--muted)}.muted-copy{color:var(--muted);font-size:12px}.inline-contact-toggle{margin-top:16px}.inline-contact-panel{border:1px solid var(--line);background:#f8faf8;border-radius:8px;margin-top:15px;padding:16px}.inline-contact-panel h3,.work-order-subsection h3{margin:0 0 12px;font-size:14px}.inline-contact-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.inline-contact-grid label{color:#414b45;gap:6px;margin:0;font-size:12px;font-weight:600;display:grid}.inline-contact-panel .form-actions{margin-top:12px}.work-order-form .secondary-button{color:var(--ink);background:#fff}.company-autofill{color:#414b45;gap:6px;max-width:480px;font-size:13px;font-weight:600;display:grid}.company-autofill input{color:#536057;background:#f7faf8}.address-confirmation{border-left:3px solid var(--accent);background:#edf4f0;border-radius:5px;grid-column:1/-1;gap:4px;padding:13px 15px;font-size:13px;display:grid}.address-confirmation span:last-of-type{color:#435249}.address-confirmation small{color:var(--muted);margin-top:3px}.work-order-master-codes{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;grid-column:1/-1;padding:12px 14px}.work-order-subsection{border-top:1px solid #edf0ed;margin-top:20px;padding-top:18px}.work-order-items{gap:9px;margin-bottom:10px;display:grid}.work-order-item-row{background:#f6f8f6;border-radius:7px;grid-template-columns:1fr 110px 1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.work-order-item-row label,.incoming-key-row label{color:#414b45;font-size:12px;font-weight:600}.work-order-item-row .small-button,.incoming-key-row .small-button{align-self:end;min-height:40px}.incoming-key-row{background:#f6f8f6;border-radius:7px;grid-template-columns:minmax(220px,1fr) 120px auto;align-items:end;gap:10px;margin-bottom:9px;padding:12px;display:grid}.incoming-key-log{color:#526057;margin:0;padding-left:20px;font-size:13px}.incoming-key-log li{margin:5px 0}.work-order-grid .work-order-notes{grid-column:span 2}.work-order-grid textarea{resize:vertical;font:inherit}.work-order-submit{flex-wrap:wrap;align-items:center;gap:14px;padding:4px 2px;display:flex}.work-order-submit>button:disabled{cursor:wait;opacity:.65}.work-order-submit>span{color:var(--muted);font-size:12px}@media (width<=760px){.work-order-grid,.work-order-filters,.inline-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-order-item-row{grid-template-columns:1fr 100px}.work-order-item-row label:first-child,.work-order-item-row label:nth-child(3){grid-column:1/-1}.work-order-item-row .small-button{justify-self:start}}@media (width<=600px){.welcome:has(.work-orders-page){width:calc(100% - 28px);margin-top:32px}.work-order-heading{flex-direction:column;align-items:stretch}.work-order-heading-actions{justify-content:flex-start}.work-order-filters,.work-order-grid,.contact-pick-grid,.inline-contact-grid{grid-template-columns:1fr}.work-order-filter-panel,.work-order-list-panel,.work-order-section{padding:16px}.work-order-grid .work-order-notes,.address-confirmation{grid-column:auto}.incoming-key-row{grid-template-columns:1fr 90px}.incoming-key-row label:first-child{grid-column:1/-1}.incoming-key-row .small-button{justify-self:start}}@media (width<=760px){.hook-inventory{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media print{@page{margin:12mm}body{color:#000;background:#fff;min-width:0;font-size:10pt}.topbar,.hooks-page>.eyebrow,.hooks-page>h1,.hooks-page>.admin-description,.hooks-page>.admin-message,.hook-inventory,.hook-controls,.renumber-preview,.screen-only{display:none!important}.welcome,.hooks-page{width:100%!important;margin:0!important}.hook-list{border:0!important;padding:0!important}.hook-list h2{margin:0 0 10px!important;font-size:17pt!important}.admin-table{font-size:9pt}.admin-table th,.admin-table td{border-color:#bbb;padding:5px 6px}.print-hide{display:none}}@media (width<=520px){.sign-in-card{padding:30px 24px}.topbar{padding:0 16px}.welcome{margin-top:60px}}@media (width<=850px){.admin-create-form{grid-template-columns:repeat(2,minmax(140px,1fr))}.admin-create-form>button{align-self:end}}@media (width<=600px){.topbar{flex-wrap:wrap;gap:5px;height:auto;min-height:68px;padding-top:9px;padding-bottom:9px}.topbar .wordmark{order:0}.topbar .account{order:1;gap:8px;font-size:12px}.topbar .shell-nav{flex-basis:100%;order:2}.topbar .global-search{flex-basis:100%;order:3;max-width:none;margin:4px 0}.welcome:has(.admin-page){width:calc(100% - 28px);margin-top:32px}.admin-create-form,.audit-filters,.company-form,.property-form,.master-form,.contact-form{grid-template-columns:1fr}.audit-search{grid-column:auto}.admin-panel,.catalog-panel{padding:16px}.user-actions{flex-direction:column;align-items:flex-start}.catalog-record{flex-direction:column}.catalog-actions{justify-content:flex-start}.hook-inventory{grid-template-columns:repeat(2,minmax(100px,1fr))}}
