
/* EFLIS DESIGN SYSTEM v7 — single source of truth */
:root{
 --ef-font:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --ef-brand-900:#06385f;--ef-brand-800:#07517f;--ef-brand-700:#08679e;--ef-brand-600:#0879bd;
 --ef-brand-500:#168fd0;--ef-brand-100:#e8f5fc;--ef-brand-50:#f4faff;
 --ef-text:#12344e;--ef-muted:#64819a;--ef-border:#d3e3ee;--ef-surface:#fff;--ef-bg:#edf6fb;
 --ef-success:#0aa36d;--ef-danger:#b8383d;--ef-purple:#7456ea;
 --ef-r-xs:8px;--ef-r-sm:10px;--ef-r:14px;--ef-r-lg:18px;
 --ef-shadow:0 10px 28px rgba(15,70,108,.09);--ef-shadow-sm:0 3px 12px rgba(15,70,108,.07);
 --ef-page:1360px;--ef-gap:16px;--ef-header-h:72px;
}
*{box-sizing:border-box}html,body{font-family:var(--ef-font);color:var(--ef-text)}
body{background:var(--ef-bg)}
/* ONE PAGE GEOMETRY */
#applicationContent,.ef-page,.page-container,.requests-wrap,.exams-wrap,.admin-wrap,.teacher-wrap,.student-wrap,.parent-wrap{
 width:min(calc(100% - 32px),var(--ef-page))!important;max-width:var(--ef-page)!important;margin:0 auto!important;
 padding:24px 0 40px!important;
}
#applicationContent{width:100%!important;max-width:none!important;padding-left:max(16px,calc((100% - var(--ef-page))/2))!important;padding-right:max(16px,calc((100% - var(--ef-page))/2))!important}
/* ONE HEADING LANGUAGE */
.ef-page-head,.page-head,.module-head,.duty-top{
 min-height:82px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(238,248,254,.96))!important;
 border:1px solid var(--ef-border)!important;border-radius:var(--ef-r-lg)!important;box-shadow:var(--ef-shadow-sm)!important;
 padding:16px 18px!important;margin:0 0 16px!important;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
#applicationContent>h1,#applicationContent>h2{margin-top:0;color:var(--ef-brand-900)}
h1{font-size:27px}h2{font-size:21px}h3{font-size:17px}
/* ONE CARD */
.ef-card,.card,.panel,.content-card,.dashboard-card,.request-card,.exam-card,.admin-card,
.duty-view,.duty-pool,.duty-calendar-wrap,.cm-card{
 background:rgba(255,255,255,.96)!important;border:1px solid var(--ef-border)!important;border-radius:var(--ef-r)!important;
 box-shadow:var(--ef-shadow-sm)!important;
}
/* ONE BUTTON SYSTEM */
button,.btn,.ef-btn{font:inherit;transition:.15s ease}
button:hover,.btn:hover,.ef-btn:hover{transform:translateY(-1px)}
.ef-btn,.btn-primary,.primary-btn{
 min-height:42px;padding:9px 15px;border:0;border-radius:var(--ef-r-sm);font-weight:800;cursor:pointer;
 background:linear-gradient(135deg,var(--ef-brand-600),var(--ef-brand-800));color:#fff;box-shadow:var(--ef-shadow-sm)
}
.ef-btn--success{background:linear-gradient(135deg,#11ad73,#078d92)}
.ef-btn--danger{background:linear-gradient(135deg,#c9484c,#a92f35)}
.ef-btn--purple{background:linear-gradient(135deg,#8a5bed,#5266ef)}
.ef-btn--soft{background:#edf6fb;color:var(--ef-brand-900);border:1px solid var(--ef-border);box-shadow:none}
/* ONE FORM SYSTEM */
input:not([type=checkbox]):not([type=radio]),select,textarea{
 border:1px solid #c9dce9!important;border-radius:var(--ef-r-sm)!important;background:#f9fcfe!important;color:var(--ef-text)!important;
 min-height:40px;outline:0;
}
input:focus,select:focus,textarea:focus{border-color:#55a8dc!important;box-shadow:0 0 0 3px rgba(8,121,189,.10)!important}
/* ONE TABLE SYSTEM */
table{border-collapse:separate;border-spacing:0}
th{background:#eaf5fb!important;color:var(--ef-brand-900)!important;font-weight:800}
th,td{border-color:#cbdfea!important}
tbody tr{transition:background .12s ease}tbody tr:hover{background:rgba(235,247,253,.6)}
/* ONE STAT SYSTEM */
.ef-stats,.stats-grid,.request-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important}
.ef-stat,.stat-card{background:#fff!important;border:1px solid var(--ef-border)!important;border-radius:var(--ef-r)!important;box-shadow:var(--ef-shadow-sm)!important}
/* MODULE ADAPTERS — legacy screens inherit the same language */
.duty-wrap{max-width:var(--ef-page)!important;margin:0 auto!important;padding:0!important}
.duty-top{margin-bottom:12px!important}.duty-shell,.duty-work{gap:14px!important}
.duty-actions{display:flex;gap:9px;flex-wrap:wrap}
.duty-actions .duty-btn{min-height:44px!important;border-radius:10px!important;padding:8px 14px!important;font-weight:800!important;border:1px solid var(--ef-border)!important;background:#fff!important;color:var(--ef-brand-900)!important;box-shadow:var(--ef-shadow-sm)!important}
#dutyAddPlace{background:linear-gradient(135deg,#10ad70,#079db6)!important;color:#fff!important;border:0!important}
#dutySaveSchool,#dutySaveHostel{background:linear-gradient(135deg,#0ca36c,#087e9d)!important;color:#fff!important;border:0!important}
#dutyPrintSchool,#dutyPrintHostel{background:linear-gradient(135deg,#1687d0,#07599d)!important;color:#fff!important;border:0!important}
.duty-pool,.duty-calendar{border-radius:var(--ef-r)!important}.duty-teacher,.duty-drop{border-radius:9px!important}
.duty-note{border-radius:10px!important;background:#eaf6fd!important;color:#12679e!important}
/* CLUBS: same width and surfaces instead of full-bleed */
#clubsApp main,.clubs-main,.club-content{max-width:var(--ef-page)!important;margin-left:auto!important;margin-right:auto!important}
.club-card,.clubs-card,.meeting-card{border-radius:var(--ef-r)!important;border:1px solid var(--ef-border)!important;box-shadow:var(--ef-shadow-sm)!important}
/* SYSTEM HUB */
.efl-hub-wrap{max-width:var(--ef-page)!important;margin:0 auto!important}
.efl-hub-card{border-radius:var(--ef-r)!important;border:1px solid var(--ef-border)!important;background:#fff!important;box-shadow:var(--ef-shadow-sm)!important}
/* consistent background */
#applicationScreen:not(.hidden),#systemHub:not(.hidden){
 background:linear-gradient(90deg,rgba(239,248,253,.96),rgba(248,252,255,.90)),url('/assets/login-bg.jpg') center/cover fixed!important;
}
/* mobile */
@media(max-width:900px){
 :root{--ef-gap:12px}.ef-stats,.stats-grid,.request-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #applicationContent,.ef-page,.page-container,.requests-wrap,.exams-wrap,.admin-wrap,.teacher-wrap,.student-wrap,.parent-wrap{width:calc(100% - 20px)!important;padding-top:12px!important}
 .ef-page-head,.page-head,.module-head,.duty-top{padding:13px!important}.duty-actions{width:100%}.duty-actions .duty-btn{flex:1 1 145px}
}
@media(max-width:560px){.ef-stats,.stats-grid,.request-stats{grid-template-columns:1fr!important}}
