/* Shared Arabic design language. */
:root { --ink:#21353E; --brand:#165069; --brand-dark:#123F53; --gold:#C5A166; --paper:#F0EBE4; --line:#dce5e4; --primary:#165069; --primary-color:#165069; --accent:#165069; --accent-color:#165069; }
body { background:var(--paper); color:var(--ink); line-height:1.75; }
h1,h2,h3,h4 { line-height:1.5; letter-spacing:-.025em; }
h1 { font-size:clamp(1.65rem,3vw,2.25rem); font-weight:800; }
h2 { font-size:1.25rem; font-weight:750; }
h3 { font-size:1.1rem; }
a { text-underline-offset:4px; }
.topbar,.navbar-custom { border-bottom:1px solid var(--line); box-shadow:0 3px 16px #183a3a06; }
.topbar-brand,.navbar-brand-custom { color:var(--brand) !important; }
.topbar-logo,.brand-logo-box { background:var(--brand) !important; border-radius:12px; }
.sidebar { background:#fff; border-left:1px solid var(--line); box-shadow:none; }
.sidebar .menu-item { border-radius:10px; margin-bottom:5px; min-height:44px; }
.sidebar .menu-item.active { background:#e7f1ef; color:var(--brand); border-inline-start:3px solid var(--brand); }
.sidebar .menu-item:hover { background:#f0f6f4; color:var(--brand); }
.workspace-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:clamp(1.1rem,3vw,2rem); box-shadow:0 6px 28px #19383b05; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin:1rem 0 2rem; }
.page-heading p { color:#60747b; margin-bottom:0; max-width:65ch; }
.eyebrow { color:var(--brand); font-size:.8rem; font-weight:750; display:block; margin-bottom:.5rem; }
.list-entry { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem .5rem; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; overflow-wrap:anywhere; }
.list-entry:last-child { border-bottom:0; }
.conversation-entry { padding:1.25rem; background:#f4f8f7; border-radius:12px; margin-bottom:1rem; border-inline-start:3px solid #c5ded8; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.empty-state { text-align:center; color:#637880; padding:3rem 1rem; background:#f7faf9; border:1px dashed #cbdad5; border-radius:12px; }
.notification-unread { background:#eff7f4; border-inline-start:3px solid var(--brand); padding-inline:1rem; }
.btn { min-height:40px; border-radius:9px; font-weight:650; }
.btn-primary { background:var(--brand); border-color:var(--brand); }
.btn-primary:hover,.btn-primary:focus-visible { background:var(--brand-dark); border-color:var(--brand-dark); }
.btn-outline-primary { color:var(--brand); border-color:var(--brand); }
.btn-outline-primary:hover { background:var(--brand); border-color:var(--brand); }
.form-control,.form-select { min-height:44px; border-color:#cddbd9; border-radius:9px; }
.form-control:focus,.form-select:focus { border-color:var(--brand); box-shadow:0 0 0 3px #175c621c; }
.form-label { font-weight:650; }
.table { --bs-table-bg:transparent; }
.table th { font-size:.83rem; color:#556d76; background:#f2f6f5; padding:1rem; white-space:nowrap; }
.table td { padding:1rem; border-color:#e6ecea; }
.card { border-radius:16px; }
.platform-tools { display:none !important; }
.topbar-icon-btn { width:40px; height:40px; border-radius:50%; background:#f8fafc; border:1.5px solid #e2e8f0; color:#475569; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; transition:all .2s cubic-bezier(.4,0,.2,1); box-shadow:0 1px 3px rgba(0,0,0,.05); }
.topbar-icon-btn:hover { background:#ffffff; color:var(--brand, #165069); border-color:var(--brand, #165069); transform:translateY(-1px); box-shadow:0 4px 12px rgba(22,80,105,.15); }
.user-avatar-btn { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#f8fafc 0%,#edf2f7 100%); border:2px solid #e2e8f0; color:var(--brand, #165069); display:inline-flex; align-items:center; justify-content:center; padding:0; cursor:pointer; font-size:1.1rem; position:relative; transition:all .2s cubic-bezier(.4,0,.2,1); box-shadow:0 1px 3px rgba(0,0,0,.05); }
.user-avatar-btn:hover, .user-avatar-btn[aria-expanded="true"] { background:#ffffff; border-color:var(--brand, #165069); color:var(--brand, #165069); box-shadow:0 4px 14px rgba(22,80,105,.18); transform:translateY(-1px); }
.user-avatar-btn:focus { outline:none; box-shadow:0 0 0 3px rgba(22,80,105,.2); }
.user-status-dot { position:absolute; bottom:2px; left:2px; width:9px; height:9px; background-color:#10b981; border:2px solid #ffffff; border-radius:50%; }
.platform-tools a,.platform-tools button { font-size:.84rem; }
.platform-status { font-size:.8rem; color:#536b73; }
.skip-link { position:fixed; inset-inline-start:1rem; top:-70px; background:#fff; color:var(--ink); padding:.7rem 1rem; z-index:99999; border:2px solid var(--brand); }
.skip-link:focus { top:8px; }
:focus-visible { outline:3px solid #C5A166; outline-offset:3px; }
.hero-section { background:linear-gradient(125deg,#165069,#165069) !important; }
.hero-section .badge { background:#ffffff17 !important; border:1px solid #ffffff35; }
.section-title { color:var(--ink); }
.law-hero { background:#165069; color:#fff; padding:5rem 0 4.5rem; position:relative; overflow:hidden; }
.law-hero::before { content:""; position:absolute; width:700px; height:700px; border:1px solid #ffffff0e; border-radius:50%; inset-inline-end:-280px; top:-300px; pointer-events:none; }
.law-kicker { font-size:.8rem; color:#adccc6; font-weight:600; display:block; margin-bottom:1rem; }
.law-hero h1 { font-size:clamp(2.3rem,4.3vw,4rem); line-height:1.55; margin-bottom:1.3rem; }
.law-hero h1 em { color:#C5A166; font-style:normal; }
.law-hero p { color:#c5d7d8; max-width:54ch; font-size:1.02rem; line-height:2; }
.law-primary { background:#C5A166; color:#21353E; padding:.85rem 1.6rem; }
.law-primary:hover { background:#D5B989; color:#21353E; }
.law-secondary { border:1px solid #91b4b5; color:#fff; padding:.85rem 1.6rem; }
.law-secondary:hover { background:#ffffff10; color:#fff; }
.law-hero-features { display:flex; gap:1rem; flex-wrap:wrap; font-size:.75rem; color:#afc5c7; margin-top:2rem; }
.law-hero-features span::before { content:"✓"; margin-inline-end:.45rem; color:#C5A166; }
.law-study-card { background:#21353E; border:1px solid #3a5d64; border-radius:22px; padding:2rem; transform:rotate(-1deg); box-shadow:0 25px 70px #0002; }
.law-study-card h2 { color:#fff; font-size:1.35rem; }
.law-emblem { width:65px; height:65px; border-radius:16px; background:#C5A166; color:#21353E; display:grid; place-items:center; font-size:2rem; }
.law-study-step { display:flex; gap:1rem; padding:1.1rem 0; border-top:1px solid #43616a; }
.law-study-step>span { color:#C5A166; font-family:Georgia,serif; font-size:1.5rem; }
.law-study-step h3 { color:#f7fafa; font-size:1rem; margin-bottom:.25rem; }
.law-study-step p { font-size:.8rem; margin:0; }
.law-study-link { display:flex; justify-content:space-between; color:#C5A166; border-top:1px solid #43616a; padding-top:1rem; font-size:.8rem; text-decoration:none; }
.law-discovery { padding-top:2rem; }
.law-search { background:#fff; border:1px solid var(--line); padding:1.4rem; border-radius:14px; display:grid; grid-template-columns:220px 1fr; align-items:center; gap:1rem; box-shadow:0 5px 25px #12333c06; }
.law-search label { font-weight:750; font-size:1.1rem; }
.law-categories { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }
.law-categories a { display:flex; gap:1.5rem; background:#e8efec; border-radius:30px; color:#275a5d; padding:.5rem 1.15rem; text-decoration:none; font-size:.85rem; }
.law-course-card { height:100%; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:transform .15s ease,box-shadow .15s ease; }
.law-course-card:hover { transform:translateY(-4px); box-shadow:0 12px 25px #15313a0b; }
.law-course-card img { width:100%; height:180px; object-fit:cover; background:#e0e9e5; }
.law-course-card h3 { min-height:3.5rem; }
.law-course-card h3 a { color:var(--ink); text-decoration:none; }
.law-course-description { color:#6a7d84; font-size:.8rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:4rem; }
.law-how { background:#eaf0ed; border-block:1px solid var(--line); }
.law-number { display:block; color:#9a7a44; font-family:Georgia,serif; font-size:2rem; margin-bottom:1rem; }
.law-how p { color:#5f737b; font-size:.9rem; max-width:36ch; }
.law-help { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:#fff; padding:2rem; border:1px solid var(--line); border-radius:18px; }
@media(max-width:767px) { .law-hero { padding:2.5rem 0; } .law-study-card { transform:none; padding:1.4rem; } .law-search { grid-template-columns:1fr; } .law-help { flex-direction:column; align-items:flex-start; } }
@media(max-width:767px) { .page-heading { align-items:flex-start; flex-direction:column; } .content-body { padding:1rem !important; } .topbar { padding-inline:1rem; } .topbar-brand { font-size:1rem; } .list-entry { align-items:flex-start; flex-wrap:wrap; } .workspace-card { border-radius:12px; } .platform-tools { gap:.4rem; } .platform-tools .btn { flex:1 1 auto; } .card-body.p-5 { padding:1.25rem !important; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
@media print { .sidebar,.topbar,.platform-tools,button,.navbar-custom { display:none !important; } .main-wrapper { margin:0 !important; width:100% !important; } .workspace-card { box-shadow:none; break-inside:avoid; } }
