:root{--asil-brand:#7367f0;--asil-cyan:#00cfe8;--asil-menu-blue:#18284d;--asil-radius:.5rem}
html,body{min-height:100%}body{font-family:'Public Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bs-body-bg)!important;color:var(--bs-body-color)!important}.layout-wrapper,.layout-container,.layout-page,.content-wrapper{background:var(--bs-body-bg)!important}.content-wrapper{min-height:calc(100vh - 4rem)}.layout-navbar,.footer{background:var(--bs-navbar-bg,var(--bs-paper-bg))!important;color:var(--bs-body-color)!important}.layout-navbar{box-shadow:var(--bs-box-shadow-sm)!important}.container-xxl.container-p-y{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
/* Vuexy tema bütünlüğü */
.card,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item{background-color:var(--bs-paper-bg)!important;color:var(--bs-body-color)!important;border-color:var(--bs-border-color)!important}.card{border:0!important;box-shadow:var(--bs-box-shadow-sm)!important;border-radius:var(--bs-border-radius-lg)!important}.card-header,.card-footer{background:transparent!important;border-color:var(--bs-border-color)!important}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,.modal-title,.offcanvas-title{color:var(--bs-heading-color)!important}.text-body-secondary,small{color:var(--bs-secondary-color)!important}.table{--bs-table-bg:transparent!important;--bs-table-color:var(--bs-body-color)!important;--bs-table-border-color:var(--bs-border-color)!important}.table thead th{background:color-mix(in srgb,var(--bs-body-bg) 65%,var(--bs-paper-bg))!important;color:var(--bs-secondary-color)!important}.table-hover>tbody>tr:hover>*{--bs-table-bg-state:color-mix(in srgb,var(--bs-primary) 5%,var(--bs-paper-bg))}.form-control,.form-select,.input-group-text,textarea,input,select{background-color:var(--bs-paper-bg)!important;color:var(--bs-body-color)!important;border-color:var(--bs-border-color)!important}.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{border-color:color-mix(in srgb,var(--bs-primary) 60%,var(--bs-border-color))!important;box-shadow:0 0 0 .2rem color-mix(in srgb,var(--bs-primary) 12%,transparent)!important}.form-control::placeholder{color:var(--bs-secondary-color)!important}.btn-label-secondary{color:var(--bs-body-color)!important}
/* Dark mode: Vuexy'nin bütün yüzeylerini tek palette tut */
html[data-bs-theme='dark'] body,html[data-bs-theme='dark'] .layout-wrapper,html[data-bs-theme='dark'] .layout-container,html[data-bs-theme='dark'] .layout-page,html[data-bs-theme='dark'] .content-wrapper{background:#25293c!important}html[data-bs-theme='dark'] .card,html[data-bs-theme='dark'] .modal-content,html[data-bs-theme='dark'] .offcanvas,html[data-bs-theme='dark'] .dropdown-menu,html[data-bs-theme='dark'] .list-group-item{background:#2f3349!important}html[data-bs-theme='dark'] .layout-navbar,html[data-bs-theme='dark'] .footer{background:#2f3349!important;border-color:#44485f!important}html[data-bs-theme='dark'] .table thead th{background:#35394f!important}html[data-bs-theme='dark'] .form-control,html[data-bs-theme='dark'] .form-select,html[data-bs-theme='dark'] .input-group-text,html[data-bs-theme='dark'] textarea,html[data-bs-theme='dark'] input,html[data-bs-theme='dark'] select{background:#2f3349!important;color:#cfcde4!important;border-color:#4b5068!important}
/* Sidebar: gerçek bağımsız scroll */
#layout-menu{display:flex!important;flex-direction:column!important;height:100vh!important;max-height:100vh!important;overflow:hidden!important}#layout-menu .app-brand{flex:0 0 auto!important}#layout-menu .menu-inner-shadow{flex:0 0 auto}#layout-menu .menu-inner{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:1.5rem!important}#layout-menu .menu-inner::-webkit-scrollbar{width:5px}#layout-menu .menu-inner::-webkit-scrollbar-thumb{background:rgba(115,103,240,.32);border-radius:20px}.app-brand-logo img{width:34px;height:34px;object-fit:contain}.menu-inner .menu-link .menu-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:1.5rem!important;height:1.5rem!important;flex:0 0 1.5rem!important;line-height:1!important}
html[data-menu-skin='mavi'] #layout-menu{background:linear-gradient(180deg,#111b34 0%,#18284d 100%)!important}html[data-menu-skin='mavi'] #layout-menu .menu-link,html[data-menu-skin='mavi'] #layout-menu .menu-header-text,html[data-menu-skin='mavi'] #layout-menu .app-brand-text{color:rgba(255,255,255,.83)!important}html[data-menu-skin='mavi'] #layout-menu .menu-item.active>.menu-link{background:linear-gradient(72.47deg,#7367f0 22.16%,rgba(115,103,240,.78) 76.47%)!important;color:#fff!important;box-shadow:0 .125rem .5rem rgba(115,103,240,.35)}html[data-menu-skin='mavi'] #layout-menu .menu-inner::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22)}html[data-menu-skin='beyaz'] #layout-menu{background:var(--bs-paper-bg)!important}
/* Eski view sınıflarını Vuexy'ye uyumlu tut */
.grid-2,.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.stat-grid,.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-bottom:1.5rem}.stats-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.stat,.stat-card{padding:1.35rem;background:var(--bs-paper-bg)!important;border-radius:var(--bs-border-radius-lg)!important;box-shadow:var(--bs-box-shadow-sm)!important;color:var(--bs-body-color)!important}.stat span,.stat-card span{display:block;color:var(--bs-secondary-color);font-size:.8rem}.stat b,.stat-card b{display:block;margin-top:.35rem;font-size:1.65rem;color:var(--bs-heading-color)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem}.table-wrap{overflow:auto}.table-wrap table,.card>table{width:100%}.form-grid,.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.primary,.content-wrapper button.primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bs-primary);background:var(--bs-primary);color:#fff;border-radius:.375rem;padding:.6rem 1rem;font-weight:500}.ghost{display:inline-flex;align-items:center;border:1px solid var(--bs-border-color);border-radius:.375rem;padding:.48rem .8rem;background:var(--bs-paper-bg);color:var(--bs-body-color)}
/* Admin */
.asil-command-hero{background:linear-gradient(120deg,#7367f0 0%,#5d54e7 52%,#00a7d6 140%)!important;color:#fff!important;overflow:hidden;position:relative}.asil-command-hero h1,.asil-command-hero h2,.asil-command-hero h3,.asil-command-hero p{color:#fff!important}.asil-command-hero:before,.asil-command-hero:after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.asil-command-hero:before{width:430px;height:430px;right:-210px;top:-260px}.asil-command-hero:after{width:220px;height:220px;right:110px;bottom:-170px}.asil-kpi-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem}.asil-health-row{padding:.85rem 0;border-bottom:1px solid var(--bs-border-color)}.asil-health-row:last-child{border-bottom:0}
/* MDB / Kütüphane */
.mdb-drop{border:1.5px dashed var(--bs-border-color);border-radius:.75rem;padding:2rem;text-align:center;background:color-mix(in srgb,var(--bs-primary) 3.5%,var(--bs-paper-bg))}.presence-actions{display:flex;gap:.45rem;flex-wrap:wrap}.presence-time{font-variant-numeric:tabular-nums}.library-toolbar{position:sticky;top:80px;z-index:10}.library-student-avatar{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--bs-primary) 12%,transparent);color:var(--bs-primary);font-weight:700}
/* Loader */
.asil-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:var(--bs-body-bg);transition:opacity .18s ease,visibility .18s ease}.asil-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.asil-loader-box{text-align:center}.asil-loader-box img{width:156px;height:48px;object-fit:contain}.asil-loader-text{font-size:.8rem;color:var(--bs-secondary-color);margin-top:.8rem}.asil-loader-line{width:170px;height:3px;background:var(--bs-border-color);border-radius:99px;overflow:hidden;margin:.7rem auto 0}.asil-loader-line span{display:block;width:45%;height:100%;background:var(--bs-primary);animation:asilLoad 1s ease-in-out infinite}@keyframes asilLoad{0%{transform:translateX(-120%)}100%{transform:translateX(300%)}}
.asil-footer-credit{display:flex;align-items:center;gap:.35rem;color:var(--bs-secondary-color)}
@media(max-width:1199.98px){.stats-grid.six{grid-template-columns:repeat(3,1fr)}}@media(max-width:767.98px){.grid-2,.grid.two,.grid-3,.stat-grid,.stats-grid,.stats-grid.six,.form-grid,.mapping-grid{grid-template-columns:1fr}.container-xxl.container-p-y{padding:1rem!important}.asil-command-hero{border-radius:.5rem}}
/* V6.5.2 - Form/table normalization */
.content-wrapper .card .card-body form .form-label{display:block;margin-bottom:.45rem;font-weight:500;color:var(--bs-heading-color)!important}
.content-wrapper .card .form-control,.content-wrapper .card .form-select{min-height:40px;border-radius:.375rem!important}
.content-wrapper .card textarea.form-control{min-height:110px;resize:vertical}
.content-wrapper .table>thead>tr>th{font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.content-wrapper .table>tbody>tr>td{vertical-align:middle}
html[data-bs-theme='dark'] .content-wrapper .card{box-shadow:0 .125rem .375rem rgba(0,0,0,.18)!important}
html[data-bs-theme='dark'] .content-wrapper .form-control,html[data-bs-theme='dark'] .content-wrapper .form-select{background:#282c40!important;border-color:#4b5068!important}
html[data-bs-theme='dark'] .content-wrapper .form-control:focus,html[data-bs-theme='dark'] .content-wrapper .form-select:focus{background:#2f3349!important;border-color:#7367f0!important}
@media(max-width:767.98px){.content-wrapper .card-header{padding:1rem!important}.content-wrapper .card-body{padding:1rem!important}}

/* AsiLSMS V6.5.3 — Vuexy global form/table normalization */
.content-wrapper .card{overflow:hidden}
.content-wrapper .card-body{padding:1.5rem}
.content-wrapper .card-head{padding:1.5rem 1.5rem .75rem}
.content-wrapper .card-head+form,.content-wrapper .card-head+.table-wrap,.content-wrapper .card-head+.table-responsive{margin-top:.25rem}
.content-wrapper form:not(.d-inline):not(.d-flex):not(.row){display:block}
.content-wrapper form label:not(.form-check-label):not(.btn){display:block;margin-bottom:1rem;color:var(--bs-heading-color);font-size:.875rem;font-weight:500}
.content-wrapper form label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.content-wrapper form label>select,
.content-wrapper form label>textarea{display:block;width:100%;margin-top:.4rem}
.content-wrapper input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),
.content-wrapper select,
.content-wrapper textarea{min-height:40px;padding:.543rem .875rem;border:1px solid var(--bs-border-color);border-radius:.375rem;background:var(--bs-paper-bg);color:var(--bs-body-color);font:inherit;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.content-wrapper textarea{min-height:110px;resize:vertical}
.content-wrapper input[type=file]{padding:.42rem .65rem}
.content-wrapper input[type=checkbox],.content-wrapper input[type=radio]{accent-color:var(--bs-primary)}
.content-wrapper .form-grid,.content-wrapper .mapping-grid{align-items:end}
.content-wrapper .form-grid>label,.content-wrapper .mapping-grid>label{margin-bottom:0}
.content-wrapper .grid-2>.card,.content-wrapper .grid.two>.card,.content-wrapper .grid-3>.card{height:100%}
.content-wrapper .table-wrap,.content-wrapper .table-responsive{border-radius:0 0 var(--bs-border-radius-lg) var(--bs-border-radius-lg)}
.content-wrapper .table-wrap table{margin-bottom:0;border-collapse:separate;border-spacing:0;width:100%;color:var(--bs-body-color)}
.content-wrapper .table-wrap thead th{padding:.8rem 1rem;background:color-mix(in srgb,var(--bs-body-bg) 58%,var(--bs-paper-bg));border-bottom:1px solid var(--bs-border-color);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;color:var(--bs-secondary-color);white-space:nowrap}
.content-wrapper .table-wrap tbody td{padding:.8rem 1rem;border-bottom:1px solid var(--bs-border-color);vertical-align:middle}
.content-wrapper .table-wrap tbody tr:last-child td{border-bottom:0}
.content-wrapper .bulk-bar{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.65rem 1rem;margin:0 1rem 1rem;border:1px dashed var(--bs-border-color);border-radius:.5rem;background:color-mix(in srgb,var(--bs-primary) 4%,var(--bs-paper-bg));color:var(--bs-body-color)}
.content-wrapper .bulk-bar .ms-auto{margin-left:auto!important}
.content-wrapper .mini-form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;align-items:end}
.content-wrapper .mini-form input,.content-wrapper .mini-form select{width:100%}
.content-wrapper details>summary{cursor:pointer;list-style:none}
.content-wrapper .person{display:flex;align-items:center;gap:.75rem}.content-wrapper .person>span{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:color-mix(in srgb,var(--bs-primary) 14%,var(--bs-paper-bg));color:var(--bs-primary);font-weight:700}.content-wrapper .person small{display:block}
.content-wrapper .badge.ok{background:rgba(40,199,111,.16)!important;color:#28c76f!important}
html[data-bs-theme='dark'] .content-wrapper input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),
html[data-bs-theme='dark'] .content-wrapper select,
html[data-bs-theme='dark'] .content-wrapper textarea{background:#282c40!important;border-color:#4b5068!important;color:#cfcde4!important}
html[data-bs-theme='dark'] .content-wrapper input::placeholder,html[data-bs-theme='dark'] .content-wrapper textarea::placeholder{color:#9295aa!important;opacity:1}
html[data-bs-theme='dark'] .content-wrapper .table-wrap thead th{background:#35394f!important}
html[data-bs-theme='dark'] .content-wrapper .bulk-bar{background:#2b3045!important;border-color:#4b5068!important}
@media(max-width:991.98px){.content-wrapper .card-body{padding:1.15rem}.content-wrapper .bulk-bar{margin:.75rem}.content-wrapper .table-wrap{overflow-x:auto}.content-wrapper .table-wrap table{min-width:720px}}
/* V6.5.4 Access Station + MDB mapping polish */
.access-filter-card,.access-station-card{overflow:hidden}.access-filter-grid{display:grid;grid-template-columns:1fr 1.45fr 1fr 1fr 1fr auto;gap:1rem;align-items:end}.access-filter-grid label{margin:0;display:flex;flex-direction:column;gap:.45rem}.access-filter-grid label>span{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.access-filter-actions{display:flex;gap:.5rem}.access-table th{font-size:.73rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.access-table td{vertical-align:middle}.empty-state-pro{padding:4.5rem 1.5rem;text-align:center;max-width:680px;margin:auto}.empty-state-pro .empty-icon{width:72px;height:72px;border-radius:20px;margin:0 auto 1rem;display:grid;place-items:center;background:rgba(115,103,240,.12);color:#7367f0;font-size:2rem}.empty-state-pro p{color:var(--bs-secondary-color);max-width:540px;margin:0 auto 1.25rem}.mapping-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem!important}.mapping-grid label{display:flex!important;flex-direction:column;gap:.45rem;margin:0!important}.mapping-grid select{width:100%!important;min-height:42px}@media(max-width:1200px){.access-filter-grid{grid-template-columns:repeat(3,1fr)}.mapping-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.access-filter-grid,.mapping-grid{grid-template-columns:1fr}.access-filter-actions{width:100%}.access-filter-actions>*{flex:1}}
