@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,900&family=Spectral:wght@400;500;600&display=swap";:root{--bg: #f3eada;--paper: #fbf6ec;--paper-2: #efe4d0;--line: #e0d2bb;--line-strong: #cdbb9c;--text: #2c2018;--muted: #7a6857;--soft: #9a8b78;--accent: #a8472a;--accent-deep: #8a3a22;--accent2: #bf8a2e;--accent-soft: rgba(168, 71, 42, .12);--shadow: 0 18px 45px rgba(84, 60, 42, .12);--display: "Fraunces", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", serif;--body: "Spectral", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;font-family:var(--body);color:var(--text);background:linear-gradient(90deg,rgba(168,71,42,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(191,138,46,.07) 1px,transparent 1px),radial-gradient(900px 520px at 12% -10%,rgba(191,138,46,.16),transparent 58%),linear-gradient(180deg,#f8f0e1 0%,var(--bg) 54%,#ecdfc9 100%);background-size:42px 42px,42px 42px,auto,auto;min-height:100dvh}button,select,input,textarea{font:inherit}button,.card,.cal-event-item{-webkit-tap-highlight-color:transparent}.page{width:min(100%,1120px);margin:0 auto;padding:34px 18px 64px}.header{display:grid;grid-template-columns:1fr;gap:28px;align-items:end;margin-bottom:24px;padding:10px 0 2px}.kicker{margin:0 0 10px;color:var(--accent);font-size:13px;letter-spacing:1.4px;text-transform:uppercase}.header h1{margin:0;max-width:620px;color:var(--text);font-family:var(--display);font-size:clamp(34px,6vw,58px);line-height:1.08;font-weight:900;letter-spacing:0}.subtitle{margin:14px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.notice{margin:0;color:var(--accent-deep);background:#fbf6eccc;border:1px solid rgba(168,71,42,.22);border-radius:14px;padding:14px 16px;line-height:1.7;font-size:13px;box-shadow:0 10px 26px #543c2a14}.submit-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(168,71,42,.24);border-radius:16px;background:#a8472a1a;box-shadow:0 12px 28px #543c2a14}.submit-callout h2{margin:0;color:var(--text);font-family:var(--display);font-size:19px;font-weight:600}.submit-callout p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.filterbar{background:#fbf6ece6;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.filter-row:last-of-type{margin-bottom:0}.filter-row--compact{gap:10px;align-items:center}.filter-label{color:var(--muted);font-size:13px;font-weight:650}.search-input{flex:1 1 260px;min-width:220px;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:14px}.search-input::placeholder{color:var(--soft)}.search-input:focus,.city-select:focus{border-color:#a8472a99;outline:3px solid rgba(168,71,42,.13)}.type-btn{border:1px solid var(--line);background:#fbf6ecb8;color:var(--muted);padding:7px 14px;border-radius:999px;font-size:14px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.type-btn:hover{color:var(--text);border-color:var(--line-strong);background:#fff8ec}.type-btn:active,.region-switch button:active,.view-switch button:active,.cal-header button:active,.modal-link:active{transform:translateY(1px)}.type-btn.active{color:var(--paper);border-color:transparent;font-weight:650}.city-select{min-width:132px;padding:8px 34px 8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:14px}.upcoming-toggle{font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:7px;cursor:pointer}.upcoming-toggle input{width:16px;height:16px;accent-color:var(--accent)}.region-switch,.view-switch{margin-left:auto;display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2)}.region-switch{margin-left:0}.region-switch button,.view-switch button{border:none;background:transparent;padding:7px 15px;border-radius:999px;font-size:14px;cursor:pointer;color:var(--muted);transition:background .16s ease,color .16s ease,transform .16s ease}.region-switch button.active,.view-switch button.active{background:var(--text);color:var(--paper);box-shadow:0 8px 18px #2c20182e;font-weight:650}.result-count{margin:4px 0 0;font-size:13px;color:var(--soft)}.submission-panel{background:#fbf6eceb;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:22px;box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.section-heading h2{margin:0;font-family:var(--display);font-weight:600;font-size:20px}.section-heading p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.queue-pill{white-space:nowrap;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(168,71,42,.24);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:650}.ai-intake{background:var(--accent-soft);border:1px solid rgba(168,71,42,.22);border-radius:14px;padding:14px 16px;margin-bottom:18px}.ai-intake-title{margin:0 0 6px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--accent)}.ai-intake-hint{margin:0 0 10px;font-size:13px;color:var(--muted);line-height:1.65}.ai-intake-text{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:14px;font-family:inherit;background:var(--paper);color:var(--text);resize:vertical}.ai-intake-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.ai-intake-actions .btn{display:inline-flex;align-items:center}.ai-source-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}.ai-file-list{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.submission-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:2px}.tag-checks{display:flex;flex-wrap:wrap;gap:8px}.tag-checks label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:7px 11px;cursor:pointer}.tag-checks input{accent-color:var(--accent)}.form-message{margin:12px 0 0;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(168,71,42,.22);border-radius:12px;padding:10px 12px;font-size:13px}.review-queue{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.review-queue h3{margin:0 0 10px;font-family:var(--display);font-weight:600;font-size:16px}.review-head h3{margin-bottom:0}.review-filter-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.review-filter{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);padding:6px 10px;font-size:12px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.review-filter:hover{border-color:var(--line-strong);color:var(--text)}.review-filter.active{background:var(--text);border-color:var(--text);color:var(--paper)}.review-filter span{min-width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;background:#ffffff80;color:inherit;font-size:11px;font-weight:650}.queue-empty{margin:0;color:var(--muted);font-size:13px}.queue-list{display:grid;gap:10px}.queue-item{display:flex;justify-content:space-between;gap:14px;background:#fbf7ee;border:1px solid var(--line);border-radius:14px;padding:13px}.queue-item h4{margin:8px 0 6px;font-size:15px}.queue-item p{margin:3px 0;color:var(--muted);font-size:13px;line-height:1.55}.review-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:650}.queue-flag{margin:4px 0 0;font-size:12.5px;color:#8a5a18}.review-pending{color:#8a5a18;background:#bf8a2e29}.review-approved{color:#2f7a45;background:#2f7a4521}.review-rejected{color:#a8472a;background:#a8472a1f}.queue-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-content:flex-start;min-width:190px}.list{display:flex;flex-direction:column;gap:14px}.card{display:block;background:#fbf6eceb;border:1px solid var(--line);border-radius:16px;padding:18px 20px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;box-shadow:0 12px 30px #543c2a12}.card:hover{transform:translateY(-2px);border-color:#a8472a73;background:#fff8ec;box-shadow:0 20px 44px #543c2a21}.card.past{opacity:.58}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.tag{color:var(--paper);font-size:12px;font-weight:650;padding:4px 10px;border-radius:999px;white-space:nowrap;box-shadow:inset 0 1px #ffffff38}.status{display:inline-flex;align-items:center;min-height:24px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:650;border:1px solid transparent;white-space:nowrap}.status-upcoming{color:#2f7a45;background:#2f7a451f;border-color:#2f7a453d}.status-ongoing{color:#8a5a18;background:#bf8a2e29;border-color:#bf8a2e47}.status-closed{color:#a8472a;background:#a8472a1f;border-color:#a8472a42}.status-ended{color:#837868;background:#7a68571a;border-color:#7a685733}.date{color:var(--muted);font-size:13px;text-align:right}.card-title{margin:2px 0 8px;color:var(--text);font-family:var(--display);font-weight:600;font-size:18px;line-height:1.45;letter-spacing:0}.meta{margin:0 0 8px;color:var(--accent);font-size:13px;font-weight:500}.tag-summary{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.6}.desc{margin:0;color:var(--muted);font-size:13px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty{text-align:center;color:var(--muted);background:#fbf6ecbf;border:1px dashed var(--line-strong);border-radius:16px;padding:42px 18px}.calendar-layout,.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:16px;align-items:start}.list-group+.list-group{margin-top:22px}.group-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-family:var(--display);font-size:15px;font-weight:600;color:var(--accent)}.group-title:after{content:"";flex:1;height:1px;background:var(--line)}.list-group-items{display:flex;flex-direction:column;gap:12px}.calendar{background:#fbf6eceb;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.cal-header{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:16px}.cal-header button{border:1px solid var(--line);background:var(--bg);color:var(--accent);width:36px;height:36px;border-radius:999px;font-size:20px;line-height:1;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.cal-header button:hover{border-color:#a8472a80;background:#fff8ec}.cal-title{min-width:124px;text-align:center;font-family:var(--display);font-size:19px;font-weight:600;color:var(--text)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.cal-weekday{text-align:center;font-size:12px;font-weight:600;color:var(--muted);padding:4px 0}.cal-week{position:relative;margin-bottom:6px}.cal-week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-cell{min-height:92px;border-radius:12px;padding:6px 8px;font-size:13px;background:var(--bg);border:1px solid var(--line);cursor:pointer;transition:border-color .16s ease,background .16s ease}.cal-cell:hover{border-color:#a8472a73}.cal-cell.empty{background:transparent;border-color:transparent;cursor:default}.cal-cell.today{border:1.5px solid var(--accent);background:#f7ecd9}.cal-cell.picked{border-color:var(--accent);background:#f7ecd9}.cal-daynum{color:var(--muted);font-weight:600;font-family:var(--display)}.cal-week-bars{position:absolute;left:0;right:0;top:30px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;grid-auto-rows:21px;row-gap:4px;pointer-events:none}.cal-bar{pointer-events:auto;height:21px;margin:0 2px;border:none;border-radius:6px;color:var(--paper);font-size:11px;font-weight:600;line-height:21px;padding:0 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:inset 0 1px #ffffff38}.cal-bar:hover{filter:brightness(1.06)}.cal-day-events{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.cal-day-events h3{font-family:var(--display);font-size:16px;margin:0 0 10px;color:var(--accent)}.cal-event-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;cursor:pointer;transition:background .16s ease}.cal-event-item:hover{background:#f5ecdd}.cal-event-title{font-size:14px;font-weight:600;color:var(--text)}.cal-event-meta{font-size:12px;color:var(--muted);margin-top:3px}.upcoming-sidebar{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fbf6eceb;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.upcoming-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.upcoming-head h2{margin:0;color:var(--text);font-family:var(--display);font-size:18px;font-weight:600}.upcoming-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:650;letter-spacing:1.2px;text-transform:uppercase}.upcoming-list{display:grid;gap:10px}.upcoming-item{width:100%;display:grid;gap:5px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff8ec;color:inherit;padding:11px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.upcoming-item:hover{transform:translateY(-1px);border-color:#a8472a6b;background:#fffbf3}.upcoming-date{color:var(--accent);font-size:12px;font-weight:650;line-height:1.45}.upcoming-title{color:var(--text);font-family:var(--display);font-size:14px;font-weight:600;line-height:1.45}.upcoming-meta{color:var(--muted);font-size:12px;line-height:1.5}.upcoming-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:3px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c201873;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:var(--paper);border:1px solid var(--line);border-radius:18px;max-width:540px;width:100%;position:relative;max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 28px 80px #2c201847}.modal-close{position:absolute;top:14px;right:14px;border:1px solid var(--line);background:var(--bg);color:var(--muted);width:34px;height:34px;border-radius:999px;cursor:pointer;font-size:14px;transition:color .16s ease,border-color .16s ease}.modal-close:hover{color:var(--text);border-color:var(--line-strong)}.modal-title{margin:16px 40px 14px 0;color:var(--text);font-family:var(--display);font-weight:600;font-size:22px;line-height:1.45}.modal .status{margin-left:8px;vertical-align:middle}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.modal-row{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.child-list{margin:16px 0;padding-top:4px}.child-title{margin:0 0 10px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--accent)}.child-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px}.child-item:last-child{border-bottom:none}.child-date{flex-shrink:0;width:116px;color:var(--muted);font-size:12.5px}.child-name{color:var(--text)}.modal-desc{margin:16px 0;color:var(--text);font-size:14px;line-height:1.8}.modal-link{display:inline-block;margin-top:8px;background:var(--text);color:var(--paper);text-decoration:none;font-size:14px;font-weight:650;padding:10px 17px;border-radius:999px;transition:transform .16s ease,background .16s ease}.modal-link:hover{background:#1f160f}.manage{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.manage h2{margin:0 0 6px;font-family:var(--display);font-weight:600;font-size:18px}.manage-hint{font-size:13px;color:var(--muted);line-height:1.6;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.field.full{grid-column:1 / -1}.field input,.field select,.field textarea{padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit}.field textarea{resize:vertical;min-height:64px}.form-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--paper);color:var(--text);padding:9px 18px;border-radius:999px;font-size:14px;cursor:pointer}.btn:disabled{cursor:not-allowed;opacity:.62}.btn-primary{background:var(--text);color:var(--paper);border-color:transparent;font-weight:650}.btn-danger{color:#a8472a;border-color:#a8472a59}.manage-list{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.manage-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--paper-2);margin-bottom:8px}.manage-item-info{min-width:0}.manage-item-title{font-size:14px}.manage-item-meta{font-size:12px;color:var(--muted);margin-top:2px}.manage-item-actions{display:flex;gap:6px;flex-shrink:0}.icon-btn{border:1px solid var(--line);background:transparent;color:var(--muted);padding:5px 10px;border-radius:10px;font-size:13px;cursor:pointer}.icon-btn:hover{color:var(--text)}.submit-callout--footer{margin-top:28px}.footer{text-align:center;color:var(--soft);font-size:13px;margin-top:42px}.admin-entry{margin-left:12px;border:none;background:transparent;color:var(--soft);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.admin-entry:hover{color:var(--accent)}.header--admin{align-items:center}@media (max-width: 720px){.page{padding:24px 14px 54px}.header{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.header h1{font-size:34px}.filterbar,.calendar,.upcoming-sidebar,.card{border-radius:14px}.calendar-layout,.content-layout{grid-template-columns:1fr}.upcoming-sidebar{position:static;max-height:none;overflow:visible;overscroll-behavior:auto}.view-switch{margin-left:0;width:100%}.view-switch button{flex:1}.search-input{flex:2 1 0;min-width:0}.city-select{flex:1 1 0;min-width:0}.filter-row{gap:6px}.type-btn{padding:6px 10px;font-size:13px}.card{padding:16px}.card-top{align-items:flex-start}.date{max-width:52%}.section-heading,.submit-callout,.review-head,.queue-item{flex-direction:column}.submit-callout{align-items:stretch}.review-filter-tabs{justify-content:flex-start}.submission-form{grid-template-columns:1fr}.queue-actions{min-width:0;justify-content:flex-start}.detail-list{grid-template-columns:1fr}.cal-weekdays,.cal-week-days,.cal-week-bars{gap:4px}.cal-cell{min-height:74px;padding:5px 6px;font-size:12px}.cal-bar{font-size:10px;padding:0 5px;margin:0 1px}.modal{padding:22px 18px}.form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
