/* Shared Moroccan identity: zellige geometry, warm paper and deep green. */
:root { --morocco-ink:#163d32; --morocco-gold:#b68c48; --morocco-paper:#fbf8f1; }
.sidebar { background:#fffdf8; border-color:#e9e1d3; }
.sidebar::after { content:''; position:absolute; right:0; top:0; bottom:0; width:3px; background:linear-gradient(#12624b 0 40%,#b68c48 40% 60%,#a84432 60%); opacity:.65; pointer-events:none; }
.sidebar .brand { padding-bottom:26px; }
.sidebar .logo { background:transparent; width:42px; height:42px; border-radius:0; }
.sidebar .brand b { font-size:20px; letter-spacing:-.7px; color:#163d32; }
.sidebar .brand small { font-family:Arial,sans-serif; color:#977b4b; font-size:11px; text-align:left; }
.sidebar nav>a,.sidebar details summary { border-radius:10px; }
.sidebar nav>a.active { box-shadow:inset 3px 0 var(--theme-primary); }
.profile { border-color:#e9e1d3; }
main::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#12624b 0 48%,#c7a15b 48% 52%,#a84432 52%); pointer-events:none; }
main { position:relative; }
body:not(.dark) .stats article,body:not(.dark) .card,body:not(.dark) .extractor-card,body:not(.dark) .client-form-card,body:not(.dark) .clients-card,body:not(.dark) .notebook-card { border-color:#e9e3d8; background:#fffdf9; }
body:not(.dark) .users-page { --users-surface:#fffdf9; --users-border:#e9e3d8; --users-subtle:#f8f5ee; --users-text:#243a32; --users-muted:#8b8e80; }
body:not(.dark) .chat-page,body:not(.dark) .chat-dialog { --chat-surface:#fffdf9; --chat-border:#e9e3d8; --chat-subtle:#f7f5ee; --chat-received:#f1efe6; --chat-text:#243a32; --chat-muted:#8b8e80; }
.morocco-welcome { position:relative; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:25px 28px; margin-bottom:24px; border:1px solid #e6ddca; border-radius:14px; background:#fffdf8; overflow:hidden; }
.morocco-welcome::after { content:''; position:absolute; right:0; top:0; bottom:0; width:240px; background:url('../images/zellige.svg') center; opacity:.16; pointer-events:none; }
.morocco-eyebrow { font-size:9px; letter-spacing:1.4px; color:#9c865f; font-weight:600; }
.morocco-welcome h1 { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font-size:25px; letter-spacing:-.4px; margin:12px 0 8px; color:#163d32; }
.morocco-welcome h1 span { font-family:Arial,sans-serif; }
.morocco-welcome p { font-size:12px; color:#868b7f; margin:0; line-height:1.7; }
.morocco-welcome-note { position:relative; z-index:1; font:25px Arial,sans-serif; color:#947547; white-space:nowrap; }
body.dark .sidebar { background:#101b18; border-color:#29372e; }
body.dark .sidebar .brand b { color:#e9e6d8; }
body.dark .sidebar .brand small { color:#c5aa73; }
body.dark .profile { border-color:#29372e; }
body.dark .morocco-welcome { background:#14231d; border-color:#354334; }
body.dark .morocco-welcome h1 { color:#eee9da; }
body.dark .morocco-welcome p { color:#a3ac9f; }
body.dark .morocco-welcome-note { color:#d7b779; }
body.dark .users-page { --users-surface:#121e19; --users-border:#2a3930; --users-subtle:#19271f; }
body.dark :is(.chat-page,.chat-dialog) { --chat-surface:#121e19; --chat-border:#2a3930; --chat-subtle:#19271f; --chat-received:#223229; }
body.dark :is(.users-avatar,.users-role-admin,.users-summary-icon,.chat-avatar) { color:#dec595; background:#24362b; }
body.dark .sidebar nav>a.active,body.dark .tool-submenu a.active { color:#e0c99e; background:#22352a; }
@media(max-width:760px) { .mobile-navigation { background:#fffdf8; border-color:#e9e1d3; } .mobile-navigation-brand small { color:#977b4b; font-family:Arial,sans-serif; } .morocco-welcome { padding:22px; } .morocco-welcome-note { display:none; } .morocco-welcome h1 { font-size:22px; overflow-wrap:anywhere; } body.dark .mobile-navigation { background:#101b18; } }

/* Login: a riad-inspired arch and a quiet, legible sign-in area. */
.moroccan-login { --primary:#12624b; --primary-dark:#0b4938; --background:#f8f4e9; --border:#e3ddce; --text:#203c30; --muted:#8a8d7d; background:#f8f4e9; }
.moroccan-login .page { grid-template-columns:1.08fr 1fr; }
.moroccan-login .visual { background:#123e30; padding:64px 72px; align-items:center; }
.moroccan-login .visual::before { inset:0; width:auto; height:auto; border:0; border-radius:0; background:url('../images/zellige.svg') center; opacity:.13; }
.moroccan-login .visual::after { width:calc(100% - 68px); height:calc(100% - 68px); left:34px; top:34px; bottom:auto; right:auto; border:1px solid #d6b36a66; border-radius:220px 220px 18px 18px; pointer-events:none; }
.moroccan-login .visual-content { max-width:490px; }
.moroccan-login .brand { margin-bottom:70px; }
.moroccan-login .brand-logo { width:48px; height:48px; background:#f3e9d1; border-radius:12px; box-shadow:none; }
.moroccan-login .brand-logo img { display:block; }
.moroccan-login .brand-name { color:#f3ead5; font-size:27px; letter-spacing:-1px; }
.moroccan-login .brand-subtitle { color:#cbbb93; font-size:11px; margin-top:5px; font-family:Arial,sans-serif; }
.moroccan-login .visual h2 { font:700 clamp(38px,4.5vw,64px)/1.35 Arial,sans-serif; letter-spacing:-1.3px; margin-bottom:22px; color:#faf4e7; text-align:right; }
.morocco-hero-accent { color:#e0bd78; }
.moroccan-login .visual-text { color:#d1d5bf; font-size:13px; line-height:1.9; max-width:380px; margin-left:auto; }
.moroccan-login .features { margin-top:28px; gap:15px; }
.moroccan-login .feature { color:#dddcc8; font-size:11px; }
.moroccan-login .feature-icon { color:#e1bd78; background:#d7b7790d; border-color:#d7b77945; border-radius:8px; }
.morocco-signature { display:flex; justify-content:space-between; gap:15px; align-items:center; border-top:1px solid #d7b77940; padding-top:21px; margin-top:44px; color:#ceb37c; font-size:9px; letter-spacing:1.7px; }
.morocco-signature [lang=ar] { font:15px Arial,sans-serif; letter-spacing:0; }
.moroccan-login .auth-side { position:relative; background:#fbf8f1; padding:60px 45px; }
.moroccan-login .auth-side::before { content:''; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg,#12624b 0 48%,#d7b779 48% 52%,#a84432 52%); }
.moroccan-login .auth-container { max-width:360px; }
.morocco-login-kicker { color:#a3895c; font-size:9px; font-weight:600; letter-spacing:1.6px; }
.moroccan-login .auth-heading { margin-bottom:34px; }
.moroccan-login .auth-heading h1 { font:700 42px/1.5 Arial,sans-serif; text-align:left; margin:10px 0 6px; color:#163d32; }
.moroccan-login .auth-heading p { font-size:12px; color:#868b7b; }
.moroccan-login .input-wrap { border-radius:10px; background:#fffdf8; border-color:#e3ddce; }
.moroccan-login .input-wrap input { background:transparent; }
.moroccan-login .input-wrap:focus-within { border-color:#12624b; box-shadow:0 0 0 3px #12624b0c; }
.moroccan-login .field label { color:#42594b; font-size:11px; }
.moroccan-login .password-toggle { color:#7f8d77; }
.moroccan-login .submit { border-radius:10px; min-height:48px; letter-spacing:.1px; background:#12624b; box-shadow:0 5px 12px #12624b14; }
.moroccan-login .submit:hover { background:#0b4938; }
.moroccan-login .terms { color:#919180; line-height:1.9; font-size:10px; margin-top:27px; }
.moroccan-login .terms [lang=ar] { font:14px/2 Arial,sans-serif; color:#a18754; }
.moroccan-login .copyright { color:#a89b80; margin-top:40px; font-size:10px; font-family:Arial,sans-serif; }
@media(max-width:1000px) { .moroccan-login .visual { padding:50px 45px; } .moroccan-login .visual::after { left:20px; top:20px; width:calc(100% - 40px); height:calc(100% - 40px); } }
@media(max-width:900px) { .moroccan-login .page { grid-template-columns:1fr; } .moroccan-login .visual { display:none; } .moroccan-login .auth-side { min-height:100dvh; padding:38px 25px; background:linear-gradient(#fbf8f1ee,#fbf8f1ee),url('../images/zellige.svg'); } .moroccan-login .mobile-brand { display:flex; align-items:center; gap:11px; margin-bottom:45px; } .moroccan-login .mobile-brand strong { font-size:24px; letter-spacing:-.7px; color:#163d32; } .moroccan-login .auth-heading h1 { font-size:37px; } }
@media(prefers-reduced-motion:reduce) { .moroccan-login * { transition:none; } }
