:root{--bg: #f3f0ea;--bg-accent: #e7efe8;--surface: #fffdf8;--ink: #1c2a22;--muted: #5d6b63;--line: #d5ddd6;--brand: #0f6b4c;--brand-ink: #073b2a;--warn: #9a6b12;--bad: #8f2d2d;--ok: #1f6b3a;--info: #1d4f78;--shadow: 0 10px 30px rgba(28, 42, 34, .08);--radius: 14px;--font: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top left,rgba(15,107,76,.12),transparent 36%),linear-gradient(160deg,var(--bg),var(--bg-accent))}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f6b4c,#0a4a35);color:#f4fff8;padding:1.25rem 1rem;position:sticky;top:0;height:100vh;z-index:20}.brand{display:grid;gap:.15rem;margin-bottom:1.5rem}.brand-mark{font-size:1.6rem;font-weight:700;letter-spacing:.02em}.brand-sub{opacity:.8;font-size:.9rem}.nav{display:grid;gap:.35rem}.nav-link{padding:.7rem .85rem;border-radius:10px;color:#ffffffdb}.nav-link:hover,.nav-link.active{background:#ffffff24;color:#fff}.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:#fffdf8d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.topbar-user{display:flex;align-items:center;gap:.85rem}.content{padding:1.25rem}.page-header{margin-bottom:1.25rem}.page-header.row,.row{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap}.page-header h1{margin:0 0 .35rem;font-size:1.55rem}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,Consolas,monospace}.center{text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.stat-card,.cardish,.auth-card,.table-wrap,.empty-state,.loading-block,.error-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:1.1rem;display:grid;gap:.55rem;transition:transform .15s ease}.stat-card:hover{transform:translateY(-2px)}.stat-label{color:var(--muted);font-size:.92rem}.stat-value{font-size:1.8rem}.btn{border:1px solid transparent;border-radius:10px;padding:.55rem .9rem;cursor:pointer;background:#e8eee9;color:var(--ink)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-danger{background:var(--bad);color:#fff}.btn-ghost{background:transparent;border-color:var(--line)}.btn-sm{padding:.35rem .6rem;font-size:.85rem}.btn-block{width:100%}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem .85rem;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.data-table th{background:#f7faf7;font-weight:600;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:.35rem}.badge{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;background:#e8eee9}.badge-ok{background:#d9f0e1;color:var(--ok)}.badge-warn{background:#f7ebcf;color:var(--warn)}.badge-bad{background:#f6dede;color:var(--bad)}.badge-info{background:#dcecf7;color:var(--info)}.badge-muted{background:#ececec;color:var(--muted)}.filter,label{display:grid;gap:.35rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:#fff}.filters-row,.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;align-items:end}.cardish{padding:1rem}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.detail-list{display:grid;gap:.75rem;margin:0}.detail-list>div{display:grid;gap:.2rem}.detail-list dt{color:var(--muted);font-size:.85rem}.detail-list dd{margin:0}.pagination{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(420px,100%);padding:1.5rem;display:grid;gap:.9rem}.auth-brand{margin-bottom:.25rem}.form-error{color:var(--bad);margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#101c1673;display:grid;place-items:center;padding:1rem;z-index:50}.modal{width:min(520px,100%);background:var(--surface);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}.modal h2{margin-top:0}.modal-body{display:grid;gap:.75rem;margin:.75rem 0 1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.toast-stack{position:fixed;inset-inline-start:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:60;width:min(360px,calc(100vw - 2rem))}.toast{display:flex;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;border-radius:12px;background:#173528;color:#fff;box-shadow:var(--shadow)}.toast-success{background:#1f6b3a}.toast-error{background:#8f2d2d}.toast-info{background:#1d4f78}.toast-close{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.2rem}.loading-block,.empty-state,.error-block{padding:2rem 1.25rem;text-align:center;display:grid;gap:.75rem;justify-items:center}.spinner{width:28px;height:28px;border:3px solid #cfe0d6;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.menu-btn,.sidebar-backdrop{display:none}.mt{margin-top:1rem}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(280px,86vw);transform:translate(110%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.menu-btn{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:15}.detail-grid{grid-template-columns:1fr}}
