
:root{--opr-text:#141815;--opr-muted:#68716b;--opr-border:#e4e8e5;--opr-soft:#f5f7f5;--opr-accent:#6f8f45}
.opr-single,.opr-library{max-width:1120px;margin:48px auto;padding:0 22px;box-sizing:border-box}
.opr-header{max-width:900px;margin:0 auto 34px;text-align:center}.opr-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--opr-accent);margin-bottom:10px}.opr-header h1{margin:0 0 10px;color:var(--opr-text);font-size:clamp(34px,5vw,58px);line-height:1.04}.opr-meta{font-size:13px;color:var(--opr-muted)}
.opr-featured{margin-bottom:28px}.opr-featured img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:20px}
.opr-summary{border:1px solid var(--opr-border);border-radius:16px;background:var(--opr-soft);margin:0 0 30px;overflow:hidden}.opr-summary-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:18px 21px;font:inherit;font-weight:800;color:var(--opr-text);cursor:pointer;text-align:left}.opr-chevron{font-size:22px;transition:transform .2s}.opr-summary.is-collapsed .opr-chevron{transform:rotate(-90deg)}.opr-summary-body{padding:0 21px 20px;color:#4e5751;line-height:1.7}.opr-summary.is-collapsed .opr-summary-body{display:none}
.opr-content{max-width:850px;margin:0 auto 42px;line-height:1.75}.opr-downloads{border-top:1px solid var(--opr-border);padding-top:32px}.opr-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.opr-section-title h2{margin:0;font-size:27px}.opr-file-type{margin-bottom:24px}.opr-file-type-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.opr-file-type-badge{display:inline-flex;width:35px;height:35px;align-items:center;justify-content:center;border-radius:9px;background:#edf1ed;font-size:10px;font-weight:900}.opr-file-count{font-size:12px;color:var(--opr-muted);background:#f1f3f1;padding:3px 8px;border-radius:20px}.opr-download-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.opr-download-button{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border:1px solid var(--opr-border);border-radius:13px;text-decoration:none!important;color:var(--opr-text)!important;background:#fff;transition:.18s ease}.opr-download-button:hover{border-color:#bbc5bd;transform:translateY(-1px);box-shadow:0 5px 18px rgba(0,0,0,.05)}.opr-download-main{display:flex;align-items:center;gap:12px;min-width:0}.opr-download-icon{display:inline-flex;width:39px;height:39px;align-items:center;justify-content:center;border-radius:10px;background:var(--opr-text);color:#fff;font-size:9px;font-weight:900;flex:none}.opr-download-main small{display:block;color:var(--opr-muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.opr-download-arrow{font-size:20px}.opr-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.opr-card{overflow:hidden;border:1px solid var(--opr-border);border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(0,0,0,.045);transition:.18s ease}.opr-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.opr-card-image{display:block}.opr-card-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.opr-card-body{padding:22px}.opr-card h2{margin:0 0 9px;font-size:23px;line-height:1.18}.opr-card h2 a{text-decoration:none;color:var(--opr-text)}.opr-card p{margin:0 0 16px;color:var(--opr-muted);line-height:1.6}.opr-read-more{text-decoration:none;font-weight:800;color:var(--opr-text)}.opr-read-more span{margin-left:5px}.opr-empty-public{text-align:center;padding:50px;color:var(--opr-muted)}
/* Admin */
.opr-admin-intro{color:#646970}.opr-admin-group{border:1px solid #dcdcde;border-radius:10px;padding:14px;margin:0 0 12px;background:#fff}.opr-admin-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.opr-admin-group-head>div{display:flex;align-items:center;gap:9px}.opr-admin-group-icon{font-size:9px;font-weight:900;background:#eef0ee;border-radius:6px;padding:5px 6px}.opr-file-row{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;margin:8px 0}.opr-file-row .widefat{min-width:0}.opr-empty{display:none;color:#8c8f94;font-size:12px;margin:8px 0 0}.opr-file-list:empty+.opr-empty{display:block}
@media(max-width:600px){.opr-single,.opr-library{margin-top:28px;padding:0 15px}.opr-download-list{grid-template-columns:1fr}.opr-file-row{grid-template-columns:1fr}.opr-file-row button{width:100%}.opr-admin-group-head{align-items:flex-start;flex-direction:column}}

.opr-file-card{border:1px solid var(--opr-border);border-radius:14px;padding:14px;background:#fff}.opr-file-card-top{display:flex;align-items:center;gap:12px;min-width:0}.opr-file-name{min-width:0}.opr-file-name small{display:block;color:var(--opr-muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opr-file-actions{display:flex;gap:8px;margin-top:12px}.opr-action{appearance:none;border:1px solid var(--opr-border);background:#f7f8f7;color:var(--opr-text)!important;text-decoration:none!important;border-radius:9px;padding:8px 13px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.opr-action-primary{background:var(--opr-text);color:#fff!important;border-color:var(--opr-text)}.opr-modal{display:none;position:fixed;inset:0;z-index:999999}.opr-modal.is-open{display:block}.opr-modal-backdrop{position:absolute;inset:0;background:rgba(8,12,9,.78);backdrop-filter:blur(3px)}.opr-modal-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(940px,92vw);max-height:88vh;background:#fff;border-radius:16px;padding:12px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.opr-modal-x{position:absolute;right:10px;top:8px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:24px;line-height:1;z-index:2;cursor:pointer}.opr-video-frame{aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}.opr-video-frame iframe{width:100%;height:100%;border:0}.opr-native-video{display:block;width:100%;max-height:80vh;border-radius:10px;background:#000}.opr-image-dialog{background:transparent;padding:0}.opr-image-dialog img{display:block;max-width:100%;max-height:84vh;margin:auto;border-radius:10px}.opr-doc-dialog{height:min(82vh,800px)}.opr-doc-dialog iframe{width:100%;height:100%;border:0}.opr-doc-message{padding:60px 30px;text-align:center}.opr-admin-note{font-size:12px;color:#646970}

/* v1.3.0 UI refinement */
.opr-file-type-title{gap:12px;min-height:35px}
.opr-file-type-title strong{display:inline-block;line-height:1.3;margin:0}
.opr-file-type-badge{flex:0 0 35px;margin:0}
.opr-file-count{margin-left:2px}
.opr-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 10px;padding:10px;background:#f8f9f8;border:1px solid #e4e7e4;border-radius:9px}
.opr-file-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.opr-file-row-actions .button{margin:0}
.opr-file-row .widefat{height:38px}
.opr-admin-group{padding:16px;margin:0 0 16px}
.opr-admin-group-head{margin-bottom:13px}
.opr-admin-group-icon{min-width:30px;text-align:center}
.opr-empty{margin:8px 0 2px}
.opr-modal{isolation:isolate}
.opr-modal-backdrop{background:rgba(12,16,13,.84);z-index:0}
.opr-modal-dialog{z-index:1;overflow:hidden;padding:0;background:#fff;border:1px solid rgba(255,255,255,.28)}
.opr-modal-dialog:before{content:"Preview";display:flex;align-items:center;height:50px;padding:0 58px 0 18px;font-size:14px;font-weight:800;color:var(--opr-text);background:#fff;border-bottom:1px solid var(--opr-border)}
.opr-modal-x{top:7px;right:9px;width:36px;height:36px;background:#eef1ee;color:#141815;border:1px solid #d7ddd8;box-shadow:none;font-size:22px;line-height:32px}
.opr-modal-x:hover{background:#e2e7e3}
.opr-video-frame{margin:12px;border-radius:10px}
.opr-native-video{margin:12px;width:calc(100% - 24px);max-height:76vh}
.opr-image-dialog{background:#111;padding:0}
.opr-image-dialog:before{background:#fff}
.opr-image-dialog img{max-height:calc(84vh - 50px);margin:12px auto}
.opr-doc-dialog{height:min(82vh,800px)}
.opr-doc-dialog iframe{height:calc(100% - 50px)}
.opr-doc-message{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px}
body.opr-modal-open{overflow:hidden}
@media(max-width:700px){
    .opr-file-row{grid-template-columns:1fr}
    .opr-file-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
    .opr-file-row-actions .opr-remove-file{grid-column:1/-1}
}
@media(max-width:420px){
    .opr-file-row-actions{grid-template-columns:1fr}
    .opr-file-row-actions .opr-remove-file{grid-column:auto}
}

/* v1.4.0 final production UI */
.opr-file-type-title{display:flex;align-items:center;gap:12px}
.opr-file-type-title .opr-file-type-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:26px;margin:0;border-radius:7px}
.opr-file-type-title strong{display:block;margin:0;line-height:1.3}
.opr-file-count{margin-left:auto}

.opr-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 16px;padding:14px;background:#f7f8f7;border:1px solid #dde2de;border-radius:10px}
.opr-file-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.opr-file-row-actions .button{margin:0}
.opr-file-row .widefat{height:40px}
.opr-admin-group{padding:18px;margin:0 0 24px;border:1px solid #e0e3e0;border-radius:10px;background:#fff}
.opr-admin-group-head{margin-bottom:16px}
.opr-empty{padding:10px 0 2px}

.opr-file-actions{display:flex;gap:8px;flex-wrap:wrap}
.opr-copy-link{background:#fff!important}
.opr-copy-link.is-copied{font-weight:700}

.opr-modal{display:none;position:fixed;inset:0;z-index:999999}
.opr-modal.is-open{display:block}
.opr-modal-backdrop{position:absolute;inset:0;z-index:0;background:rgba(8,12,9,.82);backdrop-filter:blur(3px)}
.opr-modal-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:min(960px,92vw);height:auto;max-height:88vh;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.14);border-radius:16px;box-shadow:0 28px 90px rgba(0,0,0,.42);padding:0}
.opr-modal-header{height:52px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 10px 0 18px;background:#fff;border-bottom:1px solid #e2e5e2;box-sizing:border-box}
.opr-modal-header strong{font-size:14px;line-height:1.2;color:var(--opr-text)}
.opr-modal-x{position:static!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;margin:0;padding:0;border:1px solid #d7ddd8;border-radius:50%;background:#eef1ee;color:#141815;font-size:22px;line-height:1;box-shadow:none;cursor:pointer}
.opr-modal-x:hover{background:#e2e7e3}
.opr-modal-content{max-height:calc(88vh - 52px);overflow:auto;background:#fff}
.opr-video-frame{margin:12px;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.opr-video-frame iframe{display:block;width:100%;height:100%;border:0}
.opr-native-video{display:block;width:calc(100% - 24px);max-height:calc(88vh - 76px);margin:12px;border-radius:10px;background:#000}
.opr-image-preview{padding:12px;background:#111;text-align:center}
.opr-image-preview img{display:block;max-width:100%;max-height:calc(88vh - 76px);margin:auto;border-radius:10px}
.opr-pdf-preview{display:block;width:100%;height:calc(88vh - 52px);border:0}
.opr-doc-message{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
body.opr-modal-open{overflow:hidden}

@media(max-width:700px){
    .opr-file-row{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
    .opr-file-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .opr-file-row-actions .opr-remove-file{grid-column:1/-1}
    .opr-modal-dialog{width:94vw;border-radius:14px}
    .opr-modal-header{height:50px}
}
@media(max-width:420px){
    .opr-file-row-actions{grid-template-columns:1fr}
    .opr-file-row-actions .opr-remove-file{grid-column:auto}
}

/* v1.4.1 requested frontend adjustments only */
.opr-file-type-title{
    display:flex;
    align-items:center;
    gap:12px;
}
.opr-file-type-title .opr-file-type-badge{
    margin-right:0;
}
.opr-file-name strong{
    display:block;
    font-size:22px;
    line-height:1.3;
}

/* v1.4.2 exact requested corrections */
.opr-admin-group-title{
    display:flex;
    align-items:center;
    gap:8px;
}
.opr-admin-group-title .opr-admin-group-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
