/* OCTA License Portal — RTL، بسيط، بلا خطوط خارجية */
:root { --ink:#1d2433; --muted:#5b6475; --line:#d9dee7; --bg:#f4f6fa; --card:#fff;
        --brand:#0e5e8c; --ok:#1d7a46; --okbg:#e8f6ee; --err:#a3261d; --errbg:#fdecea;
        --warn:#8a5a00; --warnbg:#fff6e0; --info:#0e5e8c; --infobg:#e8f2f9; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Segoe UI", Tahoma, "Noto Sans Arabic", Arial, sans-serif;
       color:var(--ink); background:var(--bg); line-height:1.6; font-size:15px; }
.top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
       background:var(--brand); color:#fff; padding:10px 20px; }
.brand { font-weight:700; font-size:17px; }
.logo { background:#fff; color:var(--brand); border-radius:4px; padding:1px 6px; margin-inline-end:6px; }
nav { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
nav a, nav .link { color:#fff; text-decoration:none; font-size:14px; }
nav a:hover, nav a:focus { text-decoration:underline; }
main { max-width:1100px; margin:24px auto; padding:0 16px; }
footer { text-align:center; color:var(--muted); font-size:12px; padding:20px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:20px 24px;
        max-width:820px; margin:0 auto 20px; }
.card.narrow { max-width:460px; }
.card.wide { max-width:1100px; }
h1 { font-size:21px; margin:0 0 12px; }
h2 { font-size:17px; margin:20px 0 8px; }
h3 { font-size:15px; margin:8px 0 4px; color:var(--brand); }
fieldset { border:1px solid var(--line); border-radius:8px; margin:0 0 16px; padding:12px 16px; }
legend { font-weight:700; padding:0 6px; }
label { display:block; margin:10px 0 4px; font-weight:600; font-size:14px; }
input, select, textarea { width:100%; padding:8px 10px; border:1px solid #b9c1ce; border-radius:6px;
        font:inherit; background:#fff; }
input:focus, select:focus, textarea:focus, button:focus, a:focus { outline:3px solid #8cc4e8; outline-offset:1px; }
input[type=radio], input[type=checkbox] { width:auto; margin:4px 0 0; }
button, .button { display:inline-block; margin-top:14px; padding:9px 18px; border:0; border-radius:6px;
        background:var(--brand); color:#fff; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; }
button.primary { font-size:16px; padding:11px 26px; }
button.link { background:none; padding:0; margin:0; font-weight:400; text-decoration:underline; color:inherit; }
.card button.link { color:var(--brand); }
form.inline { display:inline; }
.row { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px; }
.choice { display:flex; gap:8px; align-items:flex-start; font-weight:400; margin:6px 0; }
.choice.disabled { color:var(--muted); }
.choice.hidden { display:none; }
.edition { border-top:1px dashed var(--line); padding-top:4px; }
.edition:first-of-type { border-top:0; }
.addons { columns:2; column-gap:24px; }
.req { color:var(--err); }
.hint, .muted { color:var(--muted); font-size:13px; }
.warn-text { color:var(--warn); font-size:13px; }
.mono, code, pre { font-family:Consolas, "Courier New", monospace; }
code { background:#eef1f6; border-radius:4px; padding:0 4px; font-size:13px; }
pre { background:#0f1724; color:#e6edf6; padding:12px; border-radius:8px; overflow:auto; font-size:13px;
      white-space:pre-wrap; word-break:break-all; text-align:left; }
pre.cmd { direction:ltr; }
.flash { border-radius:8px; padding:10px 14px; margin:10px 0; border:1px solid transparent; }
.flash.ok { background:var(--okbg); color:var(--ok); border-color:#b7e1c7; }
.flash.error { background:var(--errbg); color:var(--err); border-color:#f3c0bb; }
.flash.warn { background:var(--warnbg); color:var(--warn); border-color:#f0d590; }
.flash.info { background:var(--infobg); color:var(--info); border-color:#bcd9ec; }
.flash ul { margin:4px 0 0; padding-inline-start:20px; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th, td { border-bottom:1px solid var(--line); padding:8px 6px; text-align:start; vertical-align:top; }
th { background:#eef1f6; }
tr.expired td { color:var(--muted); }
.badge { background:var(--warnbg); color:var(--warn); border-radius:10px; padding:0 8px; font-size:12px; }
.small { font-size:12px; }
.search { display:flex; gap:8px; align-items:flex-end; margin-bottom:12px; }
.search input { flex:1; }
.search button { margin-top:0; }
.qr { background:#fff; display:inline-block; padding:8px; border:1px solid var(--line); border-radius:8px; }
.qr svg { width:220px; height:220px; display:block; }
dl.grid { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; }
dl.grid dt { font-weight:600; }
dl.grid dd { margin:0; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
details summary { cursor:pointer; color:var(--brand); }
@media (max-width:640px) { .addons { columns:1; } main { margin:12px auto; } }
