
/* EFLIS COMPONENT LIBRARY v8
   Components only. Brand tokens come from eflis-design-system.css. */
.ef-page{width:min(calc(100% - 32px),var(--ef-page,1360px));margin:0 auto;padding:24px 0 40px}
.ef-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
 padding:17px 19px;margin-bottom:14px;border:1px solid var(--ef-border);border-radius:18px;
 background:linear-gradient(135deg,#fff,#eef8fe);box-shadow:var(--ef-shadow-sm)}
.ef-page-title{display:flex;gap:13px;align-items:center}.ef-page-title__icon{width:46px;height:46px;border-radius:13px;
 display:grid;place-items:center;background:linear-gradient(145deg,var(--ef-brand-500),var(--ef-brand-800));color:#fff;font-size:22px;
 box-shadow:0 7px 18px rgba(8,105,166,.18)}
.ef-page-title h1{font-size:26px;margin:0;color:var(--ef-brand-900)}.ef-page-title p{margin:4px 0 0;color:var(--ef-muted);font-size:13px}
/* module bar */
.ef-modulebar{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:7px;background:rgba(255,255,255,.92);
 border:1px solid var(--ef-border);border-radius:14px;box-shadow:var(--ef-shadow-sm);scrollbar-width:thin}
.ef-modulebar__item{flex:0 0 auto;min-height:40px;padding:8px 13px;border:0;border-radius:10px;background:#edf5fa;
 color:var(--ef-brand-900);font-weight:750;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:none}
.ef-modulebar__item:hover{background:#e3f1f9}.ef-modulebar__item.active,.ef-modulebar__item[aria-selected=true]{
 background:linear-gradient(135deg,var(--ef-brand-600),var(--ef-brand-800));color:#fff;box-shadow:0 5px 14px rgba(8,91,150,.18)}
/* toolbar */
.ef-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0}
.ef-toolbar__group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* buttons */
.ef-button{min-height:42px;padding:9px 14px;border:0;border-radius:10px;font-weight:800;cursor:pointer;
 display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--ef-brand-600),var(--ef-brand-800));color:#fff;
 box-shadow:var(--ef-shadow-sm)}
.ef-button--soft{background:#edf6fb;color:var(--ef-brand-900);border:1px solid var(--ef-border);box-shadow:none}
.ef-button--success{background:linear-gradient(135deg,#12ad73,#078f91)}.ef-button--danger{background:linear-gradient(135deg,#c84a4f,#a82e34)}
.ef-button--purple{background:linear-gradient(135deg,#895bed,#5265ef)}
/* cards and stats */
.ef-card{background:#fff;border:1px solid var(--ef-border);border-radius:14px;box-shadow:var(--ef-shadow-sm);padding:16px}
.ef-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ef-card__head h2,.ef-card__head h3{margin:0}
.ef-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}
.ef-stat{background:linear-gradient(145deg,#fff,#f8fcff);border:1px solid var(--ef-border);border-radius:13px;padding:13px;box-shadow:var(--ef-shadow-sm)}
.ef-stat__label{font-size:11px;color:var(--ef-muted);min-height:28px}.ef-stat__value{font-size:24px;font-weight:850;color:var(--ef-brand-900);margin-top:4px}
/* table */
.ef-table-wrap{overflow:auto;border:1px solid var(--ef-border);border-radius:12px;background:#fff}
.ef-table{width:100%;border-collapse:separate;border-spacing:0}.ef-table th{padding:10px 11px;background:#eaf5fb;color:var(--ef-brand-900);
 font-size:12px;text-align:left;white-space:nowrap}.ef-table td{padding:10px 11px;border-top:1px solid #dbe8f1}.ef-table tbody tr:hover{background:#f7fbfe}
/* badge */
.ef-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#e7f3fa;color:#176087;font-size:11px;font-weight:800}
.ef-badge--success{background:#e1f6ed;color:#08754d}.ef-badge--warn{background:#fff2d8;color:#96630b}.ef-badge--danger{background:#fde7e8;color:#a43238}
/* form */
.ef-form-card{background:#fff;border:1px solid var(--ef-border);border-radius:14px;padding:16px;box-shadow:var(--ef-shadow-sm)}
.ef-field{display:grid;gap:6px}.ef-field label{font-size:12px;font-weight:750;color:#365a74}
/* empty */
.ef-empty{padding:38px 18px;text-align:center;color:var(--ef-muted)}.ef-empty__icon{font-size:28px;margin-bottom:8px}.ef-empty strong{display:block;color:var(--ef-brand-900);margin-bottom:4px}
/* legacy adapters: old markup receives the component visual language */
.admin-tabs,.admin-nav,.project-tabs,.tabs{display:flex;gap:6px;overflow-x:auto;padding:7px!important;background:#fff!important;border:1px solid var(--ef-border)!important;border-radius:14px!important;box-shadow:var(--ef-shadow-sm)!important}
.admin-tabs button,.admin-nav button,.project-tabs button,.tabs button{min-height:38px!important;border:0!important;border-radius:9px!important;background:#edf5fa!important;color:var(--ef-brand-900)!important;font-weight:750!important;padding:8px 12px!important}
.admin-tabs button.active,.admin-nav button.active,.project-tabs button.active,.tabs button.active{background:linear-gradient(135deg,var(--ef-brand-600),var(--ef-brand-800))!important;color:#fff!important}
@media(max-width:700px){.ef-page{width:calc(100% - 20px);padding-top:12px}.ef-page-header{padding:13px}.ef-page-title__icon{width:40px;height:40px}.ef-page-title h1{font-size:22px}}


/* EFLIS V11 — Admin action semantics */
body.efl-admin-active .admin-card button,
body.efl-admin-active .account-card button,
body.efl-admin-active #applicationContent button{
 border-radius:10px!important;font-weight:800!important;
}
body.efl-admin-active button:not(.danger):not(.btn-danger):not([data-variant="danger"]){
 background:#eaf4fa!important;color:#15577f!important;border:1px solid #d2e4ef!important;
}
body.efl-admin-active button.primary,
body.efl-admin-active .btn-primary,
body.efl-admin-active button[data-variant="primary"]{
 background:linear-gradient(135deg,var(--ef-brand-600,#0879bd),var(--ef-brand-800,#07517f))!important;
 color:#fff!important;border:0!important;
}
body.efl-admin-active button.success,
body.efl-admin-active .btn-success,
body.efl-admin-active button[data-variant="success"]{
 background:linear-gradient(135deg,#10a973,#078d91)!important;color:#fff!important;border:0!important;
}
body.efl-admin-active button.danger,
body.efl-admin-active .btn-danger,
body.efl-admin-active button[data-variant="danger"]{
 background:linear-gradient(135deg,#c84a4f,#a82e34)!important;color:#fff!important;border:0!important;
}
/* Legacy orange/brown admin actions are normalized into EFLIS primary blue. */
body.efl-admin-active button[style*="orange"],
body.efl-admin-active button[style*="#b"],
body.efl-admin-active .warning-btn,
body.efl-admin-active .btn-warning{
 background:linear-gradient(135deg,var(--ef-brand-600,#0879bd),var(--ef-brand-800,#07517f))!important;
 color:#fff!important;border:0!important;
}

/* EFLIS V13 — authoritative semantic actions */
.ef-action{
 min-height:40px!important;padding:8px 13px!important;border-radius:10px!important;
 font-weight:800!important;border:0!important;display:inline-flex!important;
 align-items:center!important;justify-content:center!important;gap:7px!important;
 cursor:pointer!important;transition:.15s ease!important;
}
.ef-action--primary{
 background:linear-gradient(135deg,var(--ef-brand-600,#0879bd),var(--ef-brand-800,#07517f))!important;
 color:#fff!important;
}
.ef-action--secondary{
 background:#eaf4fa!important;color:#15577f!important;border:1px solid #d2e4ef!important;
}
.ef-action--success{
 background:linear-gradient(135deg,#0aa77a,#078f9b)!important;color:#fff!important;
}
.ef-action--danger{
 background:linear-gradient(135deg,#c94a50,#a72e35)!important;color:#fff!important;
}
