/* V5 operations UI; inherits the V4.5 brand palette; no injected ad HTML */
.ops-feature{margin:22px auto 30px;padding:18px 0;max-width:1280px}
.ops-feature-head{margin-bottom:16px}.ops-feature-head h2{font-size:clamp(20px,2.3vw,30px);margin:2px 0;color:#234038}
.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ops-card{padding:clamp(16px,2.5vw,26px);background:#fffdf8;border:1px solid #e7e6d8;border-radius:19px;box-shadow:0 10px 30px rgba(15,40,30,.04)}
.ops-card h3{font-size:20px;margin:0 0 12px}.ops-card p{line-height:1.7;margin:9px 0}.ops-muted{color:#64756c;font-size:14px}.ops-metric{font-size:32px;font-weight:800;color:#315b49}
.ops-msg{color:#2b634e;font-weight:600;margin:15px 0;min-height:25px}.ops-subtitle{margin:20px 0 12px;font-size:20px}
.ops-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;min-width:0}
.ops-owned{margin:0;padding:9px;background:#f4f5eb;border-radius:12px;text-align:center;min-width:0}
.ops-owned img{width:100%;aspect-ratio:2/3;object-fit:contain;border-radius:8px}.ops-owned figcaption{font-size:12px;line-height:1.5;margin-top:6px;color:#3a5349}.ops-owned small{display:block}
.ops-summon{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr);gap:20px}
.ops-summon label{display:block;font-weight:700;margin:15px 0}
.ops-summon select{max-width:320px;width:100%;display:block;padding:12px;border:1px solid #c6d0be;border-radius:9px;background:white;font:inherit}
.ops-buttons{display:flex;flex-wrap:wrap;gap:10px}.ops-buttons .btn{min-height:56px}
.ops-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.ops-slot{padding:15px;background:#fffdf8;border:1px solid #dddccc;border-radius:14px;display:flex;flex-direction:column;gap:9px}
.ops-slot small{color:#64756c}.ops-slot label{display:flex;align-items:center;gap:8px;font-size:13px}
.ops-feature button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:720px){.ops-feature{padding:0 14px;margin:14px auto}.ops-grid,.ops-summon{grid-template-columns:1fr}.ops-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-buttons{display:grid;grid-template-columns:1fr 1fr}.ops-buttons .btn{padding:10px;font-size:13px}}
@media(max-width:360px){.ops-buttons{grid-template-columns:1fr}.ops-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V5.1 official card metadata drafting controls */
.ops-editor-panel{margin:24px 0;padding:4px 0}.ops-editor-panel select{max-width:100%;margin:8px 0 14px}.ops-editor-panel .ops-card{display:grid;gap:14px}.ops-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.ops-skill-row{display:grid;grid-template-columns:minmax(115px,1fr) minmax(95px,1fr) minmax(160px,2fr);gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.08)}.ops-skill-row strong{grid-column:1/-1}.ops-skill-row input,.ops-skill-row textarea,.ops-stats input{width:100%;min-width:0}.ops-editor-panel textarea{width:100%}@media(max-width:600px){.ops-skill-row{grid-template-columns:1fr}.ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V5.2 private card artwork operator tools */
.ops-art-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0}.ops-art-asset{margin:0;min-width:0}.ops-art-asset img{width:100%;max-height:260px;object-fit:contain;background:#f4f4f0;border-radius:12px}.ops-art-asset figcaption{font-size:11px;overflow-wrap:anywhere;margin:5px 0}.ops-art-library .btn{font-size:12px}.ops-card form{min-width:0}

/* V5.2 3D versioned asset management: prevent long immutable keys from stretching mobile layouts. */
.ops-model-panel,.ops-model-panel .ops-card,.ops-model-panel form{min-width:0;max-width:100%}
.ops-model-panel .ops-card{grid-template-columns:minmax(0,1fr)}
.ops-model-panel select,.ops-model-panel input[type=file]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.ops-model-panel li,.ops-model-panel p,.ops-model-panel label{overflow-wrap:anywhere;min-width:0}
.ops-model-panel li button,.ops-model-panel li a{max-width:100%;white-space:normal}
/* Shared operator upload controls must not force narrow screens wider than their viewport. */
.ops-editor-panel input[type=file]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}

/* V5.2 operator audit: readable at 320px without exposing raw JSON. */
.ops-audit-panel{margin:28px 0;min-width:0;max-width:100%}
.ops-audit-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.ops-audit-controls label{display:grid;gap:7px;min-width:0;flex:1 1 205px}
.ops-audit-controls select{width:100%;max-width:100%;min-width:0;padding:10px;border-radius:10px;border:1px solid #c6d0be;background:white}
.ops-audit-list{padding:0;list-style:none;display:grid;gap:8px;margin:12px 0}
.ops-audit-list li{border:1px solid #e0e5d9;background:#fffdf8;border-radius:10px;padding:12px 14px;overflow-wrap:anywhere;font-size:13px;line-height:1.6}
@media(max-width:420px){.ops-audit-controls{display:grid;grid-template-columns:minmax(0,1fr)}.ops-audit-controls button{width:100%}}

/* V5.2 wardrobe GLB preview CMS, mobile-safe controls */
.ops-wardrobe-panel{margin:28px 0;min-width:0;max-width:100%}
.ops-wardrobe-panel .ops-card{display:grid;gap:12px;min-width:0;grid-template-columns:minmax(0,1fr)}
.ops-wardrobe-panel label{min-width:0;overflow-wrap:anywhere}
.ops-wardrobe-panel input,.ops-wardrobe-panel select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.ops-wardrobe-assets{list-style:none;padding:0;display:grid;gap:10px;min-width:0}
.ops-wardrobe-assets li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;overflow-wrap:anywhere;border-bottom:1px solid #e7e6d8;padding:8px 0;min-width:0}
.ops-wardrobe-assets li span{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}
.wardrobe-preview-gallery{display:flex;gap:8px;flex-wrap:wrap;min-width:0;margin:10px 0}
.wardrobe-preview-gallery button{max-width:100%;white-space:normal}

.ops-readiness-panel{margin:24px 0;min-width:0}.ops-readiness-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:8px}.ops-readiness-list li{padding:12px;border-radius:12px;background:#fffdf8;border:1px solid #e1e6d9;overflow-wrap:anywhere;font-size:13px;line-height:1.6}

.ops-support-panel{margin:28px 0;min-width:0;max-width:100%}
.ops-support-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}
.ops-support-toolbar label{display:grid;gap:7px;min-width:180px}
.ops-support-toolbar select,.ops-support-form select,.ops-support-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:10px;border:1px solid #c6d0be;border-radius:10px;background:#fff}
.ops-support-columns{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:14px;min-width:0}
.ops-support-list,.ops-support-detail{min-width:0;max-width:100%;overflow-wrap:anywhere}
.ops-support-list{display:grid;align-content:start;gap:8px}
.ops-support-ticket{display:grid;gap:5px;text-align:left;padding:12px;border:1px solid #e0e5d9;border-radius:10px;background:#fffdf8;color:inherit;cursor:pointer}
.ops-support-ticket:hover,.ops-support-ticket:focus-visible{border-color:#769579;outline:2px solid #d5e4d0}
.ops-support-ticket small,.ops-support-message small{color:#687266;overflow-wrap:anywhere}
.ops-support-detail{padding:14px;border:1px solid #e0e5d9;border-radius:14px;background:#fffdf8}
.ops-support-messages{display:grid;gap:9px;margin:14px 0}
.ops-support-message{padding:11px;border-radius:10px;background:#f5f6ef;overflow-wrap:anywhere}
.ops-support-message p{white-space:pre-wrap;margin:7px 0 0}
.ops-support-message small{display:block}
.ops-support-form{display:grid;gap:10px;margin-top:16px}
.ops-support-form label{display:grid;gap:6px;min-width:0}
.ops-support-form textarea{resize:vertical;font:inherit;line-height:1.5}
@media(max-width:680px){.ops-support-columns{grid-template-columns:minmax(0,1fr)}.ops-support-toolbar{align-items:stretch}.ops-support-toolbar label{flex:1 1 100%}.ops-support-toolbar button{width:100%}}
