:root{--bg-canvas: #f0ece0;--bg-panel: #fffdf6;--bg-panel-strong: #f6efe0;--bg-ink: #0e1f30;--text-main: #1a262f;--text-muted: #58666f;--text-faint: #8a949c;--line: #d4c8ac;--line-strong: #b8a67a;--accent: #b14428;--accent-strong: #8b2e18;--accent-soft: #f5d6bc;--accent-glow: rgba(177, 68, 40, .12);--ok: #0d7050;--ok-soft: rgba(13, 112, 80, .08);--danger: #a82d2b;--danger-soft: rgba(168, 45, 43, .08);--shadow-soft: 0 8px 32px rgba(14, 31, 48, .06), 0 1px 3px rgba(14, 31, 48, .04);--shadow-lifted: 0 16px 48px rgba(14, 31, 48, .1), 0 2px 6px rgba(14, 31, 48, .05);--shadow-strong: 0 24px 56px rgba(14, 31, 48, .14), 0 4px 12px rgba(14, 31, 48, .06);--radius-panel: 18px;--radius-card: 14px;--radius-pill: 999px;--radius-input: 10px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .14s;--duration-normal: .22s;--duration-slow: .38s}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{min-height:100%}body{margin:0;font-family:Zen Kaku Gothic New,sans-serif;color:var(--text-main);font-size:15px;line-height:1.7;background:radial-gradient(ellipse 80% 60% at 95% 2%,rgba(177,68,40,.09),transparent),radial-gradient(ellipse 70% 50% at 3% 20%,rgba(14,31,48,.07),transparent),repeating-linear-gradient(135deg,transparent 0 7px,rgba(212,200,172,.12) 7px 8px),var(--bg-canvas);background-attachment:fixed}a{color:inherit}::selection{background:var(--accent-soft);color:var(--accent-strong)}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.app-header{position:sticky;top:0;z-index:30;background:linear-gradient(120deg,#0a1824,#142e45,#1d4a5e);color:#f5f0e4;border-bottom:2px solid rgba(220,191,141,.5);box-shadow:0 4px 24px #07101a4d,inset 0 -1px #dcbf8d26}.header-inner{max-width:1140px;margin:0 auto;padding:1rem 1.25rem 1.05rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header h1{margin:0;font-family:Shippori Mincho,serif;font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:700;line-height:1.3;letter-spacing:.04em;white-space:nowrap}.app-nav{display:flex;flex-wrap:wrap;gap:.4rem}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.1rem;padding:.38rem .9rem;border-radius:var(--radius-pill);border:1px solid rgba(245,215,182,.22);color:#f5f0e4d9;text-decoration:none;font-weight:600;font-size:.84rem;letter-spacing:.02em;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.nav-link:hover{background:#f5d7b624;border-color:#f5d7b673;color:#fff;transform:translateY(-1px)}.nav-link.active{background:linear-gradient(125deg,#efc8a0,#dda97a);color:#1a2e40;border-color:transparent;font-weight:700;box-shadow:0 2px 10px #dcaa6e40}.main-content{width:min(1140px,100%);margin:0 auto;padding:1.5rem 1.25rem 4rem}.page-stack{display:grid;gap:1.15rem}.results-panel,.filter-panel,.facility-request-panel,.form-panel,.status-panel,.facility-summary,.editor-list,.preview-panel,.history-panel,.detail-page,.editor-wizard{position:relative;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft);padding:1.15rem 1.25rem;overflow:hidden}.results-panel:before,.filter-panel:before,.facility-request-panel:before,.detail-page:before,.editor-wizard:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-soft) 50%,transparent);opacity:.6;border-radius:var(--radius-panel) var(--radius-panel) 0 0}.hero-eyebrow{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;opacity:.85}.section-copy{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.65}.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.6rem;padding-bottom:.4rem}.panel-head h2,.panel-head h3{margin:0;font-family:Shippori Mincho,serif;letter-spacing:.02em}.panel-head p{margin:0;color:var(--text-faint);font-size:.88rem}.editor-hero h2,.detail-page h2{margin:.3rem 0;font-family:Shippori Mincho,serif;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.35;letter-spacing:.02em}.results-panel{padding-block:.75rem .8rem;background:linear-gradient(135deg,var(--bg-panel),#fefcf4)}.filter-panel{display:grid;gap:.85rem;background:linear-gradient(175deg,#fffdf8,#f8f2e4)}.filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.filter-actions p{margin:0;font-size:.84rem;color:var(--text-faint)}.ghost-button{background:transparent;border:1px solid var(--line-strong);color:#4f3d28;font-size:.82rem}.ghost-button:hover:not(:disabled){background:#b8a67a1f;border-color:var(--accent);color:var(--accent-strong)}.active-filter-chips{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.active-filter-chips li{border-radius:var(--radius-pill);background:linear-gradient(135deg,#fae8d2,#f5dbc0);color:#5e4128;border:1px solid #e7c9a4;font-size:.75rem;font-weight:600;padding:.18rem .6rem;letter-spacing:.01em}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.filter-section{display:grid;gap:.55rem}.filter-section h3{margin:0;font-size:.88rem;color:var(--text-muted)}.filter-secondary{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.65rem;border-top:1px dashed #decdb0;padding-top:.75rem}label{display:grid;gap:.28rem;font-size:.88rem}.label-title{font-size:.76rem;font-weight:600;letter-spacing:.04em;color:#4a5560;text-transform:none}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border-radius:var(--radius-input);border:1px solid #cfc0a0;background:#fffdf8;padding:.52rem .7rem;color:var(--text-main);font-size:.88rem;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}textarea{resize:vertical;min-height:88px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}button:focus-visible,.nav-link:focus-visible,.card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:var(--radius-pill);border:none;padding:.5rem 1.1rem;background:linear-gradient(130deg,var(--bg-ink),#1c3f58);color:#fff;font-weight:700;font-size:.86rem;letter-spacing:.02em;cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-out),opacity var(--duration-fast)}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0e1f302e}button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0e1f301f}button:disabled{opacity:.4;cursor:not-allowed}.status-note,.status-error{margin:0;padding:.58rem .85rem;border-radius:var(--radius-input);font-size:.87rem;font-weight:500}.status-note{color:var(--ok);background:var(--ok-soft);border:1px solid rgba(13,112,80,.22)}.status-error{color:var(--danger);background:var(--danger-soft);border:1px solid rgba(168,45,43,.22)}.municipality-group{padding:.9rem 1rem;border-radius:var(--radius-panel);border:1px solid #deceb0;background:linear-gradient(170deg,#fffdf8e6,#f8f2e499);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.municipality-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid rgba(212,200,172,.5)}.municipality-heading h2{margin:0;font-size:1.12rem;font-family:Shippori Mincho,serif;letter-spacing:.04em}.municipality-heading p{margin:0;color:var(--text-faint);font-size:.82rem;font-weight:600}.card-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(290px,290px));justify-content:start;align-items:start}.posting-card{position:relative;border:1px solid #d4c4a2;border-radius:var(--radius-card);padding:1rem;background:linear-gradient(164deg,#f5d8be40,#ffffffd9 40%),var(--bg-panel);display:grid;gap:.75rem;transition:transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.posting-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff80;pointer-events:none}.posting-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong);border-color:var(--line-strong)}.card-header{display:grid;gap:.3rem}.card-badges{display:flex;flex-wrap:wrap;gap:.32rem}.card-type,.card-badge-sub{margin:0;border-radius:var(--radius-pill);padding:.14rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.02em}.card-type{color:#6e2414;background:linear-gradient(135deg,#fbd8c0,#f5c8a6);border:1px solid #e8a880}.card-badge-sub{color:#2c4a5e;background:linear-gradient(135deg,#e0eff8,#d0e4f2);border:1px solid #b0d2e6}.posting-card h3{margin:0;font-family:Shippori Mincho,serif;font-size:1.08rem;line-height:1.4;letter-spacing:.02em}.card-location{margin:0;font-size:.86rem;color:var(--text-muted)}.card-summary{margin:0;font-size:.84rem;line-height:1.6;color:#3a4850}.card-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.card-grid div{border-left:2px solid #d6b87e;padding-left:.55rem}.card-grid dt{color:var(--text-faint);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.card-grid dd{margin:.1rem 0 0;font-size:.88rem;font-weight:700;color:var(--text-main)}.card-footer{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;justify-content:space-between;padding-top:.4rem;border-top:1px solid rgba(212,200,172,.4)}.card-meta-stack{display:grid;gap:.12rem}.card-meta-stack p{margin:0;color:var(--text-faint);font-size:.78rem}.card-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:var(--radius-pill);padding:.42rem .9rem;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(130deg,var(--accent),var(--accent-strong));box-shadow:0 2px 8px #b1442833;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-out)}.card-link:hover{transform:translateY(-1px);box-shadow:0 6px 16px #b1442847}.facility-request-form,.editor-request-form{display:grid;gap:.7rem}.facility-request-form>div,.editor-request-form>div{margin:.1rem 0 .2rem}.status-panel{width:min(760px,100%);margin-inline:auto;text-align:center}.detail-page{width:min(860px,100%);margin-inline:auto;display:grid;gap:.85rem}.detail-hero{background:linear-gradient(155deg,#fff6ea,#fffdf8);border:1px solid #e8d4b8;border-radius:var(--radius-card);padding:1rem 1.1rem}.detail-highlight{border:1px solid #e0ccaa;border-radius:var(--radius-card);padding:.9rem;background:linear-gradient(170deg,#fffbf3,#fff8ec)}.detail-highlight h3,.detail-section h3{margin:0 0 .4rem;font-family:Shippori Mincho,serif;font-size:1rem;letter-spacing:.03em}.detail-pill-list,.detail-bullet-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.detail-pill-list li{border:1px solid #e8d4b8;background:linear-gradient(135deg,#fffaf0,#fff6e8);border-radius:var(--radius-input);padding:.48rem .65rem;font-size:.88rem;transition:background var(--duration-fast)}.detail-pill-list li:hover{background:linear-gradient(135deg,#fff4e2,#ffeed8)}.detail-section{border:1px solid #e2d6c0;border-radius:var(--radius-card);padding:.85rem;background:#fffefb}.detail-section p{margin:.15rem 0;font-size:.9rem}.detail-bullet-list li{position:relative;padding-left:1rem;font-size:.9rem}.detail-bullet-list li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.editor-hero{display:grid;gap:.65rem}.editor-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.editor-hero-meta>div{border:1px solid #e2d2b2;border-radius:var(--radius-input);background:linear-gradient(160deg,#fffaea,#fff6df);padding:.65rem .75rem;transition:box-shadow var(--duration-normal) var(--ease-out)}.editor-hero-meta>div:hover{box-shadow:0 4px 12px #0e1f300f}.editor-hero-meta p{margin:0;font-size:.72rem;font-weight:600;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase}.editor-hero-meta strong{display:block;margin-top:.25rem;font-size:.95rem}.editor-posting-list{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.editor-posting-item{border:1px solid #dfd0b4;border-radius:var(--radius-card);background:linear-gradient(160deg,#fffcf2,#fffaf0);padding:.75rem .85rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem;align-items:flex-end;transition:box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-fast)}.editor-posting-item:hover{box-shadow:0 4px 16px #0e1f300f;border-color:var(--line-strong)}.posting-row-title{margin:0;display:flex;flex-wrap:wrap;gap:.3rem}.posting-chip,.status-chip{border-radius:var(--radius-pill);padding:.12rem .52rem;font-size:.72rem;font-weight:700;letter-spacing:.02em}.posting-chip{background:linear-gradient(135deg,#e5f1f9,#d5e6f4);color:#1e4260;border:1px solid #b4d4e8}.status-chip--draft{background:linear-gradient(135deg,#f6e8d0,#f0ddc0);color:#5c4220;border:1px solid #dfc496}.status-chip--published{background:linear-gradient(135deg,#dff6ea,#ceeede);color:#125440;border:1px solid #a8d6be}.status-chip--unpublished{background:linear-gradient(135deg,#fbe4e0,#f6d4d0);color:#782420;border:1px solid #e8aea8}.row-meta{margin:.2rem 0 0;color:var(--text-faint);font-size:.76rem}.editor-wizard{display:grid;gap:.85rem}.wizard-header{display:grid;gap:.3rem}.wizard-header h3{margin:0;font-family:Shippori Mincho,serif;letter-spacing:.02em}.wizard-progress{height:6px;border-radius:var(--radius-pill);background:#e4d8c0;overflow:hidden;margin-top:.2rem}.wizard-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#d18454);transition:width var(--duration-slow) var(--ease-out)}.wizard-steps{display:flex;flex-wrap:wrap;gap:.35rem}.wizard-step-button{border-radius:var(--radius-input);background:#e8eef3;color:#29455a;border:1px solid #c4d6e2;font-weight:600;font-size:.8rem;box-shadow:none;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast) var(--ease-spring)}.wizard-step-button:hover:not(:disabled){background:#dde6ee;border-color:#a8c2d6;transform:translateY(-1px)}.wizard-step-button.active{background:linear-gradient(130deg,var(--accent),var(--accent-strong));border-color:transparent;color:#fff;box-shadow:0 3px 10px #b1442833}.wizard-panel{border:1px solid #e2d6c0;border-radius:var(--radius-card);background:linear-gradient(170deg,#fffcf6,#fef8ee);padding:.9rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.wizard-panel h3{margin:0;grid-column:1 / -1;font-size:1rem;font-family:Shippori Mincho,serif;letter-spacing:.02em}.wizard-panel label{min-width:0}.wizard-inline{display:flex;flex-wrap:wrap;gap:.42rem}.wizard-check{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #decdae;border-radius:var(--radius-pill);background:#fffbf3;padding:.2rem .6rem;font-size:.8rem}.wizard-panel textarea,.wizard-panel pre,.wizard-panel .actions{grid-column:1 / -1}.wizard-nav,.actions{display:flex;flex-wrap:wrap;gap:.45rem}.preview-json{margin:0;background:linear-gradient(155deg,#0c1e30,#14354d);color:#e8e6e0;border-radius:var(--radius-input);padding:.85rem;overflow:auto;max-height:360px;font-size:.78rem;font-family:SF Mono,Fira Code,Consolas,monospace;line-height:1.5;border:1px solid rgba(255,255,255,.06)}.history-panel ul,.preview-panel ul,.form-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.history-panel li,.form-panel li{border:1px solid #e4d8c0;background:linear-gradient(160deg,#fffcf4,#fffaf0);border-radius:var(--radius-input);padding:.6rem .7rem;transition:border-color var(--duration-fast)}.history-panel li:hover,.form-panel li:hover{border-color:var(--line-strong)}.history-panel li p,.form-panel li p{margin:.08rem 0;font-size:.86rem}.editor-notice{position:sticky;bottom:.75rem;z-index:20;box-shadow:0 8px 24px #0e1f3029,0 0 0 1px #0d70501f}.inline-controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end}.inline-controls label{min-width:180px}.inline-controls input[type=checkbox]{width:auto;accent-color:var(--accent)}.app-footer{margin-top:auto;background:linear-gradient(120deg,#0a1824,#142e45);color:#f5f0e499;border-top:1px solid rgba(220,191,141,.2);padding:1.5rem 1.25rem;text-align:center;font-size:.78rem;letter-spacing:.02em}.app-footer a{color:#f5f0e4cc;text-decoration:underline;text-underline-offset:2px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.filter-panel,.municipality-group,.editor-wizard,.detail-page,.form-panel,.facility-summary,.editor-list,.preview-panel,.history-panel,.results-panel,.facility-request-panel{animation:fade-up var(--duration-slow) var(--ease-out) both}.municipality-group:nth-child(2){animation-delay:60ms}.municipality-group:nth-child(3){animation-delay:.12s}.municipality-group:nth-child(4){animation-delay:.18s}.municipality-group:nth-child(5){animation-delay:.24s}.municipality-group:nth-child(6){animation-delay:.3s}.posting-card{animation:fade-up var(--duration-slow) var(--ease-out) both}.card-list .posting-card:nth-child(1){animation-delay:40ms}.card-list .posting-card:nth-child(2){animation-delay:.1s}.card-list .posting-card:nth-child(3){animation-delay:.16s}.card-list .posting-card:nth-child(4){animation-delay:.22s}@media(max-width:980px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-secondary,.editor-hero-meta,.wizard-panel{grid-template-columns:1fr}.header-inner{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:720px){.main-content{padding-inline:.75rem}.card-list{grid-template-columns:1fr}.results-panel,.filter-panel,.facility-request-panel,.form-panel,.status-panel,.facility-summary,.editor-list,.preview-panel,.history-panel,.detail-page,.editor-wizard{padding:.9rem;border-radius:14px}.card-grid{grid-template-columns:1fr}.editor-posting-item,.card-footer{flex-direction:column;align-items:stretch}.card-link{width:100%;text-align:center}}@media(max-width:520px){.filter-grid{grid-template-columns:1fr}.wizard-inline{gap:.3rem}.header-inner{gap:.4rem;padding:.8rem .85rem}.app-header h1{font-size:1rem}.nav-link{flex:1 1 calc(50% - .2rem);min-width:110px;font-size:.8rem;padding:.35rem .6rem}}
