*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,Helvetica Neue,sans-serif;font-size:16px;line-height:1.6;color:#222;background:#f0f0f0}.app{max-width:800px;margin:0 auto;padding:16px}.app-header{padding-bottom:12px;margin-bottom:20px;border-bottom:2px solid #333}.app-header h1{font-size:1.4rem;font-weight:700}.app-header p{font-size:.875rem;color:#555;margin-top:2px}.form-section{background:#fff;border:1px solid #ccc;padding:16px;margin-bottom:16px}.section-title{font-size:1rem;font-weight:700;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #ddd}.field-row{display:flex;gap:12px;margin-bottom:10px;align-items:flex-start}.field-label{min-width:140px;font-size:.875rem;padding-top:6px;flex-shrink:0}.field-input{flex:1}.field-input--short{max-width:120px}.required{color:#c00}input[type=text],input[type=date],input[type=datetime-local],input[type=tel],input[type=number],textarea{width:100%;padding:6px 8px;border:1px solid #aaa;font-size:.9rem;font-family:inherit;background:#fff;color:#222}input[type=text]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus{outline:2px solid #333;outline-offset:0}textarea{resize:vertical}.input-error{border-color:#c00!important}.field-error{font-size:.8rem;color:#c00;margin-top:3px}.radio-group{display:flex;flex-direction:column;gap:6px}.radio-group label{display:flex;align-items:center;gap:6px;font-size:.9rem;cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.food-items{margin-top:8px}.food-items-header{display:grid;grid-template-columns:40px 1fr 90px 60px;gap:6px;font-size:.8rem;font-weight:700;padding:4px 0;border-bottom:1px solid #ccc;margin-bottom:4px}.food-item-row{display:grid;grid-template-columns:40px 1fr 90px 60px;gap:6px;align-items:start;padding:4px 0;border-bottom:1px solid #eee}.food-no-label{display:flex;align-items:center;justify-content:center;padding-top:6px;font-size:.875rem;color:#555}.food-col-no{display:flex;align-items:center;justify-content:center}.food-col-qty input{text-align:right}.btn-remove{width:100%;padding:5px 4px;font-size:.8rem;background:#fff;border:1px solid #999;cursor:pointer;color:#555}.btn-remove:hover:not(:disabled){background:#f0f0f0}.btn-remove:disabled{opacity:.4;cursor:not-allowed}.btn-add{margin-top:8px;padding:6px 14px;font-size:.875rem;background:#fff;border:1px solid #666;cursor:pointer}.btn-add:hover{background:#f0f0f0}.gen-error{border:1px solid #c00;background:#fff0f0;padding:10px 14px;margin-bottom:12px;font-size:.875rem;color:#c00}.form-actions{margin-top:8px;margin-bottom:24px}.btn-submit{width:100%;padding:12px;font-size:1rem;font-weight:700;background:#222;color:#fff;border:none;cursor:pointer}.btn-submit:hover:not(:disabled){background:#444}.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.field-row{flex-direction:column;gap:4px}.field-label{min-width:unset;padding-top:0}.food-items-header{display:none}.food-item-row{grid-template-columns:1fr;border:1px solid #ccc;padding:8px;margin-bottom:6px;background:#fafafa}.food-no-label{justify-content:flex-start;font-weight:700;padding-top:0}.food-no-label:before{content:"食品 "}.food-col-name input,.food-col-qty input{width:100%}.food-col-qty input{text-align:left}.btn-remove{width:auto;align-self:flex-end}}
