.dcfm-shell{--dcfm-bg:#f6f7fb;--dcfm-card:#fff;--dcfm-text:#172033;--dcfm-muted:#657086;--dcfm-border:#e6e9f0;--dcfm-accent:#6d4aff;max-width:1440px;margin:24px auto;background:var(--dcfm-bg);border:1px solid var(--dcfm-border);border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(30,35,55,.08);color:var(--dcfm-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.dcfm-topbar{height:72px;background:#fff;border-bottom:1px solid var(--dcfm-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.dcfm-brand{font-weight:800;letter-spacing:-.03em;font-size:22px}.dcfm-product{margin-left:8px;color:var(--dcfm-muted)}.dcfm-user{display:flex;gap:18px;align-items:center;font-size:14px}.dcfm-user a{color:var(--dcfm-muted);text-decoration:none}.dcfm-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:680px}.dcfm-sidebar{background:#fff;border-right:1px solid var(--dcfm-border);padding:22px 14px}.dcfm-sidebar nav{display:grid;gap:6px}.dcfm-sidebar a{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:10px;color:#485166;text-decoration:none;font-weight:600;font-size:14px}.dcfm-sidebar a:hover,.dcfm-sidebar a.active{background:#f0edff;color:var(--dcfm-accent)}.dcfm-sidebar .dashicons{font-size:18px;width:18px;height:18px}.dcfm-content{padding:28px;min-width:0}.dcfm-content .wrap.dcfm{margin:0}.dcfm-content .wrap.dcfm>h1{font-size:28px;line-height:1.2;margin:0 0 24px;color:var(--dcfm-text)}.dcfm-content .widefat{border:1px solid var(--dcfm-border);border-radius:12px;overflow:hidden;background:#fff;border-collapse:separate;border-spacing:0;width:100%}.dcfm-content .widefat th,.dcfm-content .widefat td{padding:12px;border-bottom:1px solid var(--dcfm-border);text-align:left;font-size:13px}.dcfm-content .button{display:inline-block;border:1px solid #d9ddea;background:#fff;border-radius:8px;padding:7px 12px;text-decoration:none;color:#30384a;cursor:pointer}.dcfm-content .button-primary,.dcfm-content button.button-primary{background:var(--dcfm-accent);border-color:var(--dcfm-accent);color:#fff}.dcfm-login{max-width:520px;background:#fff}.dcfm-login-card{padding:42px}.dcfm-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--dcfm-accent);font-weight:800}.dcfm-login-card h2{margin:8px 0}.dcfm-login-card label{display:block;margin:14px 0 6px}.dcfm-login-card input[type=text],.dcfm-login-card input[type=password]{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--dcfm-border);border-radius:8px}.dcfm-login-card input[type=submit]{margin-top:10px;border:0;border-radius:8px;padding:11px 18px;background:var(--dcfm-accent);color:#fff;cursor:pointer}@media(max-width:820px){.dcfm-shell{margin:10px;border-radius:14px}.dcfm-layout{grid-template-columns:1fr}.dcfm-sidebar{border-right:0;border-bottom:1px solid var(--dcfm-border);overflow-x:auto;padding:10px}.dcfm-sidebar nav{display:flex;min-width:max-content}.dcfm-content{padding:18px;overflow-x:auto}.dcfm-topbar{padding:0 16px}.dcfm-user span{display:none}}

/* v0.4.0 CRUD modules */
.dcfm-module{max-width:none}.dcfm-module-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 22px}.dcfm-module-head h1{margin:3px 0 4px;font-size:28px;line-height:1.15}.dcfm-module-head p{margin:0;color:#667085}.dcfm-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6941c6}.dcfm-alert{padding:12px 14px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;margin:0 0 16px}.dcfm-alert.success{border-color:#abefc6;background:#ecfdf3;color:#067647}.dcfm-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px;background:#fff;border:1px solid #eaecf0;border-radius:12px;margin:0 0 16px}.dcfm-filters input,.dcfm-filters select{min-height:38px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:6px 10px;box-shadow:none}.dcfm-filters input[type=search]{min-width:240px;flex:1}.dcfm-table-wrap{overflow:auto;background:#fff;border:1px solid #eaecf0;border-radius:12px}.dcfm-table{border:0!important;box-shadow:none!important}.dcfm-table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#667085;background:#f9fafb}.dcfm-table td{vertical-align:middle}.dcfm-table td small{display:block;color:#667085;margin-top:3px}.dcfm-actions{white-space:nowrap}.dcfm-actions a{margin-right:10px;font-weight:600;text-decoration:none}.dcfm-empty-cell{text-align:center!important;padding:34px!important;color:#667085}.dcfm-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#f2f4f7;color:#344054;white-space:nowrap}.dcfm-status-paid,.dcfm-status-approved,.dcfm-status-stamped,.dcfm-status-active,.dcfm-status-received{background:#ecfdf3;color:#067647}.dcfm-status-overdue,.dcfm-status-rejected,.dcfm-status-cancelled{background:#fef3f2;color:#b42318}.dcfm-status-due,.dcfm-status-pending,.dcfm-status-pending_review{background:#fffaeb;color:#b54708}.dcfm-status-proof_received,.dcfm-status-partial{background:#f4f3ff;color:#5925dc}.dcfm-panel{background:#fff;border:1px solid #eaecf0;border-radius:12px;margin:0 0 16px;overflow:hidden}.dcfm-panel summary{cursor:pointer;padding:15px 18px;font-weight:700;list-style:none}.dcfm-panel[open] summary{border-bottom:1px solid #eaecf0}.dcfm-panel form{padding:18px}.dcfm-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dcfm-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#344054}.dcfm-form input,.dcfm-form select,.dcfm-form textarea{width:100%;min-height:40px;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;background:#fff;box-shadow:none}.dcfm-form textarea{min-height:86px;resize:vertical}.dcfm-form label.full{grid-column:1/-1}.dcfm-form label small{font-weight:400;color:#667085}.dcfm-form-actions{display:flex;gap:8px;margin-top:16px}.dcfm-detail-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}.dcfm-detail-head>a:first-child{text-decoration:none;font-weight:600}.dcfm-detail{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#fff;border:1px solid #eaecf0;border-radius:14px;padding:22px;margin-bottom:16px}.dcfm-detail h2{margin:3px 0 4px}.dcfm-detail p{margin:0;color:#667085}.dcfm-detail-total{text-align:right}.dcfm-detail-total span{display:block;color:#667085;font-size:12px}.dcfm-detail-total strong{font-size:26px}.dcfm-grid-secondary{margin-top:12px}.dcfm-section{background:#fff;border:1px solid #eaecf0;border-radius:12px;padding:18px;margin:0 0 16px}.dcfm-section h3{margin:0 0 14px}.dcfm-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dcfm-section dl{display:grid;grid-template-columns:150px 1fr;gap:9px 14px;margin:0}.dcfm-section dt{color:#667085}.dcfm-section dd{margin:0;font-weight:600}.dcfm-docs{display:flex;gap:8px;flex-wrap:wrap}.dcfm-inline-form{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:900px){.dcfm-form{grid-template-columns:1fr 1fr}.dcfm-detail-grid{grid-template-columns:1fr}.dcfm-filters input[type=search]{min-width:180px}}
@media(max-width:640px){.dcfm-form{grid-template-columns:1fr}.dcfm-form label.full{grid-column:auto}.dcfm-detail{flex-direction:column}.dcfm-detail-total{text-align:left}.dcfm-detail-head{align-items:flex-start;gap:10px;flex-direction:column}.dcfm-filters>*{width:100%}.dcfm-filters input[type=search]{min-width:0}.dcfm-section dl{grid-template-columns:1fr;gap:3px}.dcfm-section dd{margin-bottom:8px}}
/* v0.6.0 recurring */
.dcfm-status-inactive{background:#f2f4f7;color:#667085}.dcfm-status-active{background:#ecfdf3;color:#067647}

.dcfm-status-earned{background:#f4f3ff;color:#5925dc}

/* v1.4.0 users */
.dcfm-user-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:0 0 16px}.dcfm-user-kpis .dcfm-card{margin:0}.dcfm-muted{color:#667085}.dcfm-link-button{border:0;background:none;padding:0;color:#6941c6;font:inherit;font-weight:600;cursor:pointer}.dcfm-inline-form{display:inline-flex;margin:0}.dcfm-check{justify-content:center}.dcfm-check input{width:auto!important;min-height:auto!important;margin-right:7px}.dcfm-user-security{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #eaecf0;padding:18px}.dcfm-user-security p{margin:4px 0 0;color:#667085;font-size:13px}
@media(max-width:900px){.dcfm-user-kpis{grid-template-columns:1fr 1fr}}@media(max-width:640px){.dcfm-user-kpis{grid-template-columns:1fr}.dcfm-user-security{align-items:flex-start;flex-direction:column}}

/* v1.8.0 · Alertas fiscales y documentales */
.dcfm-alert-list{display:grid;gap:12px;margin-top:16px}.dcfm-system-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border:1px solid #e5e7eb;border-left-width:4px;border-radius:12px;background:#fff}.dcfm-system-alert h4{margin:4px 0 6px}.dcfm-system-alert p{margin:3px 0}.dcfm-system-alert-critical{border-left-color:#b91c1c}.dcfm-system-alert-attention{border-left-color:#d97706}.dcfm-system-alert-upcoming{border-left-color:#2563eb}.dcfm-alert-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.dcfm-alert-badge{padding:3px 8px;border-radius:999px;background:#f1f5f9;font-weight:700}.dcfm-system-alert-critical .dcfm-alert-badge{background:#fee2e2;color:#991b1b}.dcfm-system-alert-attention .dcfm-alert-badge{background:#ffedd5;color:#9a3412}.dcfm-alert-widget{margin-top:22px}.dcfm-alert-list-page{margin-top:18px}@media(max-width:720px){.dcfm-system-alert{align-items:flex-start;flex-direction:column}.dcfm-system-alert>.button{width:100%;text-align:center}}
