:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172026;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f4ef;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,select,textarea{font:inherit}button{color:#172026;cursor:pointer;background:#fffaf0;border:1px solid #d7d2c7;border-radius:10px;padding:10px 14px;transition:transform .12s,background .12s}button:hover{background:#f1eadb}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{color:#172026;background:#fffdf8;border:1px solid #d7d2c7;border-radius:10px;min-height:42px;padding:0 12px}textarea{resize:vertical;min-height:96px;padding:10px 12px;line-height:1.45}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffdf8;border:1px solid #ded8cd;border-radius:24px;width:min(560px,100%);padding:40px}.login-card h1,.app-shell h1{letter-spacing:-.02em;margin:0}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#8a5a22;margin:0 0 12px;font-size:12px;font-weight:700}.muted{color:#66736d}.primary{color:#fff;background:#0f6b57;border-color:#0f6b57}.primary:hover{background:#0b5948}.danger{color:#8f2525;border-color:#b33737}.error{color:#a72828}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}aside{background:#fffdf8;border-right:1px solid #ded8cd;padding:28px}.role-list{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.role-list span{color:#0f6b57;letter-spacing:.02em;background:#e8f2ee;border-radius:999px;padding:6px 10px;font-size:12px}.console-main{flex-direction:column;min-width:0;display:flex}.tab-bar{z-index:5;background:#f5f4ef;border-bottom:1px solid #ded8cd;flex-wrap:wrap;gap:8px;padding:18px 24px 0;display:flex;position:sticky;top:0}.tab-button{color:#5f676d;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:12px 12px 0 0;padding:10px 16px;font-weight:600}.tab-button:hover{background:#efe9db}.tab-button.active{color:#0f6b57;background:#fffdf8;border-color:#ded8cd}.selected-uid{word-break:break-all;font-size:12px}.content-grid{gap:18px;padding:24px;display:grid}.panel{background:#fffdf8;border:1px solid #ded8cd;border-radius:18px;padding:20px}.panel h2{letter-spacing:-.01em;margin-top:0}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel-header h2{margin-bottom:6px}.panel-header p{margin:0}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.toolbar input{flex:220px}.list-panel-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.pagination-size{color:#5f676d;align-items:center;gap:8px;font-size:14px;display:inline-flex}.pagination-size select{min-height:38px}.pagination-summary{flex:180px;font-size:14px}.pagination-actions{gap:8px;display:inline-flex}.redemption-toolbar input,.redemption-toolbar select{flex:160px}.notification-panel{max-width:980px}.notification-form{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label{gap:7px;display:grid}.form-grid label>span{color:#5f676d;font-size:13px;font-weight:700}.form-grid .span-2{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.approval-result{background:#f0fbf3;border:1px solid #91c7a5;border-radius:12px;gap:4px;margin-top:16px;padding:12px;display:grid}.approval-result span{color:#66736d;overflow-wrap:anywhere}.result-list{gap:8px;display:grid}.result-row,.approval-row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.result-row span{color:#66736d}.approval-row{border:1px solid #ebe5db;border-radius:12px;margin:10px 0;padding:10px}.approval-row.status-success{background:#f0fbf3;border-color:#91c7a5}.approval-row.status-rejected{background:#fff6f6;border-color:#e3a5a5}.approval-main{gap:4px;min-width:0;display:grid}.approval-main span,.approval-main strong{overflow-wrap:anywhere}.approval-actions{flex-shrink:0;gap:10px;display:flex}.status-pill{border-radius:999px;align-items:center;width:fit-content;margin-left:8px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.success{color:#0f6b37;background:#dff5e6}.status-pill.pending{color:#8a5a22;background:#fff1c2}.status-pill.rejected{color:#9c2727;background:#ffe0e0}.summary-stack{gap:14px;display:grid}.summary-section{border-top:1px solid #ebe5db;padding-top:12px}.summary-section h3{margin:0 0 10px;font-size:15px}.info-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.info-item{background:#fffaf0;border:1px solid #ebe5db;border-radius:12px;gap:4px;padding:12px;display:grid}.info-item span{color:#66736d;font-size:12px}.info-item strong{overflow-wrap:anywhere}.compact-row{border-bottom:1px solid #f0eadf;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.compact-row:last-child{border-bottom:0}.compact-row span{color:#66736d;text-align:right}.expand-card{background:#fffaf0;border:1px solid #ebe5db;border-radius:12px;padding:12px}.expand-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.expand-title{gap:4px;display:grid}.title-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.title-line .status-pill{margin-left:0}.expand-card small{color:#66736d}.detail-grid{border-top:1px solid #ebe5db;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px;padding-top:12px;display:grid}.detail-item{gap:4px;min-width:0;display:grid}.detail-item span{color:#66736d;font-size:12px}.detail-item strong{white-space:pre-wrap;overflow-wrap:anywhere}.json-panel{color:#e9efe9;background:#172026;border-radius:14px;max-height:420px;padding:14px;font-size:12px;line-height:1.55;overflow:auto}@media (width<=900px){.app-shell{grid-template-columns:1fr}aside{border-bottom:1px solid #ded8cd;border-right:0}.panel-header,.approval-row,.compact-row{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.approval-actions{width:100%}}.poi-parse-row{background:#fff;border:1px solid #ded8cd;border-radius:10px;grid-template-columns:auto 1.4fr .8fr 1fr auto auto;align-items:center;gap:8px;padding:8px;display:grid}.poi-parse-thumb{object-fit:cover;background:#f4f1ea;border:1px solid #ded8cd;border-radius:8px;width:96px;height:64px;display:block}.poi-parse-thumb.placeholder{color:#9a927f;justify-content:center;align-items:center;font-size:11px;display:flex}.poi-parse-thumb.placeholder.rejected{color:#b3261e;text-align:center;background:#fbeeec;border-color:#e7b8b3}.poi-thumb-button{cursor:zoom-in;background:0 0;border:none;padding:0;line-height:0;display:block}.poi-image-card .poi-thumb-button{width:100%}.image-lightbox{z-index:1000;cursor:zoom-out;background:#14120ed1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-lightbox img{object-fit:contain;cursor:default;border-radius:12px;max-width:92vw;max-height:92vh;box-shadow:0 12px 48px #00000080}.image-lightbox-close{color:#3a352c;cursor:pointer;background:#ffffffeb;border:none;border-radius:50%;width:40px;height:40px;font-size:22px;line-height:1;position:absolute;top:16px;right:20px}.poi-parse-row.invalid{opacity:.55}.poi-parse-note{grid-column:1/-1}.poi-image-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px;display:grid}.poi-image-card{background:#fff;border:1px solid #ded8cd;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.poi-image-card img{aspect-ratio:16/9;object-fit:cover;background:#f2efe8;width:100%;height:auto;display:block}.poi-image-placeholder{aspect-ratio:16/9;color:#8b8577;background:#f2efe8;justify-content:center;align-items:center;width:100%;display:flex}.poi-image-meta{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.poi-image-selection{align-items:center;gap:8px;font-size:13px;display:flex}.poi-image-selection input{width:auto;margin:0}.poi-preview-state{text-align:center;flex-direction:column;gap:12px;padding:12px}.poi-image-meta strong{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.poi-image-prompt{white-space:pre-wrap;word-break:break-word;max-height:180px;font-size:12px;overflow-y:auto}.puzzle-card-canvas{aspect-ratio:16/9;background:#f2efe8;justify-content:center;align-items:center;width:100%;padding:10px;display:flex}.puzzle-card-canvas canvas{max-width:100%;max-height:100%;image-rendering:pixelated;border-radius:6px}.type-pill{color:#5f5748;text-transform:uppercase;letter-spacing:.04em;background:#ece7dc;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-pill{color:#8a5a22;background:#fff1c2;border-radius:999px;padding:3px 9px;font-size:12px}.tag-pill.city{color:#0f6b57;background:#e8f2ee}.modal-backdrop{z-index:1000;background:#14120e9e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fffdf8;border:1px solid #ded8cd;border-radius:18px;width:min(1120px,100%);max-height:92vh;padding:20px 24px 24px;overflow-y:auto;box-shadow:0 16px 48px #00000059}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.modal-header h2{margin:0 0 4px}.modal-header p{word-break:break-all;margin:0;font-size:13px}.modal-header button{border-radius:50%;flex-shrink:0;width:40px;height:40px;padding:0;font-size:22px;line-height:1}.puzzle-editor-body{grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);align-items:start;gap:24px;display:grid}.puzzle-editor-preview{background:#f7f3ea;border:1px solid #ded8cd;border-radius:14px;justify-items:center;gap:10px;padding:16px;display:grid}.puzzle-editor-preview canvas,.puzzle-editor-preview img{max-width:100%;image-rendering:pixelated;border-radius:8px}.puzzle-palette{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.puzzle-palette-swatch{border:1px solid #00000026;border-radius:50%;width:18px;height:18px}.puzzle-editor-form{gap:8px;display:grid}.puzzle-editor-fields{border:0;min-width:0;margin:0;padding:0}.puzzle-editor input{width:100%;min-width:0}.puzzle-editor .modal-header>div{overflow-wrap:anywhere;min-width:0}.puzzle-editor-section:first-child{border-top:none;margin-top:0;padding-top:0}.locale-tabs{border-bottom:1px solid #ded8cd;flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}@media (width<=720px){.poi-parse-row,.puzzle-editor-body{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
