@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700&display=swap');
:root{--navy:#1F3864;--gold:#B8860B;--bg:#F3F5F8;--border:#E1E5EA}
*{box-sizing:border-box} body{font-family:'Cairo',sans-serif;background:var(--bg);color:#172033}
.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--navy);color:#fff;position:sticky;top:0;height:100vh;overflow:auto}
.brand{padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-title{font-size:20px;font-weight:700}.brand-sub{font-size:12px;opacity:.65;margin-top:4px}
.sidebar .nav-link{color:rgba(255,255,255,.72);padding:11px 18px;border-right:3px solid transparent}
.sidebar .nav-link:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar .nav-link.active{border-right-color:var(--gold);background:rgba(255,255,255,.1)}
.main{min-width:0}.topbar{height:58px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.content{padding:24px}
.card{border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 10px rgba(15,23,42,.03);margin-bottom:16px}.card-header{background:#fff;font-weight:700;border-bottom:1px solid var(--border)}
.kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;position:relative;overflow:hidden}.kpi:before{content:'';position:absolute;right:0;top:0;width:4px;height:100%;background:var(--c,var(--navy))}.kpi .label{font-size:12px;color:#667085}.kpi .value{font-size:24px;font-weight:800;color:var(--c,var(--navy));margin-top:6px}
.table th{background:#F8FAFC;color:#667085;font-size:12px}.form-control,.form-select{border-radius:10px}.btn{border-radius:10px}.print-only{display:none}
@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.topbar{position:relative}.content{padding:14px}.kpi .value{font-size:20px}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.card{box-shadow:none;border:1px solid #ddd}.print-only{display:block}}
