/* Porto Admin shell adapted to the existing PHP views. */
body.porto-admin{background:#ecedf0;color:#333;font-family:"Open Sans",Arial,sans-serif;min-height:100vh}
.app-shell{min-height:100vh}
.app-header{position:fixed;z-index:1030;top:0;right:0;left:0;height:60px;display:flex;align-items:center;background:#fff;border-top:3px solid #0088cc;border-bottom:1px solid #e6e6e6;box-shadow:0 1px 1px rgba(0,0,0,.04)}
.app-logo{width:300px;height:57px;display:flex;align-items:center;padding:0 24px;border-right:1px solid #e6e6e6}
.app-logo a{display:flex;align-items:center;gap:11px;color:#333;font-size:18px;text-decoration:none;letter-spacing:-.3px}
.app-logo strong{color:#0088cc}
.logo-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:5px;background:#0088cc;color:#fff;font-size:16px}
.platform-brand-logo{display:block;width:230px;max-width:100%;height:54px;object-fit:contain;object-position:left center}.platform-auth-logo{display:block;width:310px;max-width:100%;height:auto}.platform-register-logo{display:block;width:285px;max-width:100%;height:auto}
.mobile-sidebar-toggle{display:none;width:56px;height:57px;border:0;border-right:1px solid #eee;background:#fff;color:#777;font-size:18px;cursor:pointer}
.mobile-sidebar-toggle:hover{color:#0088cc;background:#fafafa}
.header-title{flex:1;padding:0 22px;color:#999;font-size:13px}
.account-menu{height:57px;display:flex;align-items:center;gap:10px;padding:0 22px;border-left:1px solid #eee}
.account-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f4fa;color:#0088cc;font-weight:700}
.account-copy{display:grid;line-height:1.25}
.account-copy strong{font-size:12px;color:#444}
.account-copy small{font-size:10px;color:#999}
.account-menu form{margin:0 0 0 8px}
.logout-button{width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:#999;cursor:pointer}
.logout-button:hover{background:#f1f1f1;color:#d2322d}
.app-sidebar{position:fixed;z-index:1020;top:60px;bottom:0;left:0;width:300px;display:flex;flex-direction:column;background:#1d2127;color:#abb4be;box-shadow:-5px 0 0 #2f3139 inset;overflow-y:auto}
.sidebar-heading{height:50px;display:flex;align-items:center;padding-left:24px;background:#1d2127;color:#465162;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sidebar-heading>span{overflow:hidden;white-space:nowrap}
.sidebar-toggle{width:73px;height:50px;margin-left:auto;border:0;border-radius:0 0 0 5px;background:#171717;color:#c3c3c3;font-size:14px;cursor:pointer;flex:0 0 73px}
.sidebar-toggle:hover{color:#fff;background:#151515}
.sidebar-nav{padding:12px 0;flex:1}
.sidebar-link{position:relative;display:flex;align-items:center;gap:15px;min-height:44px;padding:10px 28px;color:#abb4be;text-decoration:none;border-left:3px solid transparent;transition:.15s ease}
.sidebar-link i{width:20px;text-align:center;font-size:19px;color:#abb4be}
.sidebar-link:hover{color:#fff;background:#21262d}
.sidebar-link:hover i{color:#fff}
.sidebar-link.nav-active{color:#fff;background:#171a1f;border-left-color:#0088cc;box-shadow:0 1px 0 rgba(255,255,255,.03) inset}
.sidebar-link.nav-active i{color:#0088cc}
.sidebar-group{padding-right:20px}
.sidebar-group .group-arrow{width:auto;margin-left:auto;color:#66717d;font-size:9px}
.sidebar-submenu{padding:2px 0 7px;background:rgba(0,0,0,.08)}
.sidebar-sublink{position:relative;display:block;overflow:hidden;padding:8px 24px 8px 66px;color:#8e99a5;font-size:12px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.sidebar-sublink:before{position:absolute;top:50%;left:39px;width:10px;height:1px;background:#45505b;content:""}
.sidebar-sublink:hover{color:#fff;background:rgba(255,255,255,.025)}
.sidebar-sublink.nav-active{color:#fff;font-weight:600}
.sidebar-sublink.nav-active:before{background:#0088cc}
.sidebar-label{padding:20px 28px 7px;color:#65717c;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sidebar-candasoft{padding:10px 16px 12px;text-align:center}.sidebar-candasoft-logo{display:block;width:100%;max-width:268px;height:auto;margin:0 auto;object-fit:contain}.sidebar-footer{display:flex;align-items:center;padding:15px 28px;border-top:1px solid #282d36;color:#68737e;font-size:11px}.sidebar-security{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-security span{white-space:nowrap}
@media(min-width:1200px){
.sidebar-collapsed .app-sidebar{width:73px}
.sidebar-collapsed .content-body{width:calc(100% - 73px)!important;margin-left:73px!important}
.sidebar-collapsed .app-logo{width:73px;padding:0 19px}
.sidebar-collapsed .app-logo a>span:last-child,.sidebar-collapsed .sidebar-heading>span,.sidebar-collapsed .sidebar-footer span,.sidebar-collapsed .sidebar-candasoft,.sidebar-collapsed ul.nav-main a span{display:none}
.sidebar-collapsed .sidebar-heading{padding-left:0}
.sidebar-collapsed .sidebar-toggle{width:73px;border-radius:0;flex-basis:73px}
.sidebar-collapsed ul.nav-main{margin-right:0}
.sidebar-collapsed ul.nav-main>li>a{height:45px;padding:12px 24px;overflow:hidden}
.sidebar-collapsed ul.nav-main li i{margin-right:0}
.sidebar-collapsed ul.nav-main li.nav-parent>a:after,.sidebar-collapsed ul.nav-main li.nav-parent>ul.nav-children{display:none}
.sidebar-collapsed .sidebar-footer{justify-content:center;padding:17px 0}
}
.content-body{display:block!important;position:relative!important;width:calc(100% - 300px)!important;max-width:none!important;min-height:100vh;margin:0 0 0 300px!important;padding:60px 0 0!important;background:#ecedf0;box-sizing:border-box}
.page-header{position:relative!important;right:auto!important;left:auto!important;width:auto!important;height:51px;display:flex;align-items:center;justify-content:space-between;margin:0!important;padding:0 36px;background:#171717;border:0;border-left:1px solid #3a3a3a;color:#fff;box-sizing:border-box}
.page-header h2{position:relative;margin:0;color:#fff;font-size:20px;font-weight:400;line-height:51px}
.page-header h2:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:#0088cc;content:""}
.page-header span{color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.container.app-content{display:block;width:100%!important;max-width:1440px!important;margin:0 auto!important;padding:34px 36px 48px!important;box-sizing:border-box}
.porto-admin .page-heading{margin-bottom:24px}
.porto-admin .page-heading h1,.porto-admin .school-context h1{font-size:27px;font-weight:400;color:#333}
.porto-admin .eyebrow{color:#0088cc}
.porto-admin .stat-card,.porto-admin .action-card,.porto-admin .form-card,.porto-admin .table-card,.porto-admin .school-details,.porto-admin .module-card{border:0;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.porto-admin .stat-card{border-left:4px solid #0088cc;padding:22px 24px}
.porto-admin .stat-card strong{font-size:31px;font-weight:600;color:#333}
.porto-admin .action-card:hover,.porto-admin .module-card:hover{border-color:transparent;box-shadow:0 3px 9px rgba(0,0,0,.12);transform:translateY(-1px)}
.porto-admin .button{border-radius:4px;background:#0088cc}
.porto-admin .button:hover{background:#0077b3}
.porto-admin input,.porto-admin select,.porto-admin textarea{border-radius:4px}
.porto-admin .module-icon{border-radius:4px;background:#e8f4fa;color:#0088cc}
.porto-admin .module-icon i{font-size:21px}
.dashboard-stat-card{display:flex;align-items:center;gap:18px}.dashboard-stat-card>i{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e8f4fa;color:#0088cc;font-size:24px}.dashboard-stat-card>div{display:grid}.dashboard-stat-card strong{line-height:1.1}.action-card>span i{font-size:27px}
.dashboard-stat-link{text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.dashboard-stat-link:hover,.dashboard-stat-link:focus{color:inherit;box-shadow:0 2px 5px rgba(0,0,0,.14);outline:none}.dashboard-stat-link:focus-visible{box-shadow:0 0 0 3px rgba(0,136,204,.2)}
.porto-admin .dashboard-schools-card{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(180px,1.1fr);align-items:center;gap:24px}.dashboard-schools-summary{display:flex;align-items:center;gap:18px;min-width:0}.dashboard-schools-summary>i{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e8f4fa;color:#0088cc;font-size:24px}.dashboard-schools-summary>div{display:grid;min-width:0}.dashboard-schools-summary strong{line-height:1.1}.dashboard-stat-title{color:#777;text-decoration:none}.dashboard-stat-title:hover{color:#0088cc}.dashboard-add-school{display:inline-flex;align-items:center;gap:3px;width:max-content;margin-top:7px;color:#64708a;font-size:10px;font-weight:600;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.dashboard-add-school i{font-size:14px}.dashboard-add-school:hover{color:#0088cc}.dashboard-school-links{display:block;padding-left:22px;border-left:1px solid #e5e5e5}.dashboard-school-link-row{display:block;width:100%;margin:0 0 4px}.dashboard-school-links a{display:block;font-size:11px;line-height:1.35;color:#0088cc;text-decoration:none}.dashboard-school-links a:hover{text-decoration:underline}@media(max-width:760px){.porto-admin .dashboard-schools-card{grid-template-columns:1fr}.dashboard-school-links{padding:10px 0 0;border-left:0;border-top:1px solid #e5e5e5}}
.porto-admin .dashboard-users-card{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(180px,1.1fr);align-items:center;gap:24px}.dashboard-users-summary{display:flex;align-items:center;gap:18px;min-width:0}.dashboard-users-summary>i{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e8f4fa;color:#0088cc;font-size:24px}.dashboard-users-summary>div{display:grid;min-width:0}.dashboard-users-summary strong{line-height:1.1}.dashboard-add-user{display:inline-flex;align-items:center;gap:3px;width:max-content;margin-top:7px;color:#64708a;font-size:10px;font-weight:600;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.dashboard-add-user i{font-size:14px}.dashboard-add-user:hover{color:#0088cc}.dashboard-user-links{display:block;padding-left:22px;border-left:1px solid #e5e5e5}.dashboard-user-link-row{display:block;width:100%;margin:0 0 4px}.dashboard-user-links a{display:block;font-size:11px;line-height:1.25;color:#0088cc;text-decoration:none}.dashboard-user-links a:hover{text-decoration:underline}.dashboard-user-links small{display:block;color:#8a94a6;font-size:9px}.dashboard-user-links a:hover small{color:#64708a}@media(max-width:760px){.porto-admin .dashboard-users-card{grid-template-columns:1fr}.dashboard-user-links{padding:10px 0 0;border-left:0;border-top:1px solid #e5e5e5}}
.porto-admin .dashboard-info-card{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(180px,1.1fr);align-items:center;gap:24px}.dashboard-info-summary{display:flex;align-items:center;gap:18px;min-width:0}.dashboard-info-summary>i{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e8f4fa;color:#0088cc;font-size:24px}.dashboard-info-summary>div{display:grid;min-width:0}.dashboard-info-summary strong{line-height:1.1}.dashboard-info-action{display:grid;align-content:center;min-height:48px;padding-left:22px;border-left:1px solid #e5e5e5}.dashboard-info-action small{color:#64708a;font-size:11px;line-height:1.35}.dashboard-info-action>a{display:inline-flex;align-items:center;gap:3px;width:max-content;margin-top:7px;color:#64708a;font-size:10px;font-weight:600;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.dashboard-info-action>a i{font-size:14px}.dashboard-info-action>a:hover{color:#0088cc}@media(max-width:760px){.porto-admin .dashboard-info-card{grid-template-columns:1fr}.dashboard-info-action{padding:10px 0 0;border-left:0;border-top:1px solid #e5e5e5}}
.porto-admin .table-card{overflow:hidden}
.porto-admin th{background:#f6f6f6;color:#777}
.cycle-selector{margin:0;padding:14px 16px;border:1px solid #cdd3df;border-radius:4px}
.cycle-selector legend{float:none;width:auto;margin:0 0 8px;padding:0 5px;font-size:14px;font-weight:650}
.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 16px}
.checkbox-option{display:flex;grid-template-columns:none;align-items:center;gap:8px;font-weight:500}
.checkbox-option input{width:16px;height:16px;margin:0;box-shadow:none}
.cycle-selector>small{display:block;margin-top:9px;color:var(--muted)}
.sidebar-backdrop{display:none}
@media(max-width:1199px){
    .mobile-sidebar-toggle{display:block}.app-logo{width:auto;min-width:220px}.app-sidebar{transform:translateX(-100%);transition:transform .2s ease}.content-body{width:100%!important;margin-left:0!important}.sidebar-backdrop{position:fixed;z-index:1010;inset:60px 0 0;display:block;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}
}
@media(max-width:640px){
    .app-header{height:56px}.app-logo{height:53px;min-width:0;flex:1;padding:0 14px}.app-logo a>span:last-child{font-size:15px}.mobile-sidebar-toggle{order:-1;width:48px;height:53px}.header-title,.account-copy{display:none}.account-menu{height:53px;padding:0 12px;border-left:0}.account-menu form{margin-left:0}.app-sidebar{top:56px;width:min(300px,86vw)}.content-body{padding-top:56px!important}.page-header{height:auto;min-height:50px;padding:0 18px}.page-header h2{font-size:17px;line-height:50px}.page-header span{display:none}.container.app-content{padding:24px 16px 36px!important}.sidebar-backdrop{inset:56px 0 0}
}
@media(max-width:520px){.checkbox-grid{grid-template-columns:1fr 1fr}}
