/* Divi Church Document Manager v1.1.0 — styles scoped to plugin output */
.twdcm { --twdcm-accent:#2c2e6b; --twdcm-accent-dark:#202251; --twdcm-border:#dfe6ea; --twdcm-text:#243544; color:var(--twdcm-text); font-family:inherit; line-height:1.55; }
.twdcm *, .twdcm *::before, .twdcm *::after { box-sizing:border-box; }
.twdcm h2,.twdcm h3 { color:var(--twdcm-text); margin-top:0; line-height:1.25; }
.twdcm p { margin:0 0 15px; }
.twdcm-manager { max-width:940px; margin:20px 0 32px; }
.twdcm-intro { margin-bottom:22px; }
.twdcm-intro h2 { font-size:clamp(25px,3vw,34px); margin-bottom:9px; }
.twdcm-help { font-size:13px; color:#657788; }
.twdcm-panel { background:#fff; border:1px solid var(--twdcm-border); border-radius:12px; padding:25px; margin:0 0 18px; box-shadow:0 3px 15px rgba(16,46,64,.035); }
.twdcm-panel-heading { display:flex; justify-content:space-between; gap:14px; align-items:center; flex-wrap:wrap; margin-bottom:10px; }
.twdcm-panel-heading h3 { margin:0; font-size:21px; }
.twdcm-tag { font-size:12px; font-weight:700; color:var(--twdcm-accent); background:#eaf0f3; border-radius:99px; padding:5px 10px; }
.twdcm-form { display:flex; gap:12px; align-items:end; flex-wrap:wrap; border-radius:9px; background:#f7f9fb; padding:15px; margin:17px 0; }
.twdcm-field { display:flex; flex-direction:column; gap:6px; flex:1 1 215px; min-width:0; font-weight:600; font-size:13px; }
.twdcm-field input[type="month"],.twdcm-field input[type="file"] { display:block; width:100%; min-height:42px; border:1px solid #cdd8df; border-radius:6px; padding:8px; background:#fff; color:#243544; font:inherit; font-weight:400; font-size:14px; }
.twdcm-submit { min-height:43px; background:var(--twdcm-accent); color:#fff; font-size:14px; font-weight:700; border:0; border-radius:6px; padding:11px 19px; cursor:pointer; }
.twdcm-submit:hover,.twdcm-submit:focus { background:var(--twdcm-accent-dark); color:#fff; }
.twdcm-item { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #ecf0f2; padding:11px 0; font-size:14px; }
.twdcm-item a { margin-left:10px; }
.twdcm-pill { display:inline-block; margin-left:6px; font-size:11px; background:#eef3f5; color:#4a6476; border-radius:40px; padding:4px 8px; white-space:nowrap; }
.twdcm-remove { margin:0; }
.twdcm-remove-button { background:transparent; border:1px solid #d7a5a5; border-radius:5px; padding:6px 12px; color:#8b2424; font-weight:600; font-size:12px; cursor:pointer; }
.twdcm-remove-button:hover { background:#fff1f1; }
.twdcm-empty { color:#758595; font-style:italic; font-size:14px; }
.twdcm-shortcodes { margin-top:20px; padding:20px 24px; background:#eff4f6; border-radius:10px; }
.twdcm-shortcodes h3 { font-size:20px; margin-bottom:12px; }
.twdcm-shortcodes p { margin:7px 0; font-size:14px; }
.twdcm code { font:13px/1.7 monospace; padding:2px 5px; background:#e3eaee; color:#173e54; border-radius:4px; }
.twdcm-notice { padding:13px 16px; margin:0 0 20px; border-radius:7px; font-size:14px; font-weight:600; }
.twdcm-success { background:#ecf8ed; border:1px solid #92c99b; color:#236432; }
.twdcm-error { background:#fff2f0; border:1px solid #e7aaa1; color:#8b2721; }
.twdcm-public-section { margin-bottom:28px; }
.twdcm-public-section h3 { font-size:22px; margin-bottom:13px; }
.twdcm-public-buttons { display:flex; align-items:stretch; flex-wrap:wrap; gap:12px; }
.twdcm-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:15px 20px; min-height:54px; text-decoration:none!important; text-align:center; color:#fff!important; background:var(--twdcm-accent); border-radius:7px; font-size:15px; font-weight:700; line-height:1.3; transition:background .15s ease,transform .15s ease; }
.twdcm-button:hover,.twdcm-button:focus { background:var(--twdcm-accent-dark); color:#fff!important; transform:translateY(-1px); }
.twdcm-file-icon { font-size:19px; line-height:1; }
.twdcm-arrow { font-size:20px; line-height:1; margin-left:3px; }
@media (max-width:600px) { .twdcm-panel { padding:18px; } .twdcm-form { align-items:stretch; flex-direction:column; } .twdcm-field,.twdcm-submit { width:100%; flex:auto; } .twdcm-button { width:100%; } }
