:root{color-scheme:light;font-family:Bahnschrift,Segoe UI,sans-serif;line-height:1.5;font-weight:400;--bg: #f3f6f8;--ink: #173042;--muted: #627989;--panel: rgba(255, 255, 255, .88);--panel-strong: #ffffff;--line: rgba(23, 48, 66, .12);--brand: #00467a;--brand-soft: #d9ebf7;--brand-deep: #0f2f4b;--accent: #ea580c;--accent-soft: #ffe7d8;--success: #0f7b53;--success-soft: #def6ed;--danger: #b42318;--danger-soft: #fee4e2;background:radial-gradient(circle at top left,rgba(0,112,168,.16),transparent 30%),radial-gradient(circle at right 15%,rgba(234,88,12,.14),transparent 24%),linear-gradient(180deg,#f7fafc,#edf3f6);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.topbar-nav,.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.nav-pill{border:1px solid rgba(23,48,66,.1);border-radius:999px;padding:10px 14px;background:#ffffffb3;color:var(--ink);font-weight:700}.nav-pill--active{background:var(--brand-soft);color:var(--brand-deep);border-color:#00467a42}.portal-shell{min-height:100vh;padding:32px}.portal-shell--loading,.portal-shell--auth{display:grid;place-items:center}.loading-card,.auth-card,.panel,.hero-panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 30px 80px #1227361f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.workspace-grid--bulletin{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.help-panel{display:grid;gap:24px}.bulletin-search-form,.bulletin-list,.faq-grid{display:grid;gap:16px}.faq-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.faq-grid--compact{margin-top:18px}.bulletin-card,.faq-card{padding:18px;border-radius:22px;border:1px solid rgba(23,48,66,.08);background:#ffffffd1}.loading-card{width:min(540px,100%);padding:36px;border-radius:28px}.hero-panel{width:min(1200px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,420px);gap:32px;padding:32px;border-radius:32px}.bulletin-card__header,.bulletin-card__meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.hero-copy{padding:16px}.bulletin-card__address,.faq-card p,.modal-card p{color:var(--muted)}.bulletin-card__address{margin:14px 0 10px}.bulletin-card__meta{margin-bottom:14px;color:var(--muted)}.hero-copy h1,.topbar h1{margin:0 0 16px;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.04em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f2f4b57;display:grid;place-items:center;padding:20px}.modal-card{width:min(560px,100%);padding:24px;border-radius:28px;background:var(--panel-strong);border:1px solid var(--line);box-shadow:0 30px 80px #12273633}.hero-copy p,.topbar p,.loading-card p,.empty-state p,.project-card p,.panel-note,.panel-subtitle,.selection-header span,.field-error{color:var(--muted)}.hero-points{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:12px}.hero-points li{padding:14px 18px;border-radius:18px;background:#ffffffb3;border:1px solid rgba(23,48,66,.08)}.auth-card,.panel{border-radius:28px}.auth-card{padding:28px;display:grid;gap:18px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.topbar-actions{display:flex;align-items:center;gap:14px}.status-pill{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:140px;padding:14px 18px;border-radius:20px;background:#ffffffbd;border:1px solid rgba(23,48,66,.08)}.status-pill strong{font-size:1.5rem}.workspace-grid{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:24px;align-items:start}.editor-stack{display:grid;gap:24px}.panel{padding:24px}.panel-header,.panel-header--with-action{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.panel-title{display:block;font-size:1.05rem;font-weight:700;margin-bottom:4px}.project-list{display:grid;gap:14px}.project-card{overflow:hidden;border-radius:22px;border:1px solid rgba(23,48,66,.08);background:#ffffffd6}.project-card--active{border-color:#00467a52;box-shadow:inset 0 0 0 1px #00467a2e}.project-card__body{width:100%;border:0;background:transparent;text-align:left;padding:18px}.project-card__headline,.project-card__meta,.project-card__footer,.map-legend,.inline-actions,.selection-header,.form-actions,.checkbox-field,.checkbox-field--compact,.chip-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.project-card__headline,.project-card__meta,.project-card__footer,.selection-header,.form-actions{justify-content:space-between}.project-card h2{margin:14px 0 10px;font-size:1.15rem}.timestamp,.tag,.chip,.type-pill span,.panel-note{font-size:.9rem}.tag,.chip,.choice-chip,.type-pill,.mini-map-indicator{border-radius:999px}.tag{display:inline-flex;padding:8px 12px;background:var(--brand-soft);color:var(--brand-deep);font-weight:700}.chip-row{margin-top:14px}.chip{padding:7px 10px;background:#00467a14;color:var(--brand-deep)}.project-card__footer{padding:0 18px 18px}.mini-map-indicator{width:112px;height:40px;overflow:hidden;background:linear-gradient(135deg,#dbeaf4,#f4f8fb)}.mini-map-indicator svg{width:100%;height:100%}.mini-map-indicator rect{fill:transparent}.mini-map-indicator circle:first-of-type{fill:#00467a29}.mini-map-indicator circle:last-of-type{fill:var(--brand)}.type-switcher,.choice-grid{display:grid;gap:12px}.type-switcher{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}.type-pill{border:1px solid rgba(23,48,66,.12);background:#ffffffd6;padding:16px;display:grid;gap:4px;text-align:left}.type-pill strong{font-size:1rem}.type-pill--active{border-color:#00467a5c;background:linear-gradient(180deg,#fff,#ecf5fb);box-shadow:inset 0 0 0 1px #00467a2e}.entry-form{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field,.selection-group,.map-card{display:grid;gap:8px}.field--wide{grid-column:1 / -1}.field span,.selection-header strong{font-weight:700}.field input,.field select,.inline-actions input{width:100%;border:1px solid rgba(23,48,66,.12);border-radius:16px;padding:14px 16px;background:#ffffffe0;color:var(--ink)}.field input:focus,.field select:focus,.inline-actions input:focus{outline:2px solid rgba(0,70,122,.18);border-color:#00467a57}.field-error{margin:0;color:var(--danger)}.checkbox-field,.checkbox-field--compact{padding:14px 16px;border-radius:16px;background:#ffffffbd;border:1px solid rgba(23,48,66,.08)}.checkbox-field input,.checkbox-field--compact input{width:18px;height:18px}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.match-filter-block,.match-list,.notification-preferences-card,.notification-preferences-grid{display:grid;gap:16px}.notification-preferences-card{margin-top:16px}.notification-preferences-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.match-filter-row,.match-card__meta,.match-card__facts{display:flex;gap:10px;flex-wrap:wrap}.info-callout,.match-card,.fact-pill{border:1px solid rgba(23,48,66,.08);background:#ffffffd1}.info-callout{margin-bottom:16px;padding:16px 18px;border-radius:20px}.info-callout p,.fact-pill span{margin:6px 0 0;color:var(--muted)}.info-callout--soft{background:linear-gradient(180deg,#d9ebf79e,#ffffffd6)}.match-card{padding:18px;border-radius:22px}.match-card h2,.fact-pill strong{margin:10px 0 0}.match-card__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.match-card__meta{margin:14px 0;color:var(--muted)}.match-card__facts{margin-bottom:14px}.fact-pill{min-width:180px;padding:14px 16px;border-radius:18px}.choice-chip{border:1px solid rgba(23,48,66,.12);padding:12px 14px;background:#ffffffd6;color:var(--ink)}.choice-chip--selected{border-color:#00467a61;background:var(--brand-soft);color:var(--brand-deep)}.map-card{padding:20px;border-radius:24px;border:1px solid rgba(23,48,66,.08);background:linear-gradient(180deg,#ffffffe0,#f6fafcf5)}.location-map{width:100%;border-radius:24px;overflow:hidden;border:1px solid rgba(23,48,66,.08)}.location-map:hover{box-shadow:0 0 0 4px #00467a0f}.map-legend{color:var(--muted)}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:8px}.legend-dot--entry{background:var(--brand)}.legend-dot--draft{background:var(--accent)}.banner{margin:0 0 18px;padding:14px 18px;border-radius:18px;border:1px solid transparent}.banner--success{background:var(--success-soft);color:var(--success);border-color:#0f7b5329}.banner--error{background:var(--danger-soft);color:var(--danger);border-color:#b4231829}.primary-button,.secondary-button,.ghost-button,.link-button{border:0;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.primary-button,.secondary-button,.ghost-button{padding:14px 18px;border-radius:16px;font-weight:700}.primary-button{background:linear-gradient(135deg,var(--brand),#0b6da8);color:#fff;box-shadow:0 14px 30px #00467a2e}.secondary-button{background:#fffffff0;color:var(--brand-deep);border:1px solid rgba(0,70,122,.14)}.ghost-button{background:#ffffffb3;color:var(--ink);border:1px solid rgba(23,48,66,.1)}.link-button{padding:0;background:transparent;color:var(--danger);font-weight:700}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.link-button:hover,.choice-chip:hover,.type-pill:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.empty-state{padding:24px;border-radius:20px;border:1px dashed rgba(23,48,66,.18);background:#ffffffa8}.eyebrow{display:inline-flex;margin-bottom:12px;padding:8px 12px;border-radius:999px;background:#00467a14;color:var(--brand);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 1100px){.workspace-grid,.hero-panel,.type-switcher,.form-grid{grid-template-columns:1fr}.topbar{flex-direction:column}}@media (max-width: 720px){.portal-shell{padding:18px}.panel,.auth-card,.hero-panel,.loading-card{padding:20px;border-radius:22px}.topbar-actions,.project-card__headline,.project-card__meta,.project-card__footer,.match-card__header,.match-card__meta,.match-card__facts,.panel-header,.panel-header--with-action,.selection-header,.form-actions,.inline-actions{flex-direction:column;align-items:stretch}.status-pill{width:100%}}
