/* SAFWA UNIVERSITY x JEDO - Dual Theme v2.0 */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800;900&display=swap');

/* ═══ ANIMATIONS ═══ */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideInRight{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes shimmer{0%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes subtlePulse{0%,100%{box-shadow:0 0 0 0 rgba(139,26,26,.5)}50%{box-shadow:0 0 0 6px rgba(139,26,26,0)}}
@keyframes loadingBar{0%{width:0%;opacity:1}80%{width:85%;opacity:1}100%{width:100%;opacity:0}}

/* ═══ LIGHT VARIABLES ═══ */
[data-theme="light"],[data-theme-mode="light"],html:not([data-theme="dark"]):not([data-theme-mode="dark"]){
  --primary:#8B1A1A;--primary-light:#B02525;--primary-dark:#5C1010;--primary-alpha:rgba(139,26,26,.08);
  --accent:#8A5E30;--accent-light:#A07040;--accent-dark:#6A4520;--accent-alpha:rgba(138,94,48,.10);
  --bg-primary:#FFFFFF;--bg-secondary:#F8F5F2;--bg-card:#FFFFFF;--bg-sidebar:#FAF7F4;
  --bg-hover:#FDF0EE;--bg-active:#F5E8E8;--bg-muted:#F2EEEA;
  --text-primary:#1A0F0F;--text-secondary:#4A3030;--text-muted:#8A7070;--text-accent:#8B1A1A;
  --border-color:#E8DFDF;--border-accent:#8A5E30;
  --success:#1E6B3E;--warning:#8A5E30;--danger:#8B1A1A;--info:#1E4A7A;
  --success-bg:#EBF5EF;--warning-bg:#F7F0E6;--danger-bg:#FAEAEA;--info-bg:#E6EEF7;
  --shadow-sm:0 1px 4px rgba(139,26,26,.08);--shadow-md:0 4px 20px rgba(139,26,26,.10);
  --shadow-lg:0 12px 40px rgba(139,26,26,.12);
}

/* ═══ DARK VARIABLES ═══ */
[data-theme="dark"],[data-theme-mode="dark"]{
  --primary:#C42828;--primary-light:#E03535;--primary-dark:#8B1A1A;--primary-alpha:rgba(196,40,40,.15);
  --accent:#C49060;--accent-light:#DEB07A;--accent-dark:#A07040;--accent-alpha:rgba(196,144,96,.15);
  --bg-primary:#0F0B0B;--bg-secondary:#171010;--bg-card:#1F1515;--bg-sidebar:#120D0D;
  --bg-hover:#2A1A1A;--bg-active:#301818;--bg-muted:#1A1212;
  --text-primary:#F2EAE0;--text-secondary:#C0A898;--text-muted:#7A6055;--text-accent:#DEB07A;
  --border-color:#2E1E1E;--border-accent:#A07040;
  --success:#3DAA65;--warning:#C49060;--danger:#E03535;--info:#4A8AC4;
  --success-bg:rgba(61,170,101,.12);--warning-bg:rgba(196,144,96,.12);--danger-bg:rgba(224,53,53,.12);--info-bg:rgba(74,138,196,.12);
  --shadow-sm:0 1px 4px rgba(0,0,0,.4);--shadow-md:0 4px 20px rgba(0,0,0,.5);
  --shadow-lg:0 12px 40px rgba(0,0,0,.6);
}

/* ═══ BASE ═══ */
*,*::before,*::after{box-sizing:border-box}
html,body,.frappe-app,#page-container,.page-container{
  font-family:'Cairo',sans-serif!important;background:var(--bg-primary)!important;color:var(--text-primary)!important;
}
h1,h2,h3,h4,h5,h6{font-family:'Cairo',sans-serif!important;color:var(--text-primary)!important}
p,span,div,li,td,th,label,a{font-family:'Cairo',sans-serif!important}
a{color:var(--accent)!important;text-decoration:none!important}
a:hover{color:var(--primary-light)!important}
.text-muted,.text-extra-muted{color:var(--text-muted)!important}
hr{border-color:var(--border-color)!important}

/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-muted)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary),var(--accent));border-radius:3px}

/* ═══ LOADING ═══ */
.loading-indicator{position:fixed;top:0;left:0;height:3px;z-index:9999;background:linear-gradient(90deg,var(--primary),var(--accent),var(--primary));background-size:200% 100%;animation:loadingBar .6s ease forwards}

/* ═══ NAVBAR ═══ */
.navbar,header.navbar{background:var(--bg-card)!important;border-bottom:2px solid var(--border-color)!important;box-shadow:var(--shadow-sm)!important;height:56px!important}
.navbar::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 50%,var(--primary) 100%)}
.navbar .form-control,#navbar-search{background:var(--bg-secondary)!important;border:1.5px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:8px!important;font-family:'Cairo',sans-serif!important;transition:border-color 150ms ease,box-shadow 250ms ease!important}
.navbar .form-control:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-alpha)!important}
.navbar .form-control::placeholder{color:var(--text-muted)!important}
.navbar .nav-link,.navbar .navbar-nav a{color:var(--text-secondary)!important;font-weight:500!important;transition:color 150ms ease!important}
.navbar .nav-link:hover{color:var(--primary)!important}

/* ═══ SIDEBAR ═══ */
.layout-side-section,.desk-sidebar,.sidebar-menu,.standard-sidebar-section{background:var(--bg-sidebar)!important;border-left:1px solid var(--border-color)!important;border-right:none!important}
.sidebar-label,.desk-sidebar .sidebar-label{color:var(--accent)!important;font-size:10px!important;font-weight:700!important;letter-spacing:1.5px!important;text-transform:uppercase!important;padding:20px 16px 6px!important}

/* Sidebar items - container transparent */
.desk-sidebar .standard-sidebar-item,.sidebar-menu .sidebar-item{background:transparent!important;border:none!important;margin:2px 0!important;padding:0!important}
/* Only anchor gets visual styling */
.standard-sidebar-item a,.desk-sidebar .standard-sidebar-item a,.sidebar-menu .sidebar-item a{display:block;border-radius:8px;margin:2px 8px;padding:10px 12px!important;font-weight:500;color:var(--text-secondary)!important;transition:all .25s cubic-bezier(.4,0,.2,1);background:transparent!important;border:none!important;box-shadow:none!important;position:relative}
.standard-sidebar-item a::before,.desk-sidebar .standard-sidebar-item a::before{content:'';position:absolute;right:0;top:15%;bottom:15%;width:3px;background:linear-gradient(180deg,var(--primary),var(--accent));border-radius:3px 0 0 3px;transform:scaleY(0);transition:transform 150ms cubic-bezier(.34,1.56,.64,1)}
.standard-sidebar-item a:hover,.desk-sidebar .standard-sidebar-item a:hover{background:var(--bg-hover)!important;color:var(--primary)!important;padding-right:16px!important}
.standard-sidebar-item a:hover::before{transform:scaleY(1)}
.standard-sidebar-item.selected a,.desk-sidebar .standard-sidebar-item.selected a{background:var(--bg-active)!important;color:var(--primary)!important;font-weight:600!important}
.standard-sidebar-item.selected a::before,.desk-sidebar .standard-sidebar-item.selected a::before{transform:scaleY(1)}

/* ═══ PAGE ═══ */
.page-container,.layout-main,.layout-main-section,.layout-main-section-wrapper,.main-section,.desk-page{background:var(--bg-secondary)!important;animation:fadeUp 400ms cubic-bezier(.4,0,.2,1)}
.page-head,.page-head-content{background:var(--bg-card)!important;border-bottom:1px solid var(--border-color)!important;box-shadow:0 1px 4px rgba(0,0,0,.04)!important}
.page-head h1,.title-text,.page-title,.module-page-title{font-weight:800!important;font-size:22px!important;color:var(--text-primary)!important;letter-spacing:-.5px!important}

/* ═══ BREADCRUMB ═══ */
.breadcrumb{background:transparent!important}
.breadcrumb-item a{color:var(--text-muted)!important;transition:color 150ms ease}
.breadcrumb-item a:hover{color:var(--primary)!important}
.breadcrumb-item.active{color:var(--text-primary)!important;font-weight:600!important}
.breadcrumb-item+.breadcrumb-item::before{content:'›'!important;color:var(--accent)!important}

/* ═══ BUTTONS ═══ */
.btn{font-family:'Cairo',sans-serif!important;font-weight:600!important;border-radius:8px!important;padding:8px 20px!important;position:relative;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1)!important}
.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left 400ms ease}
.btn:hover::before{left:100%}
.btn-primary,.btn-primary-dark,.page-actions .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light))!important;border:none!important;color:#FFF!important;box-shadow:0 4px 15px var(--primary-alpha)!important}
.btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px var(--primary-alpha)!important}
.btn-primary:active{transform:translateY(0) scale(.98)!important}
.btn-secondary,.btn-default,.btn-secondary-dark{background:transparent!important;border:1.5px solid var(--accent)!important;color:var(--accent)!important}
.btn-secondary:hover,.btn-default:hover{background:var(--accent-alpha)!important;transform:translateY(-1px)!important}
.btn-danger{background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important;border:none!important;color:#FFF!important}
.btn-success{background:linear-gradient(135deg,#1A5C30,var(--success))!important;border:none!important;color:#FFF!important}

/* ═══ CARDS / WIDGETS ═══ */
.card,.frappe-card,.form-layout,.frappe-list,.report-wrapper{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:12px!important;box-shadow:var(--shadow-sm)!important;color:var(--text-primary)!important;transition:transform .25s ease,box-shadow .25s ease,border-color 150ms ease!important}
.card:hover,.frappe-card:hover{transform:translateY(-3px)!important;box-shadow:var(--shadow-md)!important;border-color:var(--accent-alpha)!important}
.card-header,.section-head,.form-section .section-head{background:transparent!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-accent)!important;font-weight:700!important}
.section-body,.form-column,.form-section .section-body{background:transparent!important}
.widget,.widget-shadow,.widget-body,.widget-head,.widget-group,.number-widget-box,.shortcut-widget-box,.links-widget-box,.onboarding-widget-box,.chart-widget,.onboarding-steps,.setup-wizard-card,.page-card,.module-section,.section-with-label,.form-section,.form-dashboard-section,.form-inner-toolbar,.comment-box,.reply-editor,.timeline-content,.workspace-container,.codex-editor,.ce-block,.result,.list-filters,.filter-section,.sort-selector,.frappe-control .form-group,.standard-filter-section{background:var(--bg-card)!important;color:var(--text-primary)!important}
.widget,.widget-shadow,.number-widget-box,.shortcut-widget-box,.links-widget-box,.onboarding-widget-box{border:1px solid var(--border-color)!important;border-radius:12px!important;box-shadow:var(--shadow-sm)!important}
.number-widget-box{border-top:4px solid var(--primary)!important}
.number-widget-box .widget-body .number,.number-widget-box .number{font-weight:800!important;font-size:36px!important;color:var(--primary)!important}
.widget-head .widget-label,.widget-head .widget-title,.number-widget-box .widget-title{color:var(--text-secondary)!important;font-weight:600!important}
.shortcut-widget-box .shortcut-widget-title,.widget-title{color:var(--text-primary)!important}
.shortcut-widget-box:hover{border-color:var(--border-accent)!important}
.module-section-link,.module-link,.report-link,.onboarding-step{color:var(--text-primary)!important;background:transparent!important}
.module-section-link:hover,.module-link:hover{background:var(--bg-hover)!important}

/* ═══ FORM FIELDS ═══ */
.control-label,.form-group label,.frappe-control .label-area label{font-weight:500!important;font-size:12px!important;color:var(--text-secondary)!important;letter-spacing:.3px!important}
.form-control,.input-with-feedback,select.form-control,textarea.form-control,.ql-editor,.like-disabled-input,.frappe-control .form-control{background:var(--bg-primary)!important;border:1.5px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-primary)!important;font-size:14px!important;transition:border-color 150ms ease,box-shadow .25s ease,background 150ms ease!important}
.form-control:focus,.input-with-feedback:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-alpha),0 0 12px rgba(139,26,26,.06)!important;background:var(--bg-hover)!important;outline:none!important}
.form-control::placeholder{color:var(--text-muted)!important}
.has-error .form-control{border-color:var(--danger)!important}
.reqd .control-label::after{color:var(--accent)!important}

/* ═══ TABLES ═══ */
.frappe-list .list-headers,.result .list-headers{background:var(--bg-secondary)!important;color:var(--accent)!important;font-weight:700!important;font-size:12px!important;letter-spacing:.8px!important;border-bottom:2px solid var(--border-color)!important}
.frappe-list .list-row,.result .list-row,.list-row-container .list-row{background:var(--bg-card)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}
.frappe-list .list-row:hover,.list-row-container .list-row:hover{background:var(--bg-hover)!important;transform:translateX(-4px)!important;box-shadow:4px 0 0 var(--primary) inset!important}
.list-row--col .ellipsis,.list-row .list-row--col{color:var(--text-primary)!important}
.dt-scrollable,.datatable,.dt-row,.dt-header{background:var(--bg-card)!important}
.dt-header .dt-cell--header .dt-cell__content{background:var(--bg-secondary)!important;color:var(--accent)!important;font-weight:700!important}
.dt-row .dt-cell .dt-cell__content{background:var(--bg-card)!important;color:var(--text-primary)!important}
.dt-row:hover .dt-cell .dt-cell__content{background:var(--bg-hover)!important}
.datatable{border-radius:12px!important;overflow:hidden!important;border:1px solid var(--border-color)!important}

/* ═══ BADGES ═══ */
.indicator-pill,.badge{font-weight:600!important;font-size:11px!important;border-radius:20px!important;padding:3px 10px!important}
.indicator-pill.green,.badge-success{background:var(--success-bg)!important;color:var(--success)!important}
.indicator-pill.orange,.badge-warning{background:var(--warning-bg)!important;color:var(--warning)!important}
.indicator-pill.red,.badge-danger{background:var(--danger-bg)!important;color:var(--danger)!important}
.indicator-pill.blue,.badge-info{background:var(--info-bg)!important;color:var(--info)!important}
.indicator-pill.gray{background:var(--bg-muted)!important;color:var(--text-muted)!important}

/* ═══ MODAL ═══ */
.modal-content{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-top:3px solid var(--primary)!important;border-radius:16px!important;box-shadow:var(--shadow-lg)!important;color:var(--text-primary)!important}
.modal-backdrop{background:rgba(0,0,0,.6)!important}
.modal-header{border-bottom:1px solid var(--border-color)!important;background:transparent!important;border-radius:13px 13px 0 0!important}
.modal-header .modal-title{font-weight:700!important;color:var(--text-accent)!important}
.modal-footer{border-top:1px solid var(--border-color)!important;background:transparent!important}
.modal-body{color:var(--text-primary)!important;background:var(--bg-card)!important}

/* ═══ TABS ═══ */
.nav-tabs{border-bottom:2px solid var(--border-color)!important}
.nav-tabs .nav-link{font-weight:500!important;color:var(--text-muted)!important;border:none!important;padding:10px 20px!important;position:relative;transition:all .25s ease!important}
.nav-tabs .nav-link::after{content:'';position:absolute;bottom:-2px;left:50%;right:50%;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:left .25s ease,right .25s ease}
.nav-tabs .nav-link:hover{color:var(--primary)!important}
.nav-tabs .nav-link.active{color:var(--text-primary)!important;background:transparent!important;font-weight:700!important}
.nav-tabs .nav-link.active::after{left:0;right:0}

/* ═══ DROPDOWNS ═══ */
.dropdown-menu{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;box-shadow:var(--shadow-md)!important;padding:8px!important;animation:fadeUp 200ms cubic-bezier(.34,1.56,.64,1)}
.dropdown-item{color:var(--text-secondary)!important;border-radius:6px!important;padding:8px 14px!important;transition:all 150ms ease!important}
.dropdown-item:hover,.dropdown-item:focus{background:var(--bg-hover)!important;color:var(--primary)!important}
.dropdown-divider{border-color:var(--border-color)!important}

/* ═══ ALERTS ═══ */
.alert{border-radius:10px!important;border:none!important;border-right:4px solid!important;animation:slideInRight 400ms cubic-bezier(.34,1.56,.64,1)}
.alert-success{background:var(--success-bg)!important;color:var(--success)!important;border-color:var(--success)!important}
.alert-warning{background:var(--warning-bg)!important;color:var(--warning)!important;border-color:var(--warning)!important}
.alert-danger{background:var(--danger-bg)!important;color:var(--danger)!important;border-color:var(--danger)!important}
.alert-info{background:var(--info-bg)!important;color:var(--info)!important;border-color:var(--info)!important}

/* ═══ PAGINATION ═══ */
.pagination .page-link{background:transparent!important;border:1.5px solid var(--border-color)!important;color:var(--text-secondary)!important;border-radius:6px!important;margin:0 2px!important;transition:all 150ms ease!important}
.pagination .page-link:hover{background:var(--bg-hover)!important;border-color:var(--accent)!important;color:var(--accent)!important}
.pagination .page-item.active .page-link{background:linear-gradient(135deg,var(--primary),var(--primary-light))!important;border-color:var(--primary)!important;color:#FFF!important;box-shadow:0 4px 12px var(--primary-alpha)!important}

/* ═══ SELECT2 / AWESOMPLETE ═══ */
.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{background:var(--bg-primary)!important;border:1.5px solid var(--border-color)!important;border-radius:8px!important}
.select2-dropdown{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;box-shadow:var(--shadow-md)!important}
.select2-container--default .select2-results__option--highlighted{background:var(--bg-hover)!important;color:var(--primary)!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text-primary)!important}
.awesomplete>ul{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:10px!important}

/* ═══ NOTIFICATIONS ═══ */
.notification-indicator,.count-label{background:linear-gradient(135deg,var(--primary),var(--primary-light))!important;color:#FFF!important;animation:subtlePulse 2.5s ease infinite}

/* ═══ CHARTS ═══ */
.chart-container,.frappe-chart{background:transparent!important}
.frappe-chart text{fill:var(--text-muted)!important}

/* ═══ SKELETON ═══ */
.skeleton{background:linear-gradient(90deg,var(--bg-muted) 25%,var(--bg-hover) 50%,var(--bg-muted) 75%);background-size:400% 100%;animation:shimmer 1.5s infinite;border-radius:6px}

/* ═══ CODE ═══ */
pre,code{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-accent)!important}

/* ═══ MISC ═══ */
.tooltip-inner{background:var(--bg-card)!important;border:1px solid var(--border-accent)!important;color:var(--text-primary)!important}
.popover{background:var(--bg-card)!important;border:1px solid var(--border-color)!important}
.popover-body{color:var(--text-primary)!important}
.progress{background:var(--bg-secondary)!important;border-radius:10px!important}
.progress-bar{background:linear-gradient(90deg,var(--primary),var(--accent))!important}

/* ═══ DEEP FIXES ═══ */
.frappe-list .result,.frappe-list .no-result,.page-form,.form-page,.form-layout .form-page,.comment-input-control,.reply .reply-editor,.timeline-items,.desk-page .desk-chart,.desk-page .widget-group-body,.workspace-section,.onboarding-widget .widget-body,.desk-sidebar .sidebar-section,.sidebar-section,.module-category,.category-card,.category-card-body,.desk-page .widget-group-head{background:var(--bg-card)!important;color:var(--text-primary)!important}
.hero-icon,.app-icon,.module-icon{background:var(--primary-alpha)!important}
.like-disabled-input,.disabled-input,.read-only,.filterable,.field-area{background:var(--bg-muted)!important;color:var(--text-primary)!important}
.setup-wizard-page,.for-login .login-content{background:var(--bg-primary)!important}
.setup-wizard-card,.page-card{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:16px!important;color:var(--text-primary)!important}

/* ═══ JIDOERP LOGO FIX ═══ */
.navbar .navbar-brand.navbar-home { width: 170px !important; }
.navbar .navbar-brand.navbar-home img.app-logo { width: auto !important; height: 28px !important; max-height: 28px !important; }
img.app-logo { width: auto !important; }
