/* Darul Furqan v7 — macOS/iOS-inspired interface. Uses installed Apple system font; no bundled Apple font. */
:root{--df-blue:#50B2AD;--df-shadow:0 2px 14px rgba(30,52,60,.055);color-scheme:light}
html,body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif!important}
body{letter-spacing:-.012em}
button,input,select,textarea{font-size:inherit}button{transition:background-color .18s,transform .18s,box-shadow .18s}button:active{transform:scale(.985)}
:focus-visible{outline:3px solid rgba(80,178,173,.5)!important;outline-offset:2px!important}
/* Admin */
.df-nav-bottom{display:flex!important;flex-direction:column;gap:7px;padding:12px!important}
.df-nav-bottom button{width:100%;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:12px;border-radius:12px!important;min-height:40px;cursor:pointer}
.df-sidebar-action{font-weight:650;background:rgba(80,178,173,.12);color:#d6ffff;border:1px solid rgba(80,178,173,.24);padding:10px 12px}
.df-sidebar-action:hover{background:rgba(80,178,173,.25)}
.df-nav-bottom .df-appearance-btn{padding:10px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.075);color:#edfafa}
.df-feature-panel{border-radius:24px!important;box-shadow:0 30px 90px rgba(0,0,0,.22)!important}
.df-feature-panel button{border-radius:12px!important}
.df-feature-action{display:none!important}
/* Teacher portal */
body:has(#loginWrap){--accent:#50B2AD;--accent-d:#399c98;--accent-dark:#247e7a;--accent-soft:#e2f4f3;--bg:#f5f6f8;--text:#1d252b;--border:#e5e8ec;--surface:#fff;--surface-2:#f8f9fb;--header-bg:rgba(255,255,255,.84)}
body:has(#loginWrap) .app-header{background:var(--header-bg)!important;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--border)!important;color:var(--text)!important}
body:has(#loginWrap) .app-header .app-header-name,body:has(#loginWrap) .app-header .teacher-chip{color:var(--text)!important}
body:has(#loginWrap) .app-header-icon{background:var(--accent)!important}
body:has(#loginWrap) .app-main{max-width:1140px!important}
body:has(#loginWrap) .stu-card,body:has(#loginWrap) .sum-item{border-radius:20px!important;box-shadow:var(--df-shadow)!important}
body:has(#loginWrap) .stu-avatar{border-radius:13px!important}
body:has(#loginWrap) .login-wrap{background:radial-gradient(ellipse at 23% 10%,rgba(80,178,173,.27),transparent 52%),linear-gradient(155deg,#edf5f6,#f8f9fc 62%,#e8eded)!important}
body:has(#loginWrap) .login-wrap::before{display:none!important}
body:has(#loginWrap) .login-card{background:rgba(255,255,255,.86)!important;color:#15262b!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 24px 80px rgba(31,70,76,.13)!important;backdrop-filter:blur(28px);border-radius:28px!important;max-width:420px!important;padding:38px!important}
body:has(#loginWrap) .login-brand h1{color:#15262b!important;font-size:1.65rem!important}
body:has(#loginWrap) .login-brand p,body:has(#loginWrap) .login-hint,body:has(#loginWrap) .login-label{color:#66777c!important}
body:has(#loginWrap) .login-input{color:#1d2a2c!important;background:#f5f8f9!important;border:1px solid #dce6e9!important;border-radius:13px!important}
body:has(#loginWrap) .login-input::placeholder{color:#91a1a6!important}
body:has(#loginWrap) .login-btn{background:#50B2AD!important;color:#fff!important;border-radius:13px!important;box-shadow:0 8px 22px rgba(80,178,173,.22)!important}
.df-login-heading{font-size:1.15rem;font-weight:750;color:#243e41;margin-bottom:1.5rem;letter-spacing:-.03em}.df-login-heading span{display:block;font-size:.83rem;font-weight:450;margin-top:5px;color:#819397;letter-spacing:0}
.df-login-theme{display:flex;align-items:center;gap:8px;margin:14px auto 0;border:0;background:transparent;color:#59747a;font-size:.8rem;padding:8px 10px;cursor:pointer}
.df-att-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:15px 0 14px;flex-wrap:wrap}.df-att-toolbar-title{display:flex;flex-direction:column;gap:4px}.df-att-toolbar-title strong{font-size:1.14rem;letter-spacing:-.03em}.df-att-toolbar-title span{font-size:.79rem;color:var(--muted)}
.df-att-search{display:flex;gap:9px;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:0 12px;min-height:42px;min-width:210px;color:var(--muted)}.df-att-search input{border:none;outline:none;background:transparent;color:var(--text);width:100%;font-size:.86rem}
.df-today-btn{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px;color:var(--text);font-weight:650;cursor:pointer}
:root[data-theme="dark"] body:has(#loginWrap){color-scheme:dark;--bg:#111519;--text:#f0f3f5;--surface:#1e252a;--surface-2:#252d33;--border:#323b41;--accent:#69c9c3;--header-bg:rgba(23,29,34,.84);--muted:#a4b1b6;--df-shadow:0 4px 25px rgba(0,0,0,.19)}
:root[data-theme="dark"] body:has(#loginWrap) .login-wrap{background:radial-gradient(ellipse at 15% 0%,#1c4244,transparent 60%),#101719!important}
:root[data-theme="dark"] body:has(#loginWrap) .login-card{background:rgba(28,35,40,.91)!important;color:#f3f5f7!important;border-color:#3a474a!important}
:root[data-theme="dark"] body:has(#loginWrap) .login-brand h1,:root[data-theme="dark"] .df-login-heading{color:#f3f5f7!important}
:root[data-theme="dark"] body:has(#loginWrap) .login-input{background:#232d32!important;color:#fff!important;border-color:#435356!important}
:root[data-theme="dark"] .df-login-theme{color:#b0cece}
/* Admin dark surface overrides, constrained to body carrying admin shell */
:root[data-df-admin-theme="dark"]{color-scheme:dark;--bg:#111519!important;--surface:#1e252a!important;--card:#1e252a!important;--text:#f0f3f5!important;--muted:#a4b1b6!important;--border:#344047!important}
:root[data-df-admin-theme="dark"] body{background:#111519!important;color:#f0f3f5!important}
:root[data-df-admin-theme="dark"] .page,:root[data-df-admin-theme="dark"] .df-topbar{background:#111519!important;color:#f0f3f5!important}
:root[data-df-admin-theme="dark"] .card,:root[data-df-admin-theme="dark"] .stat-card,:root[data-df-admin-theme="dark"] .tbl-wrap,:root[data-df-admin-theme="dark"] .topbar,:root[data-df-admin-theme="dark"] .df-feature-panel{background:#1e252a!important;color:#eff3f4!important;border-color:#364047!important}
:root[data-df-admin-theme="dark"] input,:root[data-df-admin-theme="dark"] select,:root[data-df-admin-theme="dark"] textarea{background:#283238!important;color:#eff3f4!important;border-color:#435056!important}
:root[data-df-admin-theme="dark"] .df-feature-log{background:#263139!important;color:#deebec!important;border-color:#435056!important}
:root[data-df-admin-theme="dark"] .df-feature-panel p,:root[data-df-admin-theme="dark"] .df-feature-hint{color:#a4b8bf!important}
@media(max-width:650px){body:has(#loginWrap) .login-card{padding:28px 22px!important}.df-att-search{width:100%}.df-att-toolbar{align-items:flex-start}.df-today-btn{font-size:.8rem}}
