@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--asas-navy:#071C38;--asas-blue:#2563EB;--asas-sky:#38BDF8;--asas-bg:#F4F7FB;--asas-surface:#FFFFFF;--asas-text:#15243B;--asas-muted:#718096;--asas-border:#E5EAF2;--asas-sidebar:264px;--asas-shadow:0 8px 28px rgba(7,28,56,.055);--asas-radius:16px}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body.asas-app{background:var(--asas-bg);color:var(--asas-text);font-family:Inter,'Cairo',Tahoma,sans-serif;font-size:14px;line-height:1.55}html[dir=rtl] body{font-family:'Cairo',Tahoma,sans-serif}a{color:var(--asas-blue);text-decoration:none}button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--asas-sidebar);background:var(--asas-navy);color:#fff;display:flex;flex-direction:column;z-index:1040;padding:22px 15px 16px;transition:width .22s ease,transform .22s ease;overflow-y:auto;overflow-x:hidden}.sidebar-brand{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 17px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand>a{display:flex;align-items:center;min-width:0}.brand-logo-header{display:block;max-height:39px;max-width:178px;width:auto;height:auto;object-fit:contain}.sidebar-collapse{width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font-size:23px;line-height:20px}.workspace-label{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#8295B2;padding:22px 12px 8px;text-transform:uppercase}.nav-section{padding:17px 12px 7px;color:#7F91AD;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.nav-link-item{display:flex;align-items:center;gap:13px;padding:10px 12px;margin:2px 0;border-radius:10px;color:#C4D0E0;font-size:13px;font-weight:600;white-space:nowrap;transition:all .18s ease}.nav-link-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-link-item.active{background:linear-gradient(100deg,rgba(37,99,235,.34),rgba(56,189,248,.13));color:#fff;box-shadow:inset 3px 0 0 var(--asas-sky)}.nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}.nav-icon svg,.topbar-icon svg,.quick-search svg,.user-trigger svg,.app-alert svg{width:18px;height:18px;stroke-width:1.8}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--asas-sky);margin-inline-start:auto}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-version{font-size:11px;font-weight:800;color:#D8E4F4}.sidebar-version span{color:#8295B2;font-weight:500;margin-inline-start:5px}.sidebar-company{font-size:10px;color:#8295B2;line-height:1.7;margin-top:7px}
.app-main{min-height:100vh;margin-inline-start:var(--asas-sidebar);display:flex;flex-direction:column;transition:margin .22s ease}.topbar{height:76px;position:sticky;top:0;z-index:1020;background:rgba(255,255,255,.91);backdrop-filter:blur(14px);border-bottom:1px solid var(--asas-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:18px}.topbar-start,.topbar-actions{display:flex;align-items:center;gap:15px;min-width:0}.breadcrumb-wrap{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--asas-muted);white-space:nowrap}.breadcrumb-wrap a{color:var(--asas-muted)}.breadcrumb-wrap strong{color:var(--asas-navy);font-weight:700}.quick-search{height:38px;width:min(250px,24vw);display:flex;align-items:center;gap:9px;background:#F5F7FA;border:1px solid transparent;border-radius:10px;padding:0 11px;color:#8491A4}.quick-search:focus-within{border-color:#B9D4FF;background:#fff}.quick-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--asas-text);font-size:12px}.quick-search svg{width:16px;height:16px}.topbar-divider{height:26px;width:1px;background:var(--asas-border)}.topbar-icon{width:37px;height:37px;border:1px solid var(--asas-border);border-radius:10px;background:#fff;color:#52647D;display:inline-flex;align-items:center;justify-content:center;position:relative}.topbar-icon:hover{color:var(--asas-blue);border-color:#BFD4FF;background:#F7FAFF}.notification-trigger i{position:absolute;inset-block-start:7px;inset-inline-end:7px;width:6px;height:6px;border-radius:50%;background:#EF4444;border:1px solid #fff}.user-trigger{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--asas-text);padding:0}.avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--asas-blue),var(--asas-sky));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800}.user-meta{display:flex;flex-direction:column;text-align:start;line-height:1.3}.user-meta b{font-size:12px}.user-meta small{font-size:10px;color:var(--asas-muted);margin-top:3px}.mobile-menu{display:none;border:0;background:transparent;color:var(--asas-navy);font-size:22px}
.page-content{width:100%;max-width:1800px;margin:0 auto;padding:28px 32px;flex:1}.app-footer{padding:16px 32px;border-top:1px solid var(--asas-border);display:flex;justify-content:space-between;gap:14px;color:var(--asas-muted);font-size:10px;background:var(--asas-surface)}
/* Premium shared components */
.card,.modal-content,.dropdown-menu{border:1px solid var(--asas-border);border-radius:var(--asas-radius);box-shadow:var(--asas-shadow)}.card{background:var(--asas-surface)}.card-header{background:transparent;border-bottom:1px solid var(--asas-border);font-weight:700;padding:16px 19px}.card-body{padding:20px}.metric-card{border:1px solid var(--asas-border);border-radius:var(--asas-radius);padding:20px;background:var(--asas-surface);min-height:138px;box-shadow:var(--asas-shadow);position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:3px;background:var(--asas-blue);opacity:.75}.btn{border-radius:9px;font-weight:600}.btn-primary{background:var(--asas-blue);border-color:var(--asas-blue)}.btn-primary:hover{background:#1D4ED8;border-color:#1D4ED8}.btn-warning,.text-accent{background:var(--asas-sky);border-color:var(--asas-sky);color:var(--asas-navy)}.form-control,.form-select{border-color:var(--asas-border);border-radius:9px;min-height:39px;background-color:var(--asas-surface);color:var(--asas-text)}.form-control:focus,.form-select:focus{border-color:#8BB8FF;box-shadow:0 0 0 .2rem rgba(37,99,235,.11)}.table{--bs-table-bg:transparent;color:var(--asas-text);vertical-align:middle}.table thead th{background:#F7F9FC;color:#65758B;font-size:11px;font-weight:800;border-bottom:1px solid var(--asas-border);white-space:nowrap}.table td{border-color:var(--asas-border);font-size:12px}.badge{font-weight:700}.alert{border:0;border-radius:12px}.app-alert{display:flex;align-items:center;gap:10px;padding:13px 16px}.dropdown-menu{padding:7px;min-width:180px}.dropdown-item{border-radius:7px;font-size:12px;padding:9px 11px}.modal-content{overflow:hidden}.modal-header,.modal-footer{border-color:var(--asas-border)}.min-vh-75{min-height:75vh}.brand-logo-login{display:block;max-width:min(360px,100%);max-height:120px;object-fit:contain;margin:auto}.brand-logo-dashboard{display:block;max-width:240px;max-height:80px;object-fit:contain}
.sidebar-backdrop{display:none}
html.sidebar-collapsed .app-sidebar{width:82px}html.sidebar-collapsed .app-main{margin-inline-start:82px}html.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}html.sidebar-collapsed .sidebar-brand>a{display:none}html.sidebar-collapsed .sidebar-collapse{transform:rotate(180deg)}html.sidebar-collapsed .workspace-label,html.sidebar-collapsed .nav-section,html.sidebar-collapsed .nav-text,html.sidebar-collapsed .sidebar-version span,html.sidebar-collapsed .sidebar-company{display:none}html.sidebar-collapsed .nav-link-item{justify-content:center;padding:12px 8px}html.sidebar-collapsed .nav-dot{display:none}html.sidebar-collapsed .sidebar-bottom{text-align:center}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,rgba(56,189,248,.13),transparent 28%),var(--asas-bg)}
/* RTL and POS/tablet adjustments */
[dir=rtl] .nav-link-item.active{box-shadow:inset -3px 0 0 var(--asas-sky)}[dir=rtl] .breadcrumb-wrap{direction:rtl}
@media(max-width:1100px){.topbar{padding:0 22px}.page-content{padding:23px 22px}.quick-search{width:170px}}
@media(max-width:800px){.app-sidebar{transform:translateX(-105%);width:min(290px,82vw);box-shadow:0 0 45px rgba(0,0,0,.18)}[dir=rtl] .app-sidebar{transform:translateX(105%)}.app-sidebar.mobile-open{transform:translateX(0)}.app-main,html.sidebar-collapsed .app-main{margin-inline-start:0}.mobile-menu{display:inline-flex}.sidebar-collapse{display:none}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(4,15,32,.42);z-index:1030}.topbar{height:65px;padding:0 14px}.topbar-actions{gap:8px}.quick-search{width:38px;padding:0 10px}.quick-search input{display:none}.quick-search:focus-within{position:absolute;inset-inline:60px;top:13px;width:auto;z-index:3;background:#fff}.quick-search:focus-within input{display:block}.user-meta,.user-trigger>svg{display:none}.page-content{padding:18px 14px}.app-footer{padding:13px 15px;flex-wrap:wrap}.breadcrumb-wrap{font-size:11px}.topbar-divider{display:none}}
@media(max-width:480px){.topbar-actions{gap:6px}.topbar-icon{width:34px;height:34px}.user-trigger .avatar{width:33px;height:33px}.breadcrumb-wrap{max-width:48vw;overflow:hidden}.breadcrumb-wrap strong{overflow:hidden;text-overflow:ellipsis}.page-content{padding:14px 10px}.app-footer{font-size:9px}}
/* Dark theme */
html[data-theme=dark]{--asas-bg:#0B1423;--asas-surface:#111E30;--asas-text:#E7EDF7;--asas-muted:#9AAAC0;--asas-border:#26364B;--asas-shadow:0 8px 28px rgba(0,0,0,.18);--asas-navy:#071C38;color-scheme:dark}html[data-theme=dark] body{background:var(--asas-bg);color:var(--asas-text)}html[data-theme=dark] .topbar{background:rgba(17,30,48,.92);border-color:var(--asas-border)}html[data-theme=dark] .breadcrumb-wrap strong,html[data-theme=dark] .user-trigger{color:var(--asas-text)}html[data-theme=dark] .quick-search,html[data-theme=dark] .topbar-icon,html[data-theme=dark] .form-control,html[data-theme=dark] .form-select{background:#17263A;color:var(--asas-text);border-color:var(--asas-border)}html[data-theme=dark] .table thead th{background:#17263A;color:#A9B9CE}html[data-theme=dark] .table,html[data-theme=dark] .table td{color:var(--asas-text)}html[data-theme=dark] .app-footer{background:var(--asas-surface);border-color:var(--asas-border)}html[data-theme=dark] .dropdown-menu{background:#17263A;border-color:var(--asas-border)}html[data-theme=dark] .dropdown-item{color:var(--asas-text)}html[data-theme=dark] .dropdown-item:hover{background:#223650}html[data-theme=dark] .card-header{border-color:var(--asas-border)}html[data-theme=dark] .modal-content{background:var(--asas-surface);color:var(--asas-text)}html[data-theme=dark] .btn-outline-secondary{color:#CFD9E8;border-color:#52647D}

/* Typography, empty-state and touch-friendly polish */
.page-content h1,.page-content h2,.page-content h3{color:var(--asas-navy);font-weight:800;letter-spacing:-.02em}
html[data-theme=dark] .page-content h1,html[data-theme=dark] .page-content h2,html[data-theme=dark] .page-content h3{color:#E7EDF7}
.page-content h1{font-size:clamp(1.35rem,2vw,1.8rem)}.page-content h2{font-size:1.25rem}.page-content h3{font-size:1.05rem}
.page-content .text-muted,.page-content .text-secondary{color:var(--asas-muted)!important}
.table-responsive{border-radius:12px}.table>:not(caption)>*>*{padding:12px 13px}
.btn,.form-control,.form-select{min-height:38px}
@media(pointer:coarse){.nav-link-item{min-height:45px}.topbar-icon{min-width:42px;min-height:42px}.btn{min-height:42px}.form-control,.form-select{min-height:44px}}
.auth-language{position:fixed;top:20px;inset-inline-end:24px;display:flex;gap:9px;font-size:12px;color:var(--asas-muted)}.auth-language a{color:var(--asas-blue)}
@media print{.app-sidebar,.topbar,.app-footer,.sidebar-backdrop,.btn,.no-print{display:none!important}.app-main{margin:0!important}.page-content{padding:0!important;max-width:none!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}
