.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.type-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-height:245px}
.type-card h2{color:var(--navy);font-size:19px;margin:14px 0 8px}.type-card p{color:var(--muted);font-size:14px;flex:1}
.type-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#eaf3f8;color:var(--blue);font-size:23px;font-weight:800}.compact{width:auto}
.form-section{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0;margin-bottom:0}.form-section h2{font-size:16px;margin-bottom:18px}
.identity-box{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f4f8fa;border-radius:10px;padding:15px;margin-bottom:18px}.identity-box small,.identity-box strong{display:block}.identity-box small{color:var(--muted);font-weight:400}.identity-box strong{color:var(--navy);margin-top:2px}
fieldset{border:0;padding:0;margin:0 0 16px}legend,.field-title{font-size:13px;font-weight:700;margin-bottom:10px}legend span,.field-title span{color:var(--danger)}
.choice-row{display:flex;gap:22px;min-height:46px;align-items:center}.choice-row label,.punch-card label{display:flex;align-items:center;gap:8px;margin:0}.choice-row input,.punch-card label input{width:auto;margin:0}
.punch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.punch-card{border:1px solid var(--line);border-radius:10px;padding:14px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.period-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 38px;gap:12px;align-items:end;padding:12px 14px;background:#f4f8fa;border-radius:10px;margin-bottom:10px}.period-row label{margin:0}.remove-period{width:38px;height:43px;border:0;border-radius:8px;background:#fbe3e1;color:var(--danger);font-size:22px;cursor:pointer}.add-period{margin:0 0 20px}
@media(max-width:900px){.type-grid{grid-template-columns:1fr 1fr}.punch-grid{grid-template-columns:1fr}.period-row{grid-template-columns:1fr 1fr}.period-row label:first-child{grid-column:1/-1}.identity-box{grid-template-columns:1fr}}
@media(max-width:600px){.type-grid{grid-template-columns:1fr}.period-row{grid-template-columns:1fr}.period-row label:first-child{grid-column:auto}.compact{width:100%}}
