.resource-workspace{--resource-gap:18px;max-width:1280px}.resource-workspace .page-heading p,.resource-editor .page-heading p{font-size:.85rem;line-height:1.9}.resource-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:18px;margin-bottom:24px}.resource-filters .field{flex:1 1 180px;margin:0}.resource-filters .resource-search{flex:2 1 220px}.resource-filters .field select,.resource-filters input{min-height:44px}.resource-filters .button{min-height:44px}.resource-list-heading h2{font-size:1.1rem}.resource-list-heading>.muted{font-size:.8rem}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--resource-gap)}.resource-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;min-width:0;box-shadow:var(--shadow)}.resource-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.resource-card-top>.muted{font-size:.65rem;margin-inline-start:auto}.resource-format{display:inline-flex;align-items:center;justify-content:center;min-width:47px;min-height:37px;padding:6px 9px;border-radius:10px;color:var(--accent-text);background:var(--accent-soft);font-size:.73rem;font-weight:700}.resource-card h3{font-size:1rem;line-height:1.9;margin:18px 0 8px;overflow-wrap:anywhere}.resource-card h3 a:hover{color:var(--accent-text)}.resource-course-name{color:var(--muted);font-size:.72rem;line-height:1.9}.resource-summary{font-size:.8rem;line-height:2;color:var(--muted);overflow-wrap:anywhere;margin-block:16px 22px}.resource-card-footer{margin-block-start:auto;padding-block-start:15px;border-block-start:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.resource-card-footer>.muted{font-size:.7rem}.resource-card-footer .text-link{font-size:.76rem;min-height:44px;display:inline-flex;align-items:center}.resource-pagination{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px;font-size:.85rem}.resource-update{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border:1px solid var(--border);border-radius:12px;background:var(--accent-soft);color:var(--accent-text);margin-bottom:20px;font-size:.85rem}.resource-reader,.resource-editor{max-width:780px;margin-inline:auto}.resource-form .field{margin-block:20px}.resource-form .field:first-of-type{margin-top:0}.resource-form .errorlist{color:var(--danger);font-size:.82rem;line-height:1.9;padding-inline-start:20px}.resource-errors{padding:16px;border-radius:12px;background:var(--danger-bg);color:var(--danger);font-size:.85rem;line-height:2}.resource-errors a{text-decoration:underline}.resource-upload-box{padding:20px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);margin-block:18px}.resource-file-label{display:flex;gap:8px;align-items:center;font-size:.88rem;margin-bottom:12px}.resource-upload-box input[type=file]{width:100%;max-width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:8px;border-radius:10px;font:inherit;font-size:.82rem;min-height:44px}.resource-upload-box input::file-selector-button{background:var(--accent-soft);color:var(--accent-text);border:0;padding:10px;border-radius:7px;font:inherit;margin-inline-end:10px;cursor:pointer}.resource-file-help,.resource-upload-box .muted,.resource-upload-box>p{font-size:.78rem;line-height:2;overflow-wrap:anywhere}.resource-file-help{color:var(--muted);margin-top:12px}.resource-form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:26px}.resource-form-actions>[role=status]{font-size:.8rem;color:var(--muted)}.resource-form-actions .button{min-height:44px}.resource-detail-top{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.resource-detail h1{font-size:1.6rem;line-height:1.8;margin-block:18px 8px;overflow-wrap:anywhere}.resource-detail>.muted{font-size:.8rem}.resource-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.2;margin-block:25px;font-size:.94rem}.resource-metadata{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--surface-soft);border-radius:12px;padding:20px;margin:24px 0}.resource-metadata dt{font-size:.74rem;color:var(--muted);margin-bottom:8px}.resource-metadata dd{font-size:.85rem;margin:0;overflow-wrap:anywhere}.resource-external{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.resource-external bdi{direction:ltr;overflow-wrap:anywhere;max-width:100%;font-size:.9rem}.resource-external>.muted{font-size:.78rem}.resource-management{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:24px;margin-top:28px}.resource-picker{max-width:600px}.resource-picker>h2{margin-block:10px}.resource-picker>.muted{font-size:.85rem;margin-bottom:20px}.resource-picker-item{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:5px 12px;padding:16px;border:1px solid var(--border);border-radius:12px;margin-block:10px}.resource-picker-item strong{font-size:.95rem;overflow-wrap:anywhere}.resource-picker-item span{font-size:.75rem;color:var(--muted);grid-column:1}.resource-picker-item svg{grid-column:2;grid-row:1/3;align-self:center}.resource-picker-item:hover{border-color:var(--accent)}
@media(max-width:1180px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.resource-grid{grid-template-columns:minmax(0,1fr)}.resource-filters{padding:16px;gap:12px}.resource-filters .field,.resource-filters .resource-search{flex:1 1 100%}.resource-filters .button{width:100%}.resource-filters input,.resource-filters select,.resource-form input,.resource-form textarea,.resource-form select{font-size:16px}.resource-card{padding:18px}.resource-card h3{font-size:1.03rem}.resource-form-actions .button{flex:1}.resource-upload-box{padding:14px}.resource-metadata{grid-template-columns:1fr;padding:16px;gap:16px}.resource-detail h1{font-size:1.3rem}.resource-management{align-items:stretch;flex-direction:column}.resource-management .button{width:100%}.resource-pagination{gap:10px;font-size:.75rem}.resource-update .button{width:100%}.resource-picker{width:calc(100% - 20px)}.resource-workspace .page-heading{align-items:flex-start}.resource-workspace .page-heading>.button{min-height:44px}}
.resource-form .field label .muted{color:var(--muted)}
