*{box-sizing:border-box}body{margin:0;background:#f6f8f3;color:#334633;font:16px/1.8 system-ui,sans-serif}main{max-width:900px;margin:32px auto;padding:28px}h1{font-size:30px}h2{margin-top:38px;font-size:22px}h3{margin:0}a{color:#496d37;text-underline-offset:4px}article,form.panel,.panel{background:#fff;border:1px solid #dce4d4;border-radius:18px;padding:20px;margin:14px 0}p{margin:8px 0}label{display:block;margin:12px 0}input,textarea,select{display:block;width:100%;border:1px solid #bbc9af;border-radius:9px;padding:12px;font:inherit;background:white;color:inherit}textarea{min-height:120px}button{background:#567746;color:white;border:0;border-radius:10px;padding:12px 18px;font:inherit;cursor:pointer;min-height:44px}button:disabled{opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #a1bb87;outline-offset:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}small{overflow-wrap:anywhere}#notice{position:sticky;top:0;background:#edf3e5;padding:12px;border-radius:12px;z-index:2}#notice:empty{display:none}[hidden]{display:none!important}dialog{max-width:500px;width:calc(100% - 32px);border:1px solid #ccd8c1;border-radius:20px;color:inherit}dialog::backdrop{background:#21351e66}footer{margin-top:36px;padding-top:20px;border-top:1px solid #dce4d4;display:flex;gap:18px;flex-wrap:wrap}@media(max-width:600px){main{margin:0;padding:20px}article{padding:16px}}.review-selector{border:1px solid #dce4d4;border-radius:14px;margin:10px 0;padding:16px;min-width:0}.review-selector legend{padding:0 8px;font-weight:650}.review-characters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.review-characters button{display:flex;align-items:center;flex-direction:column;min-width:0;padding:8px;background:#f3f6ed;color:#334633;border:2px solid transparent;border-radius:14px;font-size:14px}.review-characters button[aria-pressed=true]{border-color:#587444;background:#e6efdb;box-shadow:0 0 0 2px white inset}.review-thumb{display:block;width:100%;max-width:128px;aspect-ratio:384/342;background-image:url('/characters.png');background-size:400% 300%;background-repeat:no-repeat}.review-characters button:hover{background:#eaf1e1}#reviewSelection{font-size:14px;font-weight:600}input,select,textarea{max-width:100%}@media(max-width:600px){.review-characters{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.review-selector{padding:10px}.review-characters button{font-size:13px;padding:5px}form.panel{padding:14px}}

.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.admin-summary div{background:#eef5e8;border:1px solid #d5e2cb;border-radius:14px;padding:16px}.admin-summary b{display:block;font-size:28px;color:#416332;line-height:1.1}.admin-summary span{font-size:13px;color:#65765d}.admin-summary+div article{border-left:4px solid #8bab70}.admin-summary+div article:has(button[data-refund]){border-left-color:#d39a55}@media(max-width:600px){.admin-summary{grid-template-columns:1fr 1fr}.admin-summary div:last-child{grid-column:1/-1}}

.failure-reason{color:#913e30;background:#fff1ed;padding:12px;border-radius:10px}.generation-status{font-weight:650}#orderDetail{width:min(700px,94vw);max-height:85vh;overflow:auto}#adminTickets article>button{margin:8px 8px 8px 0}

.review-characters img.review-thumb{background:none;object-fit:contain;width:100%;height:80px}

.admin-hub{padding:22px;background:#eef4e8;border-radius:20px;margin:20px 0}.ticket-toolbar{position:relative;padding:18px;background:#f5f7f1;border-radius:16px;margin:16px 0}.ticket-toolbar button[aria-pressed=true]{background:#365a35;color:white}.ticket-row{border:1px solid #dce3d5;border-radius:16px;margin:12px 0;padding:18px;background:white}.ticket-row summary{cursor:pointer;line-height:1.7}.ticket-row summary span{display:block;font-size:14px;color:#63705d}.ticket-row summary p{margin:8px 0;overflow-wrap:anywhere}.ticket-row[open] summary{border-bottom:1px solid #e0e5dc;padding-bottom:12px;margin-bottom:16px}.ticket-row form{margin-top:16px}.ticket-row textarea{min-height:130px}.admin-hub .actions,.ticket-toolbar .actions{display:flex;flex-wrap:wrap;gap:8px}#admin{border-bottom:2px solid #dce3d5;padding-bottom:24px;margin-bottom:32px}#notice{position:sticky;top:0;background:#f7faf3;z-index:5;padding:10px;border-radius:10px}
