:root{--navy:#14284a;--navy2:#203b68;--gold:#c8a24a;--bg:#f4f7fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--success:#1f8a62;--danger:#c63b3b;--warn:#b7791f;--side:248px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);direction:rtl}button,input,select,textarea{font:inherit}button{cursor:pointer}
#app{min-height:100vh}.shell{min-height:100vh;padding-right:var(--side)}.sidebar{position:fixed;right:0;top:0;bottom:0;width:var(--side);background:linear-gradient(180deg,var(--navy),#0f213d);color:#fff;z-index:50;display:flex;flex-direction:column;box-shadow:-7px 0 24px #14284a20}.brand{padding:20px 18px;border-bottom:1px solid #ffffff20}.brand h1{font-size:16px;margin:0 0 5px}.brand small{color:#dbe7f6}.nav{padding:10px;overflow:auto;flex:1}.nav button{width:100%;border:0;background:transparent;color:#dbe7f6;border-radius:10px;text-align:right;padding:10px 12px;margin:2px 0;display:flex;align-items:center;gap:9px;transition:.15s}.nav button:hover,.nav button.active{background:#ffffff14;color:#fff;box-shadow:inset -3px 0 var(--gold)}.nav button:active,.btn:active{transform:translateY(1px) scale(.985);filter:brightness(.94)}.nav .group{font-size:11px;color:#aabbd1;padding:14px 12px 5px}.sidebar-foot{padding:12px;border-top:1px solid #ffffff20}
.main{min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 18px;position:sticky;top:0;z-index:35}.topbar .spacer{flex:1}.menu-btn{display:none}.content{padding:16px 18px 28px;max-width:none}.page-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.page-head h2{margin:0;color:var(--navy);font-size:22px}.page-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.page-head .actions{margin-right:auto;display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:12px}.kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px #14284a0b;padding:14px;min-width:0}.kpi strong{display:block;font-size:25px;color:var(--navy);margin-top:6px}.kpi span{font-size:12px;color:var(--muted)}.gold-line{border-top:3px solid var(--gold)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:5px;min-width:140px;flex:1}.field label{font-size:12px;font-weight:700;color:#4b5563}.input,.select,.textarea{width:100%;border:1px solid #cfd6e2;background:#fff;border-radius:9px;padding:9px 10px;outline:none;min-height:39px}.input:focus,.select:focus,.textarea:focus{border-color:var(--navy2);box-shadow:0 0 0 3px #203b6814}.textarea{min-height:80px;resize:vertical}.btn{border:1px solid transparent;border-radius:9px;padding:9px 13px;background:var(--navy);color:#fff;font-weight:700;transition:.12s;box-shadow:0 3px 8px #14284a18}.btn.gold{background:var(--gold);color:#1a2433}.btn.light{background:#fff;color:var(--navy);border-color:#cbd5e1}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}.btn.warn{background:var(--warn)}.btn[disabled]{opacity:.5;cursor:not-allowed}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:860px}.table th{position:sticky;top:0;background:#eef3f8;color:var(--navy);font-size:12px;text-align:right;padding:10px;border-bottom:1px solid #d9e1eb;white-space:nowrap}.table td{padding:9px 10px;border-bottom:1px solid #edf0f4;font-size:13px;vertical-align:top}.table tr:hover td{background:#fafcff}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2f7;color:var(--navy)}.badge.ok{background:#e4f5ed;color:#176b4b}.badge.bad{background:#fdeaea;color:#9e2b2b}.badge.warn{background:#fff4d8;color:#8a6119}
.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.section-title{font-size:14px;color:var(--navy);font-weight:800;margin:2px 0 10px}.divider{height:1px;background:var(--line);margin:12px 0}.muted{color:var(--muted)}.small{font-size:12px}
.file-cover{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;min-height:330px;border-radius:16px;padding:24px;box-shadow:0 16px 35px #14284a2a;position:relative;overflow:hidden}.file-cover:before{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:#0a1730aa}.file-cover h3{font-size:25px;margin:30px 0 6px}.file-cover .meta{display:grid;gap:8px;margin-top:20px}.book{background:#dce4ee;border-radius:14px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:2px;min-height:420px}.book-page{background:#fff;padding:18px;min-height:390px;box-shadow:inset 0 0 18px #0000000d}.book-page:first-child{border-radius:12px 3px 3px 12px}.book-page:last-child{border-radius:3px 12px 12px 3px}
.modal-backdrop{position:fixed;inset:0;background:#0a1427a8;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{background:#fff;width:min(920px,100%);max-height:92vh;overflow:auto;border-radius:16px;box-shadow:0 24px 70px #0006}.modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 16px;display:flex;align-items:center;z-index:2}.modal-head h3{margin:0;color:var(--navy)}.modal-body{padding:16px}.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:8px}
.toast-zone{position:fixed;left:16px;bottom:16px;z-index:200;display:grid;gap:8px}.toast{background:#172b4d;color:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 10px 30px #0003;animation:tin .15s}.toast.error{background:#a52c2c}.toast.success{background:#176b4b}@keyframes tin{from{transform:translateY(8px);opacity:0}}
.login{min-height:100vh;display:grid;place-items:center;padding:18px;background:linear-gradient(145deg,#f7f9fc,#e8edf4)}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;border:1px solid #dde3eb;padding:26px;box-shadow:0 22px 60px #14284a18;border-top:5px solid var(--gold)}.login-card h1{color:var(--navy);font-size:22px;margin:0 0 4px}
@media(max-width:1180px){.kpis{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){:root{--side:280px}.shell{padding-right:0}.sidebar{transform:translateX(105%);transition:.2s}.sidebar.open{transform:none}.menu-btn{display:inline-flex}.content{padding:12px}.kpis,.three,.four,.quick-grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.topbar{padding:0 10px}.page-head{flex-wrap:wrap}.page-head .actions{width:100%;margin:0}.book{grid-template-columns:1fr}.book-page:last-child{display:none}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:94vh;border-radius:16px 16px 0 0}}
@media(max-width:520px){.kpis,.three,.four,.quick-grid{grid-template-columns:1fr}.card{padding:12px}.page-head h2{font-size:19px}.toolbar .field{min-width:100%}.btn{min-height:42px}.content{padding:10px}.table{min-width:760px}}

/* V5.0.3 — login redesign */
.login{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);padding:0;background:#f4f7fb;position:relative;overflow:hidden}
.login:before{content:"";grid-column:2;grid-row:1;background:linear-gradient(145deg,#152b4d 0,#1d3a63 70%,#274a7a 100%);position:relative}
.login:after{content:"";position:absolute;left:-120px;bottom:-180px;width:520px;height:520px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05;pointer-events:none}
.login-card{grid-column:1;grid-row:1;align-self:center;justify-self:center;width:min(440px,calc(100% - 48px));background:#fff;border:1px solid #dbe4ee;border-radius:18px;padding:30px;box-shadow:0 18px 48px #152b4d18;border-top:4px solid #cda547;position:relative;z-index:2}
.login-card h1{color:#152b4d;font-size:24px;line-height:1.5;margin:0 0 6px}.login-card .login-sub{color:#748196;font-size:13px;line-height:1.7;margin-bottom:20px}.login-card .back-home{display:inline-flex;margin-bottom:18px;color:#607087;text-decoration:none;font-size:12px}.login-card .db-login-error{display:none;margin:0 0 14px;background:#fff3e8;border:1px solid #efd0ad;color:#7c4c1a;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.6}.login-card .db-login-error.show{display:block}.login-brand-panel{position:absolute;right:0;top:0;bottom:0;width:calc(100% - min(440px,36vw));pointer-events:none;color:#fff;z-index:1;display:flex;align-items:center;justify-content:center;padding:50px}.login-brand-content{width:min(560px,90%);text-align:right}.login-brand-content h2{font-size:34px;margin:0 0 12px;line-height:1.5}.login-brand-content p{color:#dbe6f5;line-height:1.9;font-size:14px}.login-brand-line{width:72px;height:4px;border-radius:99px;background:#cda547;margin-bottom:18px}
@media(max-width:900px){.login{display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(160deg,#eef3f8,#f8fafc)}.login:before,.login:after,.login-brand-panel{display:none}.login-card{width:min(480px,100%);margin:0}.login-card h1{font-size:22px}}
