/* Django-only adapters. Visual values come from merged_portal_19.html. */
.brand,.avatar,.nav-item,.totem-card{text-decoration:none;color:inherit}
.btn.btn-primary,.btn.btn-primary:hover,.btn.btn-primary:focus,.btn.btn-primary:active{text-decoration:none}
.side-foot form,.side-foot form .nav-item{width:100%}
.portal-card-head{margin-bottom:14px}
.portal-card-head p{color:var(--muted);font-size:12.5px;margin-top:4px}
.portal-messages{display:grid;gap:8px;margin-bottom:16px}
.portal-alert{padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--sky-soft);color:var(--text);font-size:12.5px}
.portal-list>*+*{border-top:1px solid var(--border)}
.portal-item-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.portal-item-copy>span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.portal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.portal-check>label{display:flex;align-items:center;gap:8px}
.django-tgl{display:block;position:relative;width:38px;height:22px;flex:none;cursor:pointer}
.django-tgl input{position:absolute;opacity:0;pointer-events:none}
.django-tgl .tgl{display:block}
.django-tgl input:checked+.tgl{background:var(--ok)}
.django-tgl input:checked+.tgl::after{left:19px}
.django-tgl input:focus-visible+.tgl{outline:2px solid var(--sky);outline-offset:2px}
.field input[type="email"],.field input[type="password"],.field input[type="url"],.field input[type="file"],.field textarea{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);font:inherit}
.field textarea{min-height:100px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(53,182,240,.18)}
.errorlist{list-style:none;color:var(--err);font-size:11.5px;margin-top:5px}
.mini-device .mini-screen{background:#fff}
.mini-device iframe{position:absolute;left:50%;top:50%;width:1280px;height:800px;border:0;translate:-50% -50%;transform-origin:center;pointer-events:none}
.device-wrap .device{width:min(100%,820px);aspect-ratio:1280/800;overflow:hidden}
.device-wrap .device iframe{position:absolute;left:50%;top:50%;width:1280px;height:800px;border:0;translate:-50% -50%;transform-origin:center}
.portal-toggle-group{display:grid;gap:8px}
.designer.is-form-only{display:block}
.portal-toggle-copy{display:flex;flex-direction:column;gap:2px}
.portal-toggle-copy>span{font-size:11.5px;color:var(--muted)}
.portal-upload-progress{border:1px solid var(--border);border-radius:var(--r-sm);padding:12px;margin-top:12px}
.portal-upload-head,.portal-upload-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.portal-upload-progress progress{width:100%;accent-color:var(--brand)}
.resource-empty-form{display:none}
@media(max-width:640px){.item-row{flex-direction:column}.item-actions{flex-wrap:wrap}.field-row{grid-template-columns:1fr}}
