@font-face{font-family:"Nunito Sans";font-weight:400;font-display:swap;src:url(assets/nunito-400.ttf) format("truetype")}@font-face{font-family:"Nunito Sans";font-weight:600;font-display:swap;src:url(assets/nunito-600.ttf) format("truetype")}@font-face{font-family:"Nunito Sans";font-weight:700;font-display:swap;src:url(assets/nunito-700.ttf) format("truetype")}*{box-sizing:border-box}body{margin:0;background:#fff;color:#1a2610;font-family:"Nunito Sans",sans-serif;font-size:16px}.page-container{width:100%;margin:auto;padding:0 12px;max-width:1140px}header{background:#61c414;padding:10px 0;height:70px}header img{width:147px;height:48px;object-fit:contain}main.page-container{margin-top:40px;padding-bottom:60px}.section-card{padding:20px 20px 25px;border-radius:4px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a;background:white}h2{margin:-20px 0 20px;border-bottom:1px solid #ddd}.section-toggle{padding:20px 0 28px;font-size:18px;font-weight:700;text-align:left;line-height:20px;color:inherit;cursor:pointer;background:none;border:0}.chevron{width:16px;height:16px;margin-right:0;flex-shrink:0}.section-toggle[aria-expanded=false] .chevron{transform:rotate(180deg)}.field{margin-bottom:15px;min-width:0}.field>label{display:block;padding-bottom:10px;font-size:14px;font-weight:400;line-height:16px}input:not([type=checkbox]):not([type=file]),select{width:100%;height:50px;border:1px solid rgba(97,196,20,.3);border-radius:4px;background:white;color:#1a2610;padding:15px;font:16px/19px "Nunito Sans",sans-serif;outline:none}input:focus,select:focus{border-color:#61c414;box-shadow:0 0 0 2px #61c41426}input::placeholder{color:#a3a3a3}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.input-icon{position:absolute;right:15px;top:13px;color:#73b733;font-weight:700;pointer-events:none}.notice{background:#e5b8b3;border:1px solid #dfdfdf;border-radius:4px;padding:10px;font-size:14px;line-height:20px;margin-bottom:30px}.copy-button,.upload-button{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #61c414;border-radius:4px;color:#61a929;background:#61c4140d;font-size:14px;font-weight:700;cursor:pointer;min-height:46px}.copy-button:hover,.upload-button:hover{background:#e8ffd6}.upload-row{margin:5px 0 15px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.filename{font-size:13px}.owner-notice{margin:0 0 30px;font-size:16px;line-height:24px}.intro{font-size:16px;margin:0 0 20px;line-height:24px}.category{font-size:16px;padding-top:35px}.card-options{margin-bottom:15px}.card-options label{display:flex;align-items:center;gap:8px;cursor:pointer}input[type=checkbox]{accent-color:#61c414;width:18px;height:18px}.actions{display:flex;justify-content:flex-end;gap:15px}.actions button{height:50px;padding:0 25px;border-radius:4px;border:1px solid #61c414;font-size:14px;font-weight:700;cursor:pointer}.secondary{color:#61a929;background:#61c4140d}.primary{background:#61c414;color:white}.primary:hover{background:#52a811}#status{font-size:14px;margin:16px 0;text-align:right}button:focus-visible,.upload-button:focus-within{outline:2px solid #377400;outline-offset:4px}[hidden]{display:none!important}@media(max-width:1199px){.page-container{max-width:960px}}@media(max-width:991px){.page-container{max-width:720px}}@media(max-width:767px){.page-container{max-width:540px}.section-card{padding:20px 16px 25px}.section-toggle{font-size:17px}.category{padding-top:0;padding-bottom:12px}.actions{flex-wrap:wrap}.actions button{flex:1;padding:0 16px}.card-options{gap:14px}.copy-button{font-size:12px;text-align:left}}
/* ---------- validation & submission states ---------- */
.req-mark{color:#c0392b;font-weight:700}
input.is-invalid:not([type=checkbox]):not([type=file]),select.is-invalid{border-color:#d9534f!important;background:#fffafa;box-shadow:0 0 0 2px #d9534f1f}
input.is-valid:not([type=checkbox]):not([type=file]),select.is-valid{border-color:#61c414}
.field-error{color:#b3261e;font-size:13px;line-height:18px;margin:6px 0 0;display:flex;gap:6px}
.field-error::before{content:"!";flex:0 0 16px;height:16px;border-radius:50%;background:#b3261e;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.upload-row+.field-error,.card-options+.field-error{margin:-8px 0 15px}
.error-summary{border:1px solid #e8b4ae;background:#fdf0ee;border-left:4px solid #b3261e;border-radius:4px;padding:14px 18px;margin-bottom:30px;outline:none}
.error-summary:focus{box-shadow:0 0 0 3px #b3261e33}
.error-summary-title{font-weight:700;margin:0 0 8px;color:#8f1d16}
.error-summary ul{margin:0;padding-left:20px;font-size:14px;line-height:22px}
.error-summary a{color:#8f1d16}
.hp-field{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.total-hint{font-size:14px;font-weight:700;margin:-8px 0 18px;color:#8a5a00}
.total-hint.is-ok{color:#377400}
.total-hint.is-over{color:#b3261e}
.total-hint.is-ok::after{content:" ✓"}
.file-clear{background:none;border:0;color:#b3261e;font:700 13px "Nunito Sans",sans-serif;cursor:pointer;text-decoration:underline;padding:0}
#status.is-error{color:#b3261e;font-weight:700}
.privacy-note{font-size:13px;color:#5d6a55;text-align:right;margin:0}
.primary.is-loading{opacity:.75;cursor:wait;position:relative;padding-left:46px}
.primary.is-loading::before{content:"";position:absolute;left:18px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.success-card{text-align:center;padding:48px 24px;outline:none}
.success-icon{width:64px;height:64px;border-radius:50%;background:#61c414;color:#fff;font-size:34px;line-height:64px;margin:0 auto 16px;font-weight:700}
.success-title{border:0;margin:0 0 12px;font-size:24px}
.success-ref{font-size:18px;margin:20px 0 4px}
.success-ref strong{font-family:ui-monospace,Consolas,monospace;background:#f1fbe8;padding:4px 10px;border-radius:4px}
.success-sub{font-size:14px;color:#5d6a55;margin:0 0 24px}
.success-card .secondary{height:50px;padding:0 25px;border-radius:4px;border:1px solid #61c414;font-size:14px;font-weight:700;cursor:pointer}
@media (prefers-reduced-motion:reduce){.primary.is-loading::before{animation:none}}

.draft-notice{background:#f1fbe8;border:1px solid #cfe6bb;border-left:4px solid #61c414;border-radius:4px;padding:12px 16px;margin-bottom:30px;font-size:14px;line-height:21px}
.link-button{background:none;border:0;padding:0;color:#377400;font:700 14px "Nunito Sans",sans-serif;text-decoration:underline;cursor:pointer}
