:root{--paper:#f5f2e9;--surface:#fffdf8;--surface-2:#efeadd;--surface-3:#e7e1d1;--ink:#1a1d19;--ink-2:#3a403a;--muted:#6f7669;--line:#e2dccd;--line-strong:#c9c2af;--accent:#12564a;--accent-ink:#ffffff;--accent-wash:#e7efec;--danger:#8f2b20;--danger-wash:#f8eae7;--ok:#1f5c3a;--ok-wash:#e9f1ea;--radius:8px;--radius-sm:6px;--shadow:0 1px 1px rgba(38,32,18,0.05),0 8px 20px -12px rgba(38,32,18,0.28);--ease:cubic-bezier(0.2,0.6,0.2,1);--font-ui:"IBM Plex Sans Arabic","Segoe UI",system-ui,-apple-system,sans-serif;--font-doc:"Amiri","Times New Roman",serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box}body,html{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:where(h1,h2,h3,p,li,td,th,a,button,input,select,textarea,label,span){letter-spacing:normal}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3{margin:0;font-weight:600;line-height:1.35}h1{font-size:1.3rem}h2{font-size:1rem}p{margin:0}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.flip{display:inline-block}[dir=ltr] .flip{transform:scaleX(-1)}.empty{color:var(--muted);font-size:.85rem;padding:18px 2px}.shell{display:flex;min-height:100vh;align-items:stretch}.sidebar{width:248px;flex:0 0 248px;padding:18px 14px 14px;background:var(--surface-2);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);gap:22px}.brand,.sidebar{display:flex;flex-direction:column}.brand{gap:1px;padding-inline:6px}.brand-name{font-size:1.05rem;font-weight:600;color:var(--ink)}html[lang=ar] .brand-name{font-family:var(--font-doc);font-size:1.55rem;font-weight:700;line-height:1.15}.brand-sub,.nav-group-title{font-size:.72rem;color:var(--muted)}.nav-group-title{padding-inline:6px;margin-bottom:6px}.nav{display:flex;flex-direction:column;gap:2px}.nav-link{position:relative;display:flex;align-items:center;gap:9px;min-height:34px;padding:0 8px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:.875rem;font-weight:500;transition:background-color .12s var(--ease),color .12s var(--ease)}.nav-link:hover{background:var(--surface-3);color:var(--ink);text-decoration:none}.nav-link[aria-current=page]{background:var(--surface);color:var(--accent);box-shadow:0 0 0 1px var(--line)}.nav-link[aria-current=page]:before{content:"";position:absolute;inset-inline-start:0;inset-block:7px;width:2px;border-radius:2px;background:var(--accent)}.nav-icon{display:inline-flex;color:var(--muted)}.nav-link[aria-current=page] .nav-icon{color:var(--accent)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;font-size:.78rem;color:var(--muted)}.sidebar-foot .account{color:var(--ink-2);font-weight:500}.main{flex:1 1;min-width:0;padding:28px 32px 72px}.page{max-width:1180px;margin-inline:auto;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:1.3rem}.page-sub{color:var(--muted);font-size:.82rem;margin-top:3px}.page-actions{display:flex;align-items:center;gap:8px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line)}.panel-title{font-size:.88rem;font-weight:600}.panel-body{padding:16px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat{padding:13px 16px 15px}.stat+.stat{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line)}.stat-n{font-size:1.55rem;font-weight:600;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-k{font-size:.76rem;color:var(--muted);margin-top:1px}.table-wrap{overflow-x:auto}.register{width:100%;border-collapse:collapse}.register th{text-align:start;font-size:.72rem;font-weight:500;color:var(--muted);padding:8px 14px;border-bottom:1px solid var(--line-strong);white-space:nowrap}.register td{padding:9px 14px;border-bottom:1px solid var(--line);font-size:.85rem;vertical-align:middle}.register tbody tr:last-child td{border-bottom:0}.register tbody tr:hover{background:#faf7ee}.register .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:.78rem;white-space:nowrap}.register .col-actions{text-align:end;white-space:nowrap}.row-actions{display:inline-flex;align-items:center;gap:12px}.link-btn{background:none;border:0;padding:0;font:inherit;font-size:.78rem;color:var(--muted);cursor:pointer;transition:color .12s var(--ease)}.link-btn:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.link-btn.danger:hover{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.btn:hover{background:var(--surface-3);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[disabled]{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#0e453b;border-color:#0e453b}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--surface-3);color:var(--ink)}.btn-danger{border-color:#d9bcb6;color:var(--danger)}.btn-danger:hover{background:var(--danger-wash)}.btn-sm{min-height:30px;padding:0 10px;font-size:.78rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:13px 16px;gap:13px 16px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.label{font-size:.78rem;color:var(--ink-2);font-weight:500}.hint{font-size:.72rem;color:var(--muted)}input,select,textarea{width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;font-size:.88rem;transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}textarea{min-height:84px;line-height:1.55;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}input[type=file]{padding:6px;font-size:.8rem}input[type=checkbox]{width:auto;min-height:auto;accent-color:var(--accent)}.alert{border:1px solid;border-radius:var(--radius-sm);padding:9px 12px;font-size:.82rem}.alert-error{background:var(--danger-wash);border-color:#e2c2bb;color:var(--danger)}.alert-ok{background:var(--ok-wash);border-color:#c2d8c7;color:var(--ok)}.alert-note{background:var(--surface-3);border-color:var(--line-strong);color:var(--ink-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font-size:.72rem;color:var(--muted)}.badge-dev{border-color:#c9b487;background:#f6efdc;color:#6b5620;border-radius:4px;padding:2px 8px;font-size:.72rem;line-height:1.5}.tpl-group+.tpl-group{margin-top:20px}.tpl-group-title{font-size:.78rem;color:var(--muted);padding-inline:2px;margin-bottom:6px}.tpl-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.tpl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:background-color .12s var(--ease)}.tpl-row:last-child{border-bottom:0}.tpl-row:hover{background:#faf7ee}.tpl-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tpl-name{font-size:.875rem;font-weight:500}.tpl-meta{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted)}.editor{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.editor-form{position:-webkit-sticky;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-preview{padding:16px;min-height:480px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius)}.editor-preview iframe{display:block;width:100%;height:720px;border:0;border-radius:4px;background:#fff}.print-bar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 20px;background:#22251f;color:#efeadd;font-size:.8rem}.print-bar .btn{background:transparent;border-color:#4a4f45;color:#efeadd}.print-bar .btn:hover{background:#33372f}.print-bar .serial{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#b9b2a0}.print-stage{min-height:100vh;padding:24px 16px 64px;display:flex;justify-content:center;background:var(--surface-3)}.sheet{width:210mm;min-height:297mm;padding:18mm 16mm;background-color:#fff;background-repeat:no-repeat;background-size:100% 100%;box-shadow:0 2px 10px rgba(38,32,18,.18)}.auth{min-height:100vh;padding:32px 16px;display:grid;place-items:center;background:var(--paper)}.auth-card{width:100%;max-width:372px;padding:26px 24px;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.auth-brand,.auth-card{display:flex;flex-direction:column}.auth-brand{gap:2px;text-align:center}.auth-brand .brand-name{font-size:1.35rem}html[lang=ar] .auth-brand .brand-name{font-family:var(--font-doc);font-size:1.9rem}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--muted)}.locale-switch{margin:0}.locale-switch button{background:none;border:0;padding:0;font:inherit;font-size:.75rem;color:var(--muted);cursor:pointer;transition:color .12s var(--ease)}.locale-switch button:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:980px){.editor{grid-template-columns:minmax(0,1fr)}.editor-form{position:static;max-height:none}.stats{grid-template-columns:minmax(0,1fr)}.stat+.stat{-webkit-border-start:0;border-inline-start:0;border-top:1px solid var(--line)}}@media (max-width:760px){.shell{flex-direction:column}.sidebar{width:auto;flex:none;-webkit-border-end:0;border-inline-end:0;border-bottom:1px solid var(--line)}.main{padding:20px 16px 56px}.form-grid{grid-template-columns:minmax(0,1fr)}.sheet{width:100%;min-height:0;padding:12mm 10mm}}@media print{body{background:#fff}.no-print,.print-bar{display:none!important}.print-stage{display:block;background:#fff}.print-stage,.sheet{min-height:0;padding:0}.sheet{width:auto;box-shadow:none}.sheet table{break-inside:avoid;page-break-inside:avoid}@page{size:A4;margin:0}}.card{padding:16px;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card,.card-title{display:flex;gap:12px}.card-title{align-items:flex-start;justify-content:space-between}.card-title h2{font-size:.95rem}.card-title .hint{display:block;margin-top:2px}.badge-muted{color:var(--muted)}.alert-info,.badge-muted{background:var(--surface-3)}.alert-info{border-color:var(--line-strong);color:var(--ink-2)}.sub{color:var(--muted);font-size:.82rem;margin-top:3px}.slot-inputs{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:11px;gap:11px}.save-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.tpl-list form{margin:0}.tpl-list form:last-child .tpl-row{border-bottom:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:13px 16px;gap:13px 16px}.log{list-style:none;margin:0;padding:0}.log li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.82rem}.log li:last-child{border-bottom:0}.log-action{color:var(--ink-2)}.log-when{color:var(--muted);font-size:.74rem;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.preview-note{border:1px solid #d8c9a3;background:#f6efdc;color:#6b5620;border-radius:var(--radius-sm);padding:7px 9px;font-size:.72rem;line-height:1.5}