.tm-wrap{max-width:980px;margin:0 auto;padding:16px}
.tm-cover{height:220px;border-radius:16px;background-size:cover;background-position:center;margin:0 0 14px 0}
.tm-card{background:#fff;border:1px solid #e6e6e6;border-radius:16px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.tm-header{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.tm-logo{width:64px;height:64px;object-fit:contain;border-radius:12px;border:1px solid #eee;background:#fff}
.tm-title{margin:0;font-size:24px}
.tm-sub{color:#666;margin-top:4px}
.tm-box{padding:10px 12px;border-radius:12px;margin:12px 0}
.tm-error{background:#fff5f5;border:1px solid #ffd1d1;color:#8a1f1f}
.tm-success{background:#f2fff4;border:1px solid #bde5c2;color:#1f6d2d}
.tm-info{background:#f4f6ff;border:1px solid #cfd7ff;color:#2a3aa3}
.tm-form{margin-top:12px}
.tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.tm-grid{grid-template-columns:1fr}}
.tm-field label{display:block;font-weight:600;margin-bottom:6px}
.tm-field input,.tm-field select,.tm-field textarea{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:12px;font-size:14px}
.tm-field textarea{min-height:120px;resize:vertical}
.tm-req{color:#b00;margin-left:4px}
.tm-consents{margin:14px 0;display:flex;flex-direction:column;gap:8px}
.tm-check{display:flex;gap:10px;align-items:flex-start}
.tm-check input{margin-top:3px}
.tm-btn{background:#111;color:#fff;border:none;border-radius:12px;padding:12px 14px;font-weight:700;cursor:pointer}
.tm-btn:hover{opacity:.92}

.tm-help{font-size:12px;color:#666;margin-top:6px}
