:root{--bg:#f6f5f1;--surface:#fff;--text:#1f2a1f;--muted:#5b665b;--accent:#2f5d3a;--accent-hover:#244a2d;--border:#dcdcd2;--error:#a3261b;--error-bg:#fbeceb;--info-bg:#e8f0e9;--badge-draft:#e7e5dc;--badge-published:#d8ecdc;--badge-cancelled:#f6dcd8;--badge-completed:#dde4ef;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#141814;--surface:#1d231d;--text:#e8ebe6;--muted:#a3ada3;--accent:#6fa77b;--accent-hover:#86bb91;--border:#2e372e;--error:#ff8a7d;--error-bg:#3a1f1c;--info-bg:#213325;--badge-draft:#33362f;--badge-published:#234029;--badge-cancelled:#4a2622;--badge-completed:#26324a}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}.shell{align-content:center;place-items:center;gap:16px;min-height:calc(100vh - 56px);padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:32px}.card h1{margin:0 0 8px;font-size:1.5rem}.muted{color:var(--muted)}.error{color:var(--error)}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:10px 18px}button:hover{background:var(--accent-hover)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.secondary{color:var(--text);border-color:var(--border);background:0 0}button.secondary:hover{background:var(--bg)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex}.brand{font-weight:600}.user{align-items:center;gap:12px;font-size:.9rem;display:flex}.card h2{margin:0 0 12px;font-size:1.1rem}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{background:var(--surface);z-index:10;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}a{color:var(--accent)}a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}a.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;padding:10px 18px;line-height:normal;text-decoration:none;display:inline-block}a.button:hover{background:var(--accent-hover)}a.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.button.secondary{color:var(--text);border-color:var(--border);background:0 0}a.button.secondary:hover{background:var(--bg)}button.small,a.button.small{padding:6px 12px;font-size:.9rem}button.danger{background:var(--error);border-color:var(--error)}button.danger:hover{background:var(--error);filter:brightness(.9)}button.danger:focus-visible{outline-color:var(--error)}.topbar{gap:16px;position:relative}.mainnav{flex:1;gap:4px;display:flex}.mainnav a{color:var(--text);border-radius:8px;padding:8px 12px;text-decoration:none}.mainnav a:hover{background:var(--bg)}.mainnav a.active{background:var(--bg);color:var(--accent);font-weight:600}.user-email{align-items:center;gap:6px;display:inline-flex}.role-tag{background:var(--info-bg);color:var(--accent);border-radius:999px;padding:2px 6px;font-size:.75rem}.content{padding:24px 16px 48px}.content:focus{outline:none}.page{gap:16px;max-width:1100px;margin:0 auto;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header h1{overflow-wrap:anywhere;margin:0;font-size:1.6rem}.page-actions{gap:8px;display:flex}.breadcrumb{margin:0}.card--wide{max-width:none;padding:24px}.card h2{margin-top:0}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.empty{color:var(--muted);margin:0}.banner{text-align:center;padding:10px 16px}.banner--info{background:var(--info-bg);border-bottom:1px solid var(--border)}.alert{border-radius:8px;justify-items:start;gap:8px;padding:12px 16px;display:grid}.alert p{margin:0}.alert--error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.form{gap:20px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:12px;padding:0;font-size:1.1rem;font-weight:600}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.span-2{grid-column:1/-1}.coords{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.field{align-content:start;gap:4px;display:grid}.field label,.field .label{font-size:.95rem;font-weight:500}.req{color:var(--error)}.hint{color:var(--muted);margin:0;font-size:.85rem}.field-error{color:var(--error);margin:0;font-size:.875rem}.static-value{margin:0;padding:8px 0}input:not([type=checkbox]),select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:9px 10px}textarea{resize:vertical}.input-short input{text-transform:uppercase;max-width:6rem}input:disabled{opacity:.6}.field--invalid input,.field--invalid select,.field--invalid textarea,[aria-invalid=true]{border-color:var(--error)}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.subform{border:1px dashed var(--border);border-radius:10px;gap:12px;padding:16px;display:grid}.subform-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.subform-header h3{margin:0;font-size:1rem}fieldset>.hint{margin-bottom:10px}fieldset>button{margin-top:10px}.checkbox{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--accent)}.combobox{position:relative}.combobox-list{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:280px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:calc(100% - 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.combobox-list li{cursor:pointer;border-radius:6px;padding:8px 10px}.combobox-list li.active,.combobox-list li[role=option]:hover{background:var(--info-bg)}.combobox-list li.combobox-empty{cursor:default;color:var(--muted)}.selected-location{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:16px 32px;display:flex}.filters legend{margin-bottom:8px;font-size:.95rem}.checkbox-row,.range-row{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.range-row .field{min-width:150px}.address{font-style:normal;line-height:1.5}.notes{white-space:pre-line}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-form .field{min-width:200px}.danger-zone{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.confirm p{margin-top:0}.badge{white-space:nowrap;color:var(--text);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge--draft{background:var(--badge-draft)}.badge--published{background:var(--badge-published)}.badge--cancelled{background:var(--badge-cancelled);text-decoration:line-through}.badge--completed{background:var(--badge-completed)}.responsive-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}.responsive-table th,.responsive-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.responsive-table th{color:var(--muted);background:var(--bg);font-size:.85rem;font-weight:600}.responsive-table tbody tr:last-child td{border-bottom:0}.responsive-table tbody tr:hover{background:var(--bg)}.cell-title{font-weight:600}.cell-notes{white-space:pre-line;max-width:320px}.load-more{justify-self:center}@media (width<=760px){.topbar{flex-wrap:wrap;height:auto;padding:8px 12px}.mainnav{flex-basis:100%;order:3}.user-email{display:none}.form-grid,.coords{grid-template-columns:minmax(0,1fr)}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table{background:0 0;border:0}.responsive-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.responsive-table tr{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:12px 14px}.responsive-table td{border:0;grid-template-columns:9rem 1fr;gap:8px;padding:4px 0;display:grid}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:.85rem}.responsive-table td.cell-title{padding-bottom:8px;font-size:1.05rem;display:block}.responsive-table td.cell-title:before,.responsive-table td[data-label=""]:before{content:none}}
