:root{
 --pes-primary:#1e3a8a;
 --pes-primary-dark:#172554;
 --pes-primary-mid:#1e40af;
 --pes-yellow:#f5c400;
 --pes-yellow-dark:#d9aa00;
 --pes-bg:#f4f7fb;
 --pes-card:#ffffff;
 --pes-text:#132238;
 --pes-muted:#64748b;
 --pes-border:#dbe3ee;
 --pes-success:#15803d;
 --pes-danger:#c62828;
 --pes-warning:#b77900;
 --pes-radius:14px;
 --pes-shadow:0 8px 28px rgba(30,58,138,.08);
 --pes-shadow-hover:0 14px 34px rgba(30,58,138,.14);
}
*{box-sizing:border-box}
.pes-school-admin #wpcontent{background:var(--pes-bg);padding-bottom:48px}
.pes-school-admin .wrap{max-width:1540px}
.pes-school-admin .wrap>h1{font-size:30px;line-height:1.2;color:var(--pes-primary);font-weight:800;letter-spacing:-.025em;margin:28px 0 8px}
.pes-school-admin .wrap>h2{font-size:22px;line-height:1.3;color:var(--pes-primary);font-weight:800;margin:24px 0 16px}
.pes-school-admin,.pes-school-admin #wpbody{font-size:15px}
.pes-school-admin .notice{border-radius:12px;border:1px solid var(--pes-border);box-shadow:0 2px 10px rgba(30,58,138,.05)}
.pes-wrap{max-width:1540px}
.pes-brandbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(110deg,var(--pes-primary),#174b8c);color:#fff;border-radius:16px;padding:18px 22px;margin:20px 0 22px;box-shadow:var(--pes-shadow)}
.pes-brandbar strong{font-size:18px;letter-spacing:-.01em}.pes-brandbar span{font-size:13px;opacity:.86}
.pes-brandmark{display:flex;align-items:center;gap:12px}.pes-brandmark-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--pes-yellow);color:var(--pes-primary);font-weight:900;font-size:18px}
.pes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:20px 0}
.pes-card{background:var(--pes-card);border:1px solid var(--pes-border);border-radius:var(--pes-radius);padding:22px;box-shadow:var(--pes-shadow);color:var(--pes-text);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.pes-card:hover{box-shadow:var(--pes-shadow-hover);border-color:#c8d5e6}
.pes-card h2,.pes-card h3{color:var(--pes-primary);font-size:18px;line-height:1.35;margin:0 0 14px;font-weight:800}
.pes-card p{font-size:15px;line-height:1.65}
.pes-number{font-size:34px;line-height:1.1;font-weight:850;letter-spacing:-.035em;margin-bottom:7px;color:var(--pes-primary)}
.pes-muted{color:var(--pes-muted)}
.pes-table{background:var(--pes-card);border:1px solid var(--pes-border);border-radius:var(--pes-radius);overflow:auto;box-shadow:var(--pes-shadow);margin:18px 0}
.pes-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}
.pes-table th{background:#edf3fa;color:var(--pes-primary);font-weight:800;white-space:nowrap}
.pes-table th,.pes-table td{padding:14px 15px;border-bottom:1px solid var(--pes-border);text-align:left;vertical-align:middle}
.pes-table tr:last-child td{border-bottom:0}.pes-table tbody tr:hover{background:#f8fbff}
.pes-table a{color:var(--pes-primary-mid);font-weight:700;text-decoration:none}.pes-table a:hover{color:var(--pes-primary);text-decoration:underline}
.pes-form{background:var(--pes-card);border:1px solid var(--pes-border);border-radius:var(--pes-radius);padding:24px;box-shadow:var(--pes-shadow);margin:18px 0}
.pes-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.pes-form p{margin:0 0 16px}
.pes-form label,.pes-portal label{display:block;color:var(--pes-primary);font-weight:750;font-size:14px}
.pes-form input,.pes-form select,.pes-form textarea{width:100%;margin-top:7px;min-height:46px;border:1px solid #c7d3e1;border-radius:10px;background:#fff;color:var(--pes-text);font-size:16px;padding:10px 13px;box-shadow:0 1px 2px rgba(30,58,138,.03)}
.pes-form textarea{min-height:115px;resize:vertical}
.pes-form input:focus,.pes-form select:focus,.pes-form textarea:focus,.pes-portal input:focus{border-color:var(--pes-primary-mid);box-shadow:0 0 0 3px rgba(30,64,175,.14);outline:0}
.pes-form input[type=checkbox]{width:auto;min-height:auto;padding:0}
.pes-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.pes-toolbar .button{margin:0}
.pes-school-admin .button,.pes-portal .button{border-radius:10px;min-height:42px;padding:8px 16px;font-size:14px;font-weight:750;line-height:1.45}
.pes-school-admin .button-primary,.pes-portal .button-primary{background:var(--pes-primary);border-color:var(--pes-primary);color:#fff;box-shadow:0 3px 8px rgba(30,58,138,.2)}
.pes-school-admin .button-primary:hover,.pes-portal .button-primary:hover{background:var(--pes-primary-dark);border-color:var(--pes-primary-dark);color:#fff}
.pes-school-admin .pes-button-yellow{background:var(--pes-yellow);border-color:var(--pes-yellow);color:var(--pes-primary);font-weight:850}
.pes-school-admin .pes-button-yellow:hover{background:var(--pes-yellow-dark);border-color:var(--pes-yellow-dark);color:var(--pes-primary)}
.pes-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#e9f0f8;color:var(--pes-primary);font-size:13px;font-weight:800}
.pes-badge-yellow{background:#fff5bf;color:#705500}.pes-danger{color:var(--pes-danger)}.pes-success{color:var(--pes-success)}
.pes-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pes-filter{display:flex;gap:14px;align-items:end;flex-wrap:wrap;background:var(--pes-card);border:1px solid var(--pes-border);border-radius:var(--pes-radius);padding:18px;box-shadow:var(--pes-shadow)}
.pes-filter label{font-weight:750;color:var(--pes-primary);font-size:14px}.pes-filter input,.pes-filter select{margin-left:6px;min-height:42px;border:1px solid #c7d3e1;border-radius:9px;padding:8px 11px;font-size:15px}.pes-report-link{text-decoration:none;color:inherit}
.pes-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 24px;border-bottom:2px solid var(--pes-border);padding-bottom:10px}
.pes-tabs a{padding:10px 15px;border-radius:10px;text-decoration:none;color:#475569;font-weight:800}.pes-tabs a:hover{background:#e9f0f8;color:var(--pes-primary)}
.pes-tabs a.active{background:var(--pes-primary);color:#fff;box-shadow:0 3px 8px rgba(30,58,138,.18)}
.pes-section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:12px 0 18px}.pes-section-title h2{font-size:30px;margin:3px 0 6px;color:var(--pes-primary)}.pes-section-title p{color:var(--pes-muted);font-size:16px;margin:0}
.pes-eyebrow{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:850;color:var(--pes-yellow-dark)}
.pes-workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pes-workflow-grid section{min-width:0}
.pes-workflow-step{position:relative;padding-left:58px}.pes-workflow-step-number{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:12px;background:var(--pes-yellow);color:var(--pes-primary);display:grid;place-items:center;font-weight:900}
.pes-inline-input{width:110px!important;min-height:38px!important}.pes-report-card{max-width:1000px}
.pes-report-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--pes-border);padding-bottom:16px;margin-bottom:18px}.pes-report-card-head h2{font-size:28px!important;margin:3px 0!important;color:var(--pes-primary)}
.pes-report-card .pes-report-card-title{border-left:5px solid var(--pes-yellow);padding-left:14px}
.pes-portal{max-width:1240px;margin:36px auto;padding:0 18px;color:var(--pes-text);font-size:16px}
.pes-portal h2{font-size:30px;line-height:1.2;margin:0 0 8px;letter-spacing:-.025em;color:var(--pes-primary)}.pes-portal h3{font-size:19px;color:var(--pes-primary)}
.pes-portal-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.pes-portal-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:20px;margin:20px 0}.pes-portal input{width:100%;min-height:46px;margin-top:7px;border:1px solid #c7d3e1;border-radius:10px;padding:10px 13px;font-size:16px}.pes-portal .pes-table{box-shadow:none}.pes-login{max-width:520px;margin:50px auto}
.pes-portal .pes-brandbar{margin-top:0}
.pes-school-admin #adminmenu .wp-submenu-head,.pes-school-admin #adminmenu a{font-size:14px}
.pes-school-admin #adminmenu .wp-has-current-submenu>a.wp-has-current-submenu{background:var(--pes-primary)}
.pes-school-admin #adminmenu .wp-has-current-submenu .wp-submenu{border-left:3px solid var(--pes-yellow)}
.pes-school-admin #adminmenu .wp-submenu a{font-size:13px}.pes-school-admin #screen-meta-links{margin-top:8px}
.pes-school-admin #wpadminbar{background:var(--pes-primary)}
.pes-school-admin .form-table th{color:var(--pes-primary);font-weight:750}
.pes-school-admin .pagination-links a,.pes-school-admin .tablenav-pages a{border-radius:8px}
@media(max-width:900px){.pes-report-grid,.pes-portal-grid,.pes-workflow-grid{grid-template-columns:1fr}.pes-portal-header{align-items:flex-start;flex-direction:column}.pes-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
@media(max-width:600px){.pes-school-admin .wrap>h1{font-size:25px}.pes-card,.pes-form{padding:18px}.pes-form-grid{grid-template-columns:1fr}.pes-table th,.pes-table td{padding:11px 10px}.pes-portal{padding:0 12px}.pes-portal h2{font-size:25px}.pes-number{font-size:29px}.pes-brandbar{align-items:flex-start;flex-direction:column}.pes-section-title h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.pes-school-admin #adminmenumain,.pes-school-admin #wpadminbar,.pes-school-admin .pes-tabs,.pes-school-admin .button{display:none!important}.pes-school-admin #wpcontent{margin-left:0!important}.pes-school-admin .wrap{margin:0!important}.pes-report-card{box-shadow:none!important;border:0!important}}

/* v0.8 modern application shell */
.pes-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(120deg,var(--pes-primary-dark),var(--pes-primary));color:#fff;border-radius:20px;padding:30px 32px;margin:20px 0 24px;box-shadow:0 18px 44px rgba(23,37,84,.18);position:relative;overflow:hidden}
.pes-dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-130px;background:rgba(245,196,0,.12)}
.pes-dashboard-hero h2{font-size:32px;line-height:1.15;margin:5px 0 8px;color:#fff;letter-spacing:-.03em}.pes-dashboard-hero p{font-size:16px;max-width:680px;margin:0;color:rgba(255,255,255,.82)}.pes-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.pes-hero-actions .button{white-space:nowrap}
.pes-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.pes-kpi{min-height:145px;padding:20px;position:relative;overflow:hidden}.pes-kpi-icon:before{font-size:22px}.pes-kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff5bf;color:var(--pes-primary);margin-bottom:16px}.pes-kpi-value{font-size:25px;font-weight:900;color:var(--pes-primary);letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pes-kpi-label{font-size:13px;color:var(--pes-muted);font-weight:750;margin-top:5px}
.pes-workflow-card{min-height:250px}.pes-workflow-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--pes-primary);color:#fff;margin-bottom:15px}.pes-workflow-icon:before{font-size:22px}.pes-workflow-card h3{font-size:19px;line-height:1.4}.pes-workflow-card p{color:var(--pes-muted);min-height:52px}
.pes-dashboard-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:20px}.pes-section-inline{display:flex;justify-content:space-between;align-items:center;gap:16px}.pes-section-inline h2,.pes-section-inline h3{margin:3px 0}.pes-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.pes-shortcut{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid var(--pes-border);border-radius:11px;color:var(--pes-primary);text-decoration:none;font-weight:800;background:#fbfdff;transition:.15s ease}.pes-shortcut:hover{border-color:var(--pes-yellow);background:#fffdf0;transform:translateY(-1px)}.pes-shortcut .dashicons{font-size:18px}.pes-progress{height:10px;background:#e8eef6;border-radius:999px;overflow:hidden;margin:22px 0 12px}.pes-progress span{display:block;height:100%;border-radius:999px;background:var(--pes-yellow)}.pes-permission-pills{display:flex;gap:8px;flex-wrap:wrap}.pes-empty-state{text-align:center;padding:48px 25px}.pes-empty-state .dashicons{font-size:42px;width:42px;height:42px;color:var(--pes-yellow-dark);margin-bottom:8px}
.pes-portal .pes-brandbar{background:linear-gradient(120deg,var(--pes-primary-dark),var(--pes-primary));box-shadow:0 16px 40px rgba(23,37,84,.16)}.pes-portal .pes-card{box-shadow:0 10px 30px rgba(30,58,138,.07)}.pes-portal .pes-button-yellow{background:var(--pes-yellow);border-color:var(--pes-yellow);color:var(--pes-primary);font-weight:900}.pes-portal .pes-button-yellow:hover{background:var(--pes-yellow-dark);border-color:var(--pes-yellow-dark);color:var(--pes-primary)}
@media(max-width:1200px){.pes-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.pes-dashboard-hero{align-items:flex-start;flex-direction:column;padding:24px}.pes-dashboard-hero h2{font-size:28px}.pes-dashboard-columns{grid-template-columns:1fr}.pes-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pes-shortcut-grid{grid-template-columns:1fr}}
@media(max-width:520px){.pes-kpi-grid{grid-template-columns:1fr}.pes-hero-actions{width:100%}.pes-hero-actions .button{flex:1;text-align:center}.pes-dashboard-hero{border-radius:15px}.pes-kpi-value{font-size:23px}}

/* v0.9 finance workspace */
.pes-finance-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pes-finance-flow .pes-card{min-height:150px}.pes-card h2,.pes-card h3{letter-spacing:-.02em}.pes-school-admin .pes-table table{font-size:14px}.pes-school-admin .pes-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#173b68}.pes-school-admin .pes-table td{font-size:14px}.pes-school-admin input,.pes-school-admin select,.pes-school-admin textarea{font-size:15px}.pes-school-admin .button{font-size:14px}.pes-muted{color:#64748b}@media(max-width:900px){.pes-finance-flow{grid-template-columns:1fr 1fr}}


/* v1.0 Rails-style application sidebar */
.pes-school-admin #adminmenumain{display:none!important}
.pes-school-admin #wpcontent{margin-left:0!important}
.pes-school-admin #wpfooter{margin-left:0!important}
.pes-school-admin #wpbody-content{padding-bottom:48px}
.pes-app-sidebar{position:fixed;z-index:100100;left:0;top:32px;bottom:0;width:272px;background:var(--pes-primary-dark,#172554);color:#fff;display:flex;flex-direction:column;box-shadow:12px 0 32px rgba(23,37,84,.14);font-size:14px}
.pes-app-sidebar-brand{height:70px;display:flex;align-items:center;gap:11px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}
.pes-app-logo{width:42px;height:42px;border-radius:12px;background:var(--pes-yellow,#f5c400);color:var(--pes-primary,#1e3a8a);display:grid;place-items:center;font-weight:950;letter-spacing:-.04em}
.pes-app-sidebar-brand strong{display:block;font-size:16px;line-height:1.15}.pes-app-sidebar-brand span{display:block;color:rgba(255,255,255,.58);font-size:11px;margin-top:3px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pes-app-close{display:none;margin-left:auto;background:transparent;border:0;color:#fff;font-size:25px;cursor:pointer}
.pes-app-user{display:flex;align-items:center;gap:11px;padding:14px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}
.pes-app-avatar{width:36px;height:36px;border-radius:50%;background:var(--pes-yellow,#f5c400);color:var(--pes-primary,#1e3a8a);display:grid;place-items:center;font-weight:900;flex-shrink:0}.pes-app-user strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.pes-app-user span{display:block;font-size:11px;color:var(--pes-yellow,#f5c400);margin-top:2px}
.pes-app-nav{overflow:auto;padding:12px 10px 18px;scrollbar-width:thin;flex:1}.pes-app-link,.pes-app-group-toggle{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:0;border-radius:10px;color:rgba(255,255,255,.88);background:transparent;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;text-align:left}.pes-app-link:hover,.pes-app-group-toggle:hover{background:rgba(255,255,255,.075);color:#fff}.pes-app-link.active,.pes-app-sublink.active{background:var(--pes-yellow,#f5c400);color:var(--pes-primary,#1e3a8a);box-shadow:0 4px 12px rgba(0,0,0,.12)}.pes-app-link .dashicons,.pes-app-group-toggle .dashicons{font-size:18px;width:18px;height:18px}.pes-app-group-toggle{justify-content:space-between;margin-top:3px}.pes-app-group-toggle>span:first-child{display:flex;align-items:center;gap:10px}.pes-app-group-toggle .dashicons-arrow-down-alt2{transition:transform .18s ease;font-size:16px}.pes-app-group-toggle.open .dashicons-arrow-down-alt2{transform:rotate(180deg)}
.pes-app-subnav{display:none;margin:2px 0 5px 21px;padding-left:10px;border-left:1px solid rgba(255,255,255,.14)}.pes-app-subnav.open{display:block}.pes-app-sublink{display:flex;align-items:center;gap:9px;min-height:36px;padding:7px 10px;border-radius:8px;color:rgba(255,255,255,.72);text-decoration:none;font-size:13px;font-weight:650}.pes-app-sublink:hover{background:rgba(255,255,255,.06);color:#fff}.pes-app-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65;flex-shrink:0}.pes-app-sidebar-footer{padding:11px;border-top:1px solid rgba(255,255,255,.1)}.pes-app-sidebar-footer a{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.78);text-decoration:none;padding:10px 11px;border-radius:9px;font-weight:700}.pes-app-sidebar-footer a:hover{background:rgba(255,255,255,.07);color:#fff}
.pes-app-menu-toggle{display:none;position:fixed;z-index:100099;left:12px;top:47px;width:42px;height:42px;border:0;border-radius:11px;background:var(--pes-primary,#1e3a8a);color:#fff;box-shadow:0 8px 20px rgba(23,37,84,.2);cursor:pointer}.pes-app-sidebar-overlay{display:none}
.pes-school-admin .pes-wrap{margin-left:292px!important;max-width:calc(100% - 322px)}.pes-school-admin .pes-wrap>.pes-brandbar{margin-top:10px}
@media(max-width:960px){.pes-app-sidebar{top:46px;transform:translateX(-102%);transition:transform .22s ease}.pes-app-sidebar.is-open{transform:translateX(0)}.pes-app-close{display:block}.pes-app-menu-toggle{display:grid;place-items:center}.pes-app-sidebar-overlay{position:fixed;inset:46px 0 0;background:rgba(2,11,25,.48);z-index:100099}.pes-app-sidebar-overlay.is-open{display:block}.pes-school-admin .pes-wrap{margin-left:18px!important;max-width:none}.pes-school-admin .pes-wrap>.pes-brandbar{padding-left:60px}.pes-sidebar-open{overflow:hidden}}
@media(max-width:600px){.pes-app-sidebar{width:290px}.pes-school-admin .pes-wrap{margin-left:10px!important;margin-right:10px!important}.pes-school-admin .pes-wrap>.pes-brandbar{padding-left:58px}.pes-app-menu-toggle{top:54px}}
/* v1.1 user management + dashboard readability */
.pes-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px}
.pes-kpi{min-height:148px}
.pes-kpi-value{font-size:28px;line-height:1.2}
.pes-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.pes-role-card{border:1px solid var(--pes-border,#dbe5f0);border-radius:14px;padding:18px;background:#fbfdff}
.pes-role-card strong{display:block;color:var(--pes-primary,#1e3a8a);font-size:16px;margin-bottom:7px}
.pes-role-card code{font-size:11px;color:#64748b}.pes-role-card p{font-size:13px;color:#64748b;line-height:1.55;margin:10px 0 0}
.pes-user-editor{max-width:1000px}.pes-role-note{background:#fff9d9;border-left:4px solid var(--pes-yellow,#f5c400);border-radius:8px;padding:14px 16px;margin:18px 0}.pes-role-note p{margin:5px 0 0;color:#4b5563}
.pes-school-admin .button-large{padding:9px 18px;height:auto;font-size:15px}
@media(max-width:1100px){.pes-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.pes-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pes-role-grid{grid-template-columns:1fr}}
@media(max-width:520px){.pes-kpi-grid{grid-template-columns:1fr!important}.pes-kpi-value{font-size:25px}}

/* v1.2 user-management refresh */
.pes-user-editor{max-width:1080px}
.pes-user-editor .pes-form-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:22px 24px}
.pes-user-editor .pes-form-grid p{margin:0}
.pes-user-editor label,.pes-role-create label{font-size:13px;letter-spacing:.01em;text-transform:none}
.pes-user-editor label strong{display:block;margin-bottom:7px;font-size:14px}
.pes-user-editor input,.pes-user-editor select,.pes-user-editor textarea{
 min-height:52px!important;border:1px solid #cbd6e4!important;border-radius:12px!important;
 background:#fbfdff!important;padding:12px 15px!important;font-size:16px!important;line-height:1.35;
 transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.pes-user-editor input:hover,.pes-user-editor select:hover{border-color:#9fb2ca!important;background:#fff!important}
.pes-user-editor input:focus,.pes-user-editor select:focus{border-color:var(--pes-yellow-dark)!important;box-shadow:0 0 0 4px rgba(245,196,0,.16)!important;background:#fff!important}
.pes-user-editor input[readonly]{background:#eef3f8!important;color:#607086}
.pes-user-editor .button-primary{background:var(--pes-primary)!important;border-color:var(--pes-primary)!important;border-radius:11px!important;min-height:48px;padding:0 22px!important;font-size:15px!important;font-weight:800}
.pes-role-note{margin:22px 0;padding:17px 19px;border:1px solid #f0d76a;border-left:5px solid var(--pes-yellow);background:#fffdf2;border-radius:12px;color:var(--pes-text)}
.pes-role-note strong{color:var(--pes-primary);font-size:15px}
.pes-role-create{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;align-items:end;gap:16px;margin:20px 0 24px;padding:20px;background:#f7f9fc;border:1px solid var(--pes-border);border-radius:14px}
.pes-role-create label{display:block;color:var(--pes-primary);font-weight:800}
.pes-role-create input{display:block;width:100%;margin-top:7px;min-height:50px;border:1px solid #c7d3e1;border-radius:11px;background:#fff;padding:11px 14px;font-size:16px}
.pes-role-create input:focus{outline:0;border-color:var(--pes-yellow-dark);box-shadow:0 0 0 4px rgba(245,196,0,.14)}
.pes-role-create .button{min-height:50px;border-radius:11px;font-weight:800;padding:0 20px}
.pes-help{color:var(--pes-muted);font-weight:500;font-size:12px}
.pes-role-card{position:relative}
.pes-role-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pes-role-custom{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef3fa;color:var(--pes-primary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.pes-role-delete{font-size:12px!important;color:#b42318!important;font-weight:700!important;text-decoration:none!important}
.pes-role-delete:hover{text-decoration:underline!important}
@media(max-width:900px){
 .pes-role-create{grid-template-columns:1fr 1fr}
 .pes-role-create .button{grid-column:1/-1}
}
@media(max-width:700px){
 .pes-user-editor .pes-form-grid,.pes-role-create{grid-template-columns:1fr}
 .pes-role-create .button{grid-column:auto}
}

/* v1.3 role & permission builder */
.pes-role-editor{max-width:1100px}.pes-role-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.pes-role-form-grid label{display:block;color:var(--pes-primary);font-weight:800;font-size:13px}.pes-role-form-grid input{display:block;width:100%;margin-top:8px;min-height:52px;border:1px solid #cbd6e4;border-radius:12px;padding:12px 15px;font-size:16px;background:#fbfdff;box-sizing:border-box}.pes-role-form-grid input:focus{outline:0;border-color:var(--pes-yellow-dark);box-shadow:0 0 0 4px rgba(245,196,0,.14)}.pes-permission-heading{margin:28px 0 14px}.pes-permission-heading h3{margin:0;color:var(--pes-primary);font-size:20px}.pes-permission-heading p{margin:5px 0;color:var(--pes-muted)}.pes-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pes-permission-card{display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px solid var(--pes-border);border-radius:14px;background:#fff;cursor:pointer;transition:.15s ease;box-shadow:0 2px 8px rgba(23,37,84,.03)}.pes-permission-card:hover{border-color:#a9bbd0;transform:translateY(-1px)}.pes-permission-card input{width:20px;height:20px;accent-color:var(--pes-primary);margin-top:1px;flex:0 0 auto}.pes-permission-card strong{display:block;color:var(--pes-primary);font-size:15px}.pes-permission-card small{display:block;color:var(--pes-muted);margin-top:4px;font-size:12px}.pes-permission-count{font-weight:800;color:var(--pes-primary)!important}.pes-inline-check{display:flex!important;align-items:center;gap:9px;height:50px;color:var(--pes-primary)!important;font-weight:800}.pes-inline-check input{width:18px;height:18px}@media(max-width:900px){.pes-permission-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.pes-role-form-grid,.pes-permission-grid{grid-template-columns:1fr}}

/* v1.3.3 modern form controls — Rails-aligned brand palette */
.pes-school-admin input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.pes-school-admin select,
.pes-school-admin textarea,
.pes-portal input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.pes-portal select,
.pes-portal textarea{
  width:100%;
  min-height:48px;
  margin:0;
  padding:11px 14px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  color:var(--pes-text);
  font:inherit;
  font-size:15px;
  line-height:1.45;
  box-shadow:0 1px 2px rgba(15,23,42,.04), inset 0 0 0 1px rgba(255,255,255,.35);
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,transform .16s ease;
  outline:none;
}
.pes-school-admin input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):hover,
.pes-school-admin select:hover,
.pes-school-admin textarea:hover,
.pes-portal input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):hover,
.pes-portal select:hover,
.pes-portal textarea:hover{border-color:#94a3b8;background:#fff}
.pes-school-admin input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
.pes-school-admin select:focus,
.pes-school-admin textarea:focus,
.pes-portal input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
.pes-portal select:focus,
.pes-portal textarea:focus{
  border-color:var(--pes-primary);
  box-shadow:0 0 0 4px rgba(30,58,138,.13),0 2px 6px rgba(30,58,138,.08);
  background:#fff;
}
.pes-school-admin input::placeholder,.pes-school-admin textarea::placeholder,.pes-portal input::placeholder,.pes-portal textarea::placeholder{color:#94a3b8;opacity:1}
.pes-school-admin textarea,.pes-portal textarea{min-height:118px;resize:vertical}
.pes-school-admin select,.pes-portal select{cursor:pointer;padding-right:40px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.pes-school-admin input[type="date"],.pes-school-admin input[type="datetime-local"],.pes-school-admin input[type="time"],.pes-school-admin input[type="month"],.pes-portal input[type="date"],.pes-portal input[type="datetime-local"],.pes-portal input[type="time"],.pes-portal input[type="month"]{font-variant-numeric:tabular-nums;cursor:pointer}
.pes-school-admin input[type="number"],.pes-portal input[type="number"]{font-variant-numeric:tabular-nums}
.pes-school-admin input[type="search"],.pes-portal input[type="search"]{border-radius:999px;padding-left:17px}
.pes-school-admin input[type="file"],.pes-portal input[type="file"]{min-height:50px;padding:7px 9px;cursor:pointer;background:#f8fafc}
.pes-school-admin input[type="file"]::file-selector-button,.pes-portal input[type="file"]::file-selector-button{margin-right:10px;border:0;border-radius:9px;padding:8px 12px;background:var(--pes-primary);color:#fff;font-weight:800;cursor:pointer}
.pes-school-admin input[type="color"],.pes-portal input[type="color"]{width:58px!important;min-width:58px;height:48px;padding:5px;border-radius:12px;cursor:pointer}
.pes-school-admin input[type="checkbox"],.pes-school-admin input[type="radio"],.pes-portal input[type="checkbox"],.pes-portal input[type="radio"]{accent-color:var(--pes-yellow);width:18px;height:18px;margin:0;vertical-align:middle;cursor:pointer}
.pes-school-admin input[type="checkbox"]:focus,.pes-school-admin input[type="radio"]:focus,.pes-portal input[type="checkbox"]:focus,.pes-portal input[type="radio"]:focus{outline:3px solid rgba(245,196,0,.22);outline-offset:2px;box-shadow:none}
.pes-school-admin input:disabled,.pes-school-admin select:disabled,.pes-school-admin textarea:disabled,.pes-portal input:disabled,.pes-portal select:disabled,.pes-portal textarea:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}
.pes-school-admin input[readonly],.pes-school-admin textarea[readonly],.pes-portal input[readonly],.pes-portal textarea[readonly]{background:#f8fafc;color:#475569}
.pes-school-admin .pes-form input,.pes-school-admin .pes-form select,.pes-school-admin .pes-form textarea{margin-top:7px}
.pes-school-admin .pes-filter input,.pes-school-admin .pes-filter select{margin-left:0;min-height:46px}
.pes-school-admin .form-table input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.pes-school-admin .form-table select,.pes-school-admin .form-table textarea{max-width:620px}
.pes-school-admin .wp-core-ui input.button,.pes-school-admin .wp-core-ui button{font-family:inherit}

/* WordPress administrator bridge: administrators control both WP and PES. */
.pes-app-admin-bridge{margin:0 4px 14px;padding:10px 8px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045)}
.pes-app-admin-label{display:flex;align-items:center;gap:8px;padding:4px 7px 8px;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.78}
.pes-app-admin-link{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;color:rgba(255,255,255,.78);text-decoration:none;font-size:12px;font-weight:600}
.pes-app-admin-link:hover{background:rgba(255,255,255,.08);color:#fff}
.pes-app-admin-link .dashicons,.pes-app-admin-label .dashicons{font-size:16px;width:16px;height:16px}
/* Inventory issue approval workflow */
.pes-alert-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:4px solid var(--pes-yellow,#eab308)}
.pes-alert-card .pes-number{display:grid;place-items:center;min-width:58px;height:58px;border-radius:16px;background:var(--pes-primary,#1e3a8a);color:#fff;font-size:22px;font-weight:800}
.pes-status-pending{background:#fff7ed;color:#9a3412}.pes-status-approved{background:#ecfdf5;color:#166534}.pes-status-rejected{background:#fef2f2;color:#991b1b}
.pes-issue-items{display:grid;gap:12px}.pes-issue-row{display:grid;grid-template-columns:minmax(220px,1.2fr) 150px minmax(180px,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--pes-border,#dbe3ee);border-radius:14px;background:#f8fafc}.pes-issue-row label{display:block}.pes-issue-row .pes-help{display:block;margin-top:6px;color:var(--pes-muted,#64748b);font-size:12px}.pes-form-wide{grid-column:1/-1}.pes-notification-list{display:grid;gap:12px}.pes-notification{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid var(--pes-border,#dbe3ee);border-radius:14px;background:#fff}.pes-notification p{margin:6px 0;color:var(--pes-muted,#64748b)}.pes-notification small{color:var(--pes-muted,#64748b)}
@media(max-width:900px){.pes-issue-row{grid-template-columns:1fr 1fr}.pes-issue-row>div:first-child,.pes-issue-row>div:nth-child(3){grid-column:1/-1}}
@media(max-width:600px){.pes-issue-row{grid-template-columns:1fr}.pes-issue-row>div{grid-column:auto!important}.pes-notification{align-items:flex-start;flex-direction:column}}
/* v1.3.8 workflow polish */
.pes-status-submitted{background:#eff6ff;color:#1d4ed8}.pes-status-paid{background:#ecfdf5;color:#166534}.pes-status-cancelled{background:#fef2f2;color:#991b1b}
.pes-kpi{position:relative;overflow:hidden}.pes-kpi:after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:rgba(30,58,138,.06)}
.pes-table td .button-link{font-weight:700;text-decoration:none}.pes-table td .button-link:hover{text-decoration:underline}
/* v1.3.9 usability improvements */
.pes-app-search-shortcut{margin:0 4px 10px}.pes-app-search-shortcut a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;color:rgba(255,255,255,.82);text-decoration:none;font-size:12px;font-weight:700;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.pes-app-search-shortcut a:hover{background:rgba(255,255,255,.09);color:#fff}.pes-app-search-shortcut .dashicons{font-size:16px;width:16px;height:16px}
.pes-search-row{display:flex;gap:10px;align-items:center}.pes-search-row .pes-modern-input{flex:1;min-width:0}.pes-search-results{display:grid;gap:8px}.pes-search-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--pes-border,#dbe3ee);border-radius:12px;text-decoration:none;background:#fff}.pes-search-result:hover{border-color:var(--pes-primary,#1e3a8a);box-shadow:0 5px 18px rgba(15,23,42,.06)}.pes-search-result strong{color:var(--pes-text,#132238)}.pes-search-result span{color:var(--pes-muted,#64748b);font-size:12px;text-align:right}@media(max-width:600px){.pes-search-row{flex-direction:column;align-items:stretch}.pes-search-result{align-items:flex-start;flex-direction:column}.pes-search-result span{text-align:left}}
/* Reports v2 */
.pes-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pes-report-toolbar form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0}
.pes-report-toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:12px}
.pes-report-actions{display:flex;gap:8px;align-items:center}
.pes-report-print-head{background:#fff;border:1px solid var(--pes-border);border-radius:16px;padding:18px 20px;margin-bottom:16px;text-align:left}
.pes-report-print-head h2,.pes-report-print-head h3{margin:0 0 5px}.pes-report-print-head h3{margin-top:12px;color:var(--pes-primary)}
@media print{
 body *{visibility:hidden!important}.pes-wrap,.pes-wrap *{visibility:visible!important}.pes-wrap{position:absolute;left:0;top:0;width:100%;padding:0!important}.pes-report-toolbar,.pes-brandbar,.pes-wrap>h1,.notice,.pes-sidebar,.pes-app-shell>aside{display:none!important}.pes-report-print-head{border:0!important;box-shadow:none!important;border-radius:0!important;text-align:center;margin:0 0 15px!important}.pes-card{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}.pes-table{overflow:visible!important}.pes-table table{width:100%!important;font-size:10pt}.pes-number{font-size:18pt}
}

.pes-login-shell{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;box-sizing:border-box;background:linear-gradient(135deg,#f5f8fc 0%,#eef3f9 100%);border-radius:18px}.pes-login-card{width:min(100%,460px);background:#fff;border:1px solid #e1e8f0;border-radius:20px;padding:34px;box-shadow:0 18px 50px rgba(22,45,75,.10);box-sizing:border-box}.pes-login-brand{display:flex;align-items:center;gap:13px;margin-bottom:32px}.pes-login-brand strong{display:block;font-size:17px;color:#10243e}.pes-login-brand span{display:block;font-size:12px;color:#728197;margin-top:3px}.pes-login-logo{width:46px;height:46px;border-radius:12px;background:#0D47A1;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.5px}.pes-login-heading{margin-bottom:24px}.pes-login-heading h2{margin:5px 0 8px;font-size:28px;line-height:1.2;color:#10243e}.pes-login-heading p{margin:0;color:#728197;line-height:1.6}.pes-login-form form{margin:0}.pes-login-form p{margin:0 0 17px}.pes-login-form label{display:block;font-weight:600;color:#26384f;font-size:14px}.pes-login-form input[type=text],.pes-login-form input[type=email],.pes-login-form input[type=password]{width:100%;box-sizing:border-box;min-height:48px;margin-top:7px;border:1px solid #cbd6e3;border-radius:10px;padding:11px 13px;font-size:15px;background:#fbfcfe;outline:none;transition:border-color .2s,box-shadow .2s}.pes-login-form input[type=text]:focus,.pes-login-form input[type=email]:focus,.pes-login-form input[type=password]:focus{border-color:#0D47A1;box-shadow:0 0 0 3px rgba(13,71,161,.10);background:#fff}.pes-login-form .login-remember{margin:3px 0 18px}.pes-login-form .login-remember label{font-weight:400;font-size:13px;display:flex;align-items:center;gap:8px}.pes-login-form .login-remember input{margin:0}.pes-login-form input[type=submit]{width:100%;min-height:48px;border:0;border-radius:10px;background:#0D47A1;color:#fff;font-size:15px;font-weight:700;cursor:pointer;padding:11px 16px}.pes-login-form input[type=submit]:hover{filter:brightness(.95)}.pes-login-forgot{display:block;text-align:center;margin-top:18px;color:#0D47A1;text-decoration:none;font-size:13px}.pes-login-forgot:hover{text-decoration:underline}.pes-login-footer{margin-top:16px;color:#7b8898;font-size:12px;text-align:center}@media(max-width:520px){.pes-login-shell{padding:24px 12px}.pes-login-card{padding:26px 20px}.pes-login-heading h2{font-size:24px}}
