.crudToolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 16px}.crudToolbar .left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.crudToolbar .hint{color:var(--muted);font-size:13px}.crudActions{display:flex;gap:8px;align-items:center;white-space:nowrap}.crudBtn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:8px 12px;font:inherit;cursor:pointer}.crudBtn:hover{background:#f4f7f2}.crudBtn.primary{background:#2f7d32;color:#fff;border-color:#2f7d32}.crudBtn.danger{color:#a52424;border-color:#e1b4b4;background:#fff}.crudBtn:disabled{opacity:.55;cursor:not-allowed}.crudTable td:last-child,.crudTable th:last-child{text-align:right}.crudRow{cursor:pointer}.crudRow:hover td{background:#f8fbf7}.crudRow:focus{outline:2px solid #77bd49;outline-offset:-2px}.crudModalBackdrop{position:fixed;inset:0;background:rgba(4,20,12,.48);z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px}.crudModal{width:min(900px,100%);height:min(88vh,900px);max-height:900px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.26);display:flex;flex-direction:column}.crudModal>form{display:flex;flex-direction:column;min-height:0;flex:1}.crudModalHead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line);flex:0 0 auto;background:#fff;z-index:2}.crudModalHead h2{margin:0}.crudModalBody{padding:22px;overflow:auto;min-height:0;flex:1}.crudFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.crudField{display:flex;flex-direction:column;gap:7px}.crudField.full{grid-column:1/-1}.crudField label{font-size:13px;font-weight:700;color:#46554b}.crudField input,.crudField select,.crudField textarea{width:100%;border:1px solid #ccd8cf;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;color:var(--text)}.crudField textarea{min-height:110px;resize:vertical}.crudCheck{display:flex;align-items:center;gap:10px;min-height:44px}.crudCheck input{width:18px;height:18px}.crudRequired{color:#b52b2b}.crudModalFoot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--line);flex:0 0 auto;background:#fff;z-index:2}.crudFootSpacer{flex:1}.crudMessage{margin-top:14px;border-radius:10px;padding:10px 12px;font-size:14px}.crudMessage.error{background:#fff1f1;color:#8d1f1f;border:1px solid #efc4c4}.crudMessage.ok{background:#eff8ee;color:#245d28;border:1px solid #cce4ca}.crudBadge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef5eb;color:#315d32;font-size:12px}.crudEmpty{padding:34px;text-align:center;color:var(--muted)}.crudEyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.crudDetailModal{width:min(980px,100%)}.crudDetailSection{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line)}.crudDetailSection:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.crudDetailSection h3{font-size:17px;margin:0 0 14px}.crudDetailGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.crudDetailItem{padding:14px;border:1px solid #e1e9e2;border-radius:12px;background:#f9fbf8;min-width:0}.crudDetailItem.wide{grid-column:1/-1}.crudDetailItem small{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.crudDetailItem strong{display:block;font-size:15px;line-height:1.35;white-space:pre-wrap;word-break:break-word}@media(max-width:900px){.crudDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.crudModalBackdrop{padding:0;align-items:flex-end}.crudModal{width:100%;height:92vh;max-height:92vh;border-radius:18px 18px 0 0}.crudFormGrid{grid-template-columns:1fr}.crudField.full{grid-column:auto}.crudActions{flex-wrap:wrap}.crudToolbar{align-items:stretch}.crudToolbar .left{width:100%}.crudBtn{min-height:42px}.crudDetailGrid{grid-template-columns:1fr}.crudDetailItem.wide{grid-column:auto}.crudModalFoot{padding:12px 14px;flex-wrap:wrap}.crudFootSpacer{display:none}.crudModalFoot .crudBtn{flex:1 1 auto}}