@oktis-works/admin 0.19.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/client/_astro/{ActivityWidget.9T9D1Dwq.js → ActivityWidget.DtG_8-bC.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.uZX_VBFr.js → AdminBar.DWgISuE1.js} +1 -1
  3. package/dist/client/_astro/{ApiKeysManager.BeZosAcl.js → ApiKeysManager.9WL8yofB.js} +1 -1
  4. package/dist/client/_astro/{AtGlanceWidget.B6FKmL7A.js → AtGlanceWidget.B5byv-Z6.js} +1 -1
  5. package/dist/client/_astro/{BaseLayout.Cp-O10m_.css → BaseLayout.Dw2OoSEv.css} +1 -1
  6. package/dist/client/_astro/{CommentsManager.9iktJziN.js → CommentsManager.C5gleTZN.js} +1 -1
  7. package/dist/client/_astro/ContentEditor.C0RpyhzW.js +1 -0
  8. package/dist/client/_astro/ContentTypeWorkspace.wFn1FHsk.js +1 -0
  9. package/dist/client/_astro/{DashboardHome.CBTZuAbN.js → DashboardHome.CoVmaWtV.js} +1 -1
  10. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.ohczxyNy.js → DashboardLayout.astro_astro_type_script_index_0_lang.BEDbOjeH.js} +1 -1
  11. package/dist/client/_astro/FieldGroupEditor.DixyIeAD.js +69 -0
  12. package/dist/client/_astro/{FieldGroupList.DwHwSB-m.js → FieldGroupList.KCRsCtjN.js} +1 -1
  13. package/dist/client/_astro/FieldRenderer.BjnbGFPe.js +3 -0
  14. package/dist/client/_astro/{Footer.ZmhGZsX_.js → Footer.Bis7kk52.js} +1 -1
  15. package/dist/client/_astro/GeneralSettings.DWUL4EPc.js +1 -0
  16. package/dist/client/_astro/{LogsManager.VmsL1Y_c.js → LogsManager.wobqWCrD.js} +1 -1
  17. package/dist/client/_astro/{MediaLibrary.BPA5KcoT.js → MediaLibrary.B_DxFMQi.js} +1 -1
  18. package/dist/client/_astro/{MenuManager.-kATOHiC.js → MenuManager.CB6j6yQw.js} +1 -1
  19. package/dist/client/_astro/{Modal.6YIPt-vQ.js → Modal.eJIvbMT2.js} +1 -1
  20. package/dist/client/_astro/{PluginManager.ezr27PG_.js → PluginManager.CT-7t4Wz.js} +1 -1
  21. package/dist/client/_astro/{PostTypesManager.D4rhu5qf.js → PostTypesManager.LW5RMORG.js} +1 -1
  22. package/dist/client/_astro/{QuickDraftWidget.tEoK6vHH.js → QuickDraftWidget.zabr8JfM.js} +1 -1
  23. package/dist/client/_astro/{ReadingSettings.BhxqtNjo.js → ReadingSettings.BiSPyKOf.js} +1 -1
  24. package/dist/client/_astro/{ResourceHubs.Bjng1UYH.js → ResourceHubs.CmV4Mz6z.js} +1 -1
  25. package/dist/client/_astro/{TaxonomiesManager.C12F1EN1.js → TaxonomiesManager.BzFfeZEj.js} +1 -1
  26. package/dist/client/_astro/{TaxonomyTermsManager.2V-JSC-7.js → TaxonomyTermsManager.CvCxMf0u.js} +1 -1
  27. package/dist/client/_astro/{ThemeCustomizer.CGY-3Jl4.js → ThemeCustomizer.BIct4Scf.js} +1 -1
  28. package/dist/client/_astro/{ThemeManager.D28v1eyx.js → ThemeManager.BVqp2Bk3.js} +1 -1
  29. package/dist/client/_astro/{UserCreateForm.Bh_H8pJN.js → UserCreateForm.D2dkK0S5.js} +1 -1
  30. package/dist/client/_astro/{UsersManager.Ds7__cY5.js → UsersManager.CUU4ncDR.js} +1 -1
  31. package/dist/client/_astro/{WebhooksManager.2IVxZFIV.js → WebhooksManager.DV2TWIOt.js} +1 -1
  32. package/dist/client/_astro/i18n.BFBHzd3w.js +1 -0
  33. package/dist/client/_astro/pt-BR.DB_qjzov.js +1 -0
  34. package/dist/server/chunks/{404_CtVqPqLh.mjs → 404_BMps-rRP.mjs} +1 -1
  35. package/dist/server/chunks/{BaseLayout_CH8MQ3No.mjs → BaseLayout_eq-iwg5V.mjs} +1 -1
  36. package/dist/server/chunks/{ContentEditor_6J53ebJ2.mjs → ContentEditor_CD80dY0I.mjs} +41 -7
  37. package/dist/server/chunks/{DashboardLayout_DGbCn1gh.mjs → DashboardLayout_CrO_yWkB.mjs} +12 -12
  38. package/dist/server/chunks/{FbIcon_7YixzwO3.mjs → FbIcon_D0f6QiFJ.mjs} +1 -1
  39. package/dist/server/chunks/{FieldRenderer_DowQgtDc.mjs → FieldRenderer_BSvrsqN8.mjs} +172 -72
  40. package/dist/server/chunks/{FloatingPanel_BtB-nNBT.mjs → FloatingPanel_DI2CdUZK.mjs} +1 -1
  41. package/dist/server/chunks/{MediaLibrary_DuxnoiMa.mjs → MediaLibrary_BGZEgsua.mjs} +3 -3
  42. package/dist/server/chunks/{Modal_CkrRnNzN.mjs → Modal_QxIjzTdp.mjs} +2 -2
  43. package/dist/server/chunks/{PageHeader_CRpzf5xU.mjs → PageHeader_CBOioOjo.mjs} +1 -1
  44. package/dist/server/chunks/{TimezoneSelect_Cj-oxeeA.mjs → TimezoneSelect_D6o-2_7b.mjs} +2 -2
  45. package/dist/server/chunks/{_id__DfQqu18v.mjs → _id__BIPcYNtN.mjs} +79 -67
  46. package/dist/server/chunks/{_slug__CPv34VnT.mjs → _slug__XNFTP0Q1.mjs} +2 -2
  47. package/dist/server/chunks/{access_B-f0fZwc.mjs → access_D-_mBK3K.mjs} +8 -8
  48. package/dist/server/chunks/{api-keys_BSvI1g4B.mjs → api-keys_z4-GVRaL.mjs} +6 -6
  49. package/dist/server/chunks/{comments_D3X5nFKK.mjs → comments_qCxr0Y8w.mjs} +3 -3
  50. package/dist/server/chunks/{custom-fields_Cue8nhbd.mjs → custom-fields_Dp3OiD0S.mjs} +5 -5
  51. package/dist/server/chunks/{customize_CSP8B-As.mjs → customize_zTqT6Yj2.mjs} +3 -3
  52. package/dist/server/chunks/{edit_5CwEtymP.mjs → edit_BxXS3NT6.mjs} +3 -3
  53. package/dist/server/chunks/{i18n_RELfVLel.mjs → i18n_jhv_lr6z.mjs} +21 -7
  54. package/dist/server/chunks/{index_DW0-epn4.mjs → index_BuUzsa32.mjs} +4 -4
  55. package/dist/server/chunks/{index_CvbZ6goO.mjs → index_CaR204jg.mjs} +5 -5
  56. package/dist/server/chunks/{index_C594fLur.mjs → index_DVQd057F.mjs} +6 -17
  57. package/dist/server/chunks/{index_CJVbaexl.mjs → index_aa5_ET2K.mjs} +6 -6
  58. package/dist/server/chunks/{index_BzgdFBMP.mjs → index_tQk65WtE.mjs} +4 -4
  59. package/dist/server/chunks/{login_BAhzxnXF.mjs → login_JwlFuBYd.mjs} +1 -1
  60. package/dist/server/chunks/{logs_iVt0OMQv.mjs → logs_td2w_HCW.mjs} +5 -5
  61. package/dist/server/chunks/{menus_zRwS15d7.mjs → menus_Brbqh27T.mjs} +4 -4
  62. package/dist/server/chunks/{new_DKOOAiqy.mjs → new_M5jNG81S.mjs} +3 -3
  63. package/dist/server/chunks/{new_CWejzb4K.mjs → new_aklFjYkE.mjs} +5 -5
  64. package/dist/server/chunks/{plugins_BpPZxAK2.mjs → plugins_KhcXhLHj.mjs} +3 -3
  65. package/dist/server/chunks/{post-types_C_JULYq5.mjs → post-types_DD3nerIE.mjs} +7 -7
  66. package/dist/server/chunks/{pt-BR_B2PJHiOg.mjs → pt-BR_Barbcx-V.mjs} +15 -1
  67. package/dist/server/chunks/{reading_fhgI8X3-.mjs → reading_ghF5feXj.mjs} +4 -4
  68. package/dist/server/chunks/{taxonomies_Bb8DwbNZ.mjs → taxonomies_CsUEhmvC.mjs} +5 -5
  69. package/dist/server/chunks/{taxonomy_BXM2ubYg.mjs → taxonomy_BfNm0HUh.mjs} +4 -4
  70. package/dist/server/chunks/{themes_BPlBocEN.mjs → themes_DnFB-Bio.mjs} +3 -3
  71. package/dist/server/chunks/{upload_BWA1htvi.mjs → upload_D5xS-Nri.mjs} +4 -4
  72. package/dist/server/chunks/{webhooks_CzjbYgHf.mjs → webhooks_B_6eHrir.mjs} +5 -5
  73. package/dist/server/entry.mjs +28 -28
  74. package/dist/server/virtual_astro_middleware.mjs +3 -3
  75. package/package.json +1 -1
  76. package/dist/client/_astro/ContentEditor.BqDPU74P.js +0 -1
  77. package/dist/client/_astro/ContentEditor.DVKohXM-.js +0 -3
  78. package/dist/client/_astro/ContentTypeWorkspace.DqoBUPpT.js +0 -1
  79. package/dist/client/_astro/FieldGroupEditor.DBT985JP.js +0 -69
  80. package/dist/client/_astro/FieldRenderer.BxkMD5Kl.js +0 -1
  81. package/dist/client/_astro/GeneralSettings.B1f0Zpzs.js +0 -1
  82. package/dist/client/_astro/i18n.DnYRsWBJ.js +0 -1
  83. package/dist/client/_astro/pt-BR.CeCNYyhv.js +0 -1
@@ -1,4 +1,4 @@
1
- import{S as e,h as t,l as n,p as r,r as i}from"./solid.Ck4Vtfe4.js";import{_ as a,l as o,o as s,p as c,u as l}from"./web.DD6VKaIp.js";import{n as u}from"./i18n.DnYRsWBJ.js";import{n as d}from"./api.53l1ob4Z.js";var f=a(`<div class=activity-widget data-widget-panel=activity style="grid-column:span 2"><div class=dashboard-widget-header><h3 class=dashboard-widget-title></h3></div><div class=dashboard-widget-content></div><div class=styles-container><style>
1
+ import{S as e,h as t,l as n,p as r,r as i}from"./solid.Ck4Vtfe4.js";import{_ as a,l as o,o as s,p as c,u as l}from"./web.DD6VKaIp.js";import{n as u}from"./i18n.BFBHzd3w.js";import{n as d}from"./api.53l1ob4Z.js";var f=a(`<div class=activity-widget data-widget-panel=activity style="grid-column:span 2"><div class=dashboard-widget-header><h3 class=dashboard-widget-title></h3></div><div class=dashboard-widget-content></div><div class=styles-container><style>
2
2
  .activity-list { display: flex; flex-direction: column; gap: 0.5rem; }
3
3
  .activity-item {
4
4
  display: flex; gap: 0.75rem; padding: 0.75rem;
@@ -1,4 +1,4 @@
1
- import{S as e,a as t,h as n,l as r,p as i}from"./solid.Ck4Vtfe4.js";import{_ as a,a as o,f as s,i as c,l,o as u,p as d,s as f}from"./web.DD6VKaIp.js";import{a as p,i as m,n as h,o as g}from"./i18n.DnYRsWBJ.js";import{n as _}from"./api.53l1ob4Z.js";var v=a(`<style>
1
+ import{S as e,a as t,h as n,l as r,p as i}from"./solid.Ck4Vtfe4.js";import{_ as a,a as o,f as s,i as c,l,o as u,p as d,s as f}from"./web.DD6VKaIp.js";import{a as p,i as m,n as h,o as g}from"./i18n.BFBHzd3w.js";import{n as _}from"./api.53l1ob4Z.js";var v=a(`<style>
2
2
  #admin-bar {
3
3
  position: fixed;
4
4
  top: 0;
@@ -1 +1 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,p as f,s as p,u as m}from"./web.DD6VKaIp.js";import{n as h}from"./i18n.DnYRsWBJ.js";import{n as g}from"./api.53l1ob4Z.js";import{t as _}from"./Modal.6YIPt-vQ.js";var v=o(`<div class="notice notice--error">`),y=o(`<div class="notice notice--success">`),b=o(`<section class=card><h3></h3><form class=resource-form><label><!$><!/><input class=input required type=text></label><label><!$><!/><select class=input></select></label><label><!$><!/><input class=input type=datetime-local></label><label class=checkbox-label><input type=checkbox> <!$><!/></label><p class=muted></p><div><button class="btn btn-primary"type=submit></button> <button class=btn type=button>`),x=o(`<div class=table-scroll><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),S=o(`<div class=modal-body><div class="notice notice--error"></div><label><!$><!/><input class=input readonly type=text data-testid=api-key-plaintext></label><p class=muted></p><pre class=api-key-sample><code></code></pre><div><button class="btn btn-primary"type=button></button> <button class=btn type=button>`),C=o(`<div class="resource-hub api-keys-manager"><!$><!/><!$><!/><div class=card-header-row><div><h3></h3><p class=muted></p></div><button class="btn btn-primary"type=button></button></div><!$><!/><section class=card></section><!$><!/><style>.api-key-sample{background:var(--color-surface-muted,#f5f5f5);border:1px solid var(--color-border,#dcdcde);border-radius:4px;padding:.6rem;overflow:auto;font-size:.8rem;white-space:pre-wrap;word-break:break-all}.api-keys-manager .modal-body{display:grid;gap:.75rem;padding:1rem}`),w=o(`<option value>`),T=o(`<option><!$><!/> (<!$><!/>)`),E=o(`<p>`),D=o(`<span>`),O=o(`<button class="btn btn-danger"type=button>`),k=o(`<tr><td></td><td></td><td><code>okcms_<!$><!/>_…</code></td><td></td><td></td><td>`),A=o(`<span class="notice notice--error">`),j=e=>({name:``,userId:e,oneTime:!1,expiresAt:``});function M(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString()}function N(){let{t:o}=h(),[s,N]=n([]),[P,F]=n([]),[I,L]=n(null),[R,z]=n(null),[B,V]=n(``),[H,U]=n(``),[W,G]=n(!0),[K,q]=n(!1),J=async()=>{G(!0);try{let e=await g.getApiKeys();N(e)}catch(e){V(e instanceof Error?e.message:String(e))}finally{G(!1)}};e(()=>{J(),g.listUsers({limit:100,status:`ACTIVE`}).then(e=>F(e.data??[])).catch(()=>F([]))});let Y=()=>{V(``),U(``),L(j(P()[0]?.id??``))},ee=async e=>{e.preventDefault();let t=I();if(t){if(!t.name.trim()){V(o(`apiKeys.errors.nameRequired`));return}try{let e={name:t.name.trim(),oneTime:t.oneTime};t.userId&&(e.userId=t.userId),t.expiresAt&&(e.expiresAt=new Date(t.expiresAt).toISOString());let n=await g.createApiKey(e);L(null),z(n),q(!1),await J()}catch(e){V(e instanceof Error?e.message:String(e))}}},te=async e=>{if(e.id){V(``);try{await g.deleteApiKey(e.id),U(o(`apiKeys.revoked`)),await J()}catch(e){V(e instanceof Error?e.message:String(e))}}},ne=async()=>{let e=R()?.plaintext;if(e)try{await navigator.clipboard.writeText(e),q(!0)}catch{q(!1)}},X=()=>{z(null),q(!1)},re=e=>{let t=P().find(t=>t.id===e.user_id);return t?t.name:e.user_id??`—`};return(()=>{var e=d(C),n=e.firstChild,[h,g]=p(n.nextSibling),j=h.nextSibling,[N,F]=p(j.nextSibling),z=N.nextSibling,V=z.firstChild,U=V.firstChild,G=U.nextSibling,q=V.nextSibling,J=z.nextSibling,[Z,ie]=p(J.nextSibling),Q=Z.nextSibling,ae=Q.nextSibling,[$,oe]=p(ae.nextSibling);return $.nextSibling,l(e,r(t,{get when(){return B()},get children(){var e=d(v);return l(e,B),e}}),h,g),l(e,r(t,{get when(){return H()},get children(){var e=d(y);return l(e,H),e}}),N,F),l(U,()=>o(`apiKeys.listTitle`)),l(G,()=>o(`apiKeys.howItWorks`)),q.$$click=Y,l(q,()=>o(`apiKeys.new`)),l(e,r(t,{get when(){return I()},get children(){var e=d(b),n=e.firstChild,s=n.nextSibling,m=s.firstChild,h=m.firstChild,[g,_]=p(h.nextSibling),v=g.nextSibling,y=m.nextSibling,x=y.firstChild,[S,C]=p(x.nextSibling),E=S.nextSibling,D=y.nextSibling,O=D.firstChild,[k,A]=p(O.nextSibling),j=k.nextSibling,M=D.nextSibling,N=M.firstChild,F=N.nextSibling.nextSibling,[R,z]=p(F.nextSibling),B=M.nextSibling,V=B.nextSibling.firstChild,H=V.nextSibling.nextSibling;return l(n,()=>o(`apiKeys.create`)),s.addEventListener(`submit`,ee),l(m,()=>o(`apiKeys.form.name`),g,_),v.$$input=e=>I()&&L({...I(),name:e.currentTarget.value}),l(y,()=>o(`apiKeys.form.user`),S,C),E.addEventListener(`change`,e=>I()&&L({...I(),userId:e.currentTarget.value})),l(E,r(t,{get when(){return P().length>0},get fallback(){return(()=>{var e=d(w);return l(e,()=>o(`apiKeys.form.currentUser`)),e})()},get children(){return r(a,{get each(){return P()},children:e=>(()=>{var t=d(T),n=t.firstChild,[r,a]=p(n.nextSibling),o=r.nextSibling.nextSibling,[s,c]=p(o.nextSibling);return s.nextSibling,l(t,()=>e.name,r,a),l(t,()=>e.email,s,c),i(()=>u(t,`value`,e.id)),t})()})}})),l(D,()=>o(`apiKeys.form.expiresAt`),k,A),j.$$input=e=>I()&&L({...I(),expiresAt:e.currentTarget.value}),N.addEventListener(`change`,e=>I()&&L({...I(),oneTime:e.currentTarget.checked})),l(M,()=>o(`apiKeys.form.oneTime`),R,z),l(B,()=>o(`apiKeys.form.oneTimeHint`)),l(V,()=>o(`apiKeys.createSubmit`)),H.$$click=()=>L(null),l(H,()=>o(`common.cancel`)),i(()=>f(v,`placeholder`,o(`apiKeys.form.namePlaceholder`))),i(()=>u(v,`value`,I()?.name??``)),i(()=>u(E,`value`,I()?.userId??``)),i(()=>u(j,`value`,I()?.expiresAt??``)),i(()=>u(N,`checked`,I()?.oneTime??!1)),c(),e}}),Z,ie),l(Q,r(t,{get when(){return!W()},get fallback(){return(()=>{var e=d(E);return l(e,()=>o(`apiKeys.loading`)),e})()},get children(){return r(t,{get when(){return s().length>0},get fallback(){return(()=>{var e=d(E);return l(e,()=>o(`apiKeys.empty`)),e})()},get children(){var e=d(x),n=e.firstChild.firstChild,i=n.firstChild.firstChild,u=i.nextSibling,f=u.nextSibling,h=f.nextSibling,g=h.nextSibling,_=g.nextSibling,v=n.nextSibling;return l(i,()=>o(`apiKeys.form.name`)),l(u,()=>o(`apiKeys.form.user`)),l(f,()=>o(`apiKeys.prefix`)),l(h,()=>o(`apiKeys.lastUsed`)),l(g,()=>o(`apiKeys.status`)),l(_,()=>o(`common.actions`)),l(v,r(a,{get each(){return s()},children:e=>(()=>{var n=d(k),i=n.firstChild,a=i.nextSibling,s=a.nextSibling,u=s.firstChild,f=u.firstChild.nextSibling,[h,g]=p(f.nextSibling);h.nextSibling;var _=s.nextSibling,v=_.nextSibling,y=v.nextSibling;return l(i,()=>e.name),l(a,()=>re(e)),l(u,()=>e.key_prefix,h,g),l(_,(()=>{var t=m(()=>!!e.last_used_at);return()=>t()?M(e.last_used_at):o(`apiKeys.neverUsed`)})()),l(v,r(t,{get when(){return!e.revoked_at},get fallback(){return(()=>{var e=d(A);return l(e,()=>o(`apiKeys.status.revoked`)),e})()},get children(){return r(t,{get when(){return m(()=>!!e.expires_at)()&&new Date(e.expires_at).getTime()<=Date.now()},get fallback(){return(()=>{var t=d(D);return l(t,(()=>{var t=m(()=>!!e.one_time);return()=>t()?o(`apiKeys.status.oneTime`):o(`apiKeys.status.active`)})()),t})()},get children(){var e=d(D);return l(e,()=>o(`apiKeys.status.expired`)),e}})}})),l(y,r(t,{get when(){return!e.revoked_at},get children(){var t=d(O);return t.$$click=()=>void te(e),l(t,()=>o(`apiKeys.revoke`)),c(),t}})),n})()})),e}})}})),l(e,r(_,{get open(){return!!R()},onClose:X,get title(){return o(`apiKeys.created.title`)},get children(){var e=d(S),t=e.firstChild,n=t.nextSibling,r=n.firstChild,[a,s]=p(r.nextSibling),f=a.nextSibling,h=n.nextSibling,g=h.nextSibling,_=g.firstChild,v=g.nextSibling.firstChild,y=v.nextSibling.nextSibling;return l(t,()=>o(`apiKeys.created.warning`)),l(n,()=>o(`apiKeys.created.value`),a,s),f.addEventListener(`focus`,e=>e.currentTarget.select()),l(h,()=>o(`apiKeys.created.howToUse`)),l(_,()=>`POST /api/v1/auth/api-key-login\n{ "apiKey": "${R()?.plaintext??``}" }`),v.$$click=()=>void ne(),l(v,(()=>{var e=m(()=>!!K());return()=>e()?o(`apiKeys.created.copied`):o(`apiKeys.created.copy`)})()),y.$$click=X,l(y,()=>o(`common.close`)),i(()=>u(f,`value`,R()?.plaintext??``)),c(),e}}),$,oe),c(),e})()}s([`click`,`input`]);export{N as ApiKeysManager};
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,p as f,s as p,u as m}from"./web.DD6VKaIp.js";import{n as h}from"./i18n.BFBHzd3w.js";import{n as g}from"./api.53l1ob4Z.js";import{t as _}from"./Modal.eJIvbMT2.js";var v=o(`<div class="notice notice--error">`),y=o(`<div class="notice notice--success">`),b=o(`<section class=card><h3></h3><form class=resource-form><label><!$><!/><input class=input required type=text></label><label><!$><!/><select class=input></select></label><label><!$><!/><input class=input type=datetime-local></label><label class=checkbox-label><input type=checkbox> <!$><!/></label><p class=muted></p><div><button class="btn btn-primary"type=submit></button> <button class=btn type=button>`),x=o(`<div class=table-scroll><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),S=o(`<div class=modal-body><div class="notice notice--error"></div><label><!$><!/><input class=input readonly type=text data-testid=api-key-plaintext></label><p class=muted></p><pre class=api-key-sample><code></code></pre><div><button class="btn btn-primary"type=button></button> <button class=btn type=button>`),C=o(`<div class="resource-hub api-keys-manager"><!$><!/><!$><!/><div class=card-header-row><div><h3></h3><p class=muted></p></div><button class="btn btn-primary"type=button></button></div><!$><!/><section class=card></section><!$><!/><style>.api-key-sample{background:var(--color-surface-muted,#f5f5f5);border:1px solid var(--color-border,#dcdcde);border-radius:4px;padding:.6rem;overflow:auto;font-size:.8rem;white-space:pre-wrap;word-break:break-all}.api-keys-manager .modal-body{display:grid;gap:.75rem;padding:1rem}`),w=o(`<option value>`),T=o(`<option><!$><!/> (<!$><!/>)`),E=o(`<p>`),D=o(`<span>`),O=o(`<button class="btn btn-danger"type=button>`),k=o(`<tr><td></td><td></td><td><code>okcms_<!$><!/>_…</code></td><td></td><td></td><td>`),A=o(`<span class="notice notice--error">`),j=e=>({name:``,userId:e,oneTime:!1,expiresAt:``});function M(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString()}function N(){let{t:o}=h(),[s,N]=n([]),[P,F]=n([]),[I,L]=n(null),[R,z]=n(null),[B,V]=n(``),[H,U]=n(``),[W,G]=n(!0),[K,q]=n(!1),J=async()=>{G(!0);try{let e=await g.getApiKeys();N(e)}catch(e){V(e instanceof Error?e.message:String(e))}finally{G(!1)}};e(()=>{J(),g.listUsers({limit:100,status:`ACTIVE`}).then(e=>F(e.data??[])).catch(()=>F([]))});let Y=()=>{V(``),U(``),L(j(P()[0]?.id??``))},ee=async e=>{e.preventDefault();let t=I();if(t){if(!t.name.trim()){V(o(`apiKeys.errors.nameRequired`));return}try{let e={name:t.name.trim(),oneTime:t.oneTime};t.userId&&(e.userId=t.userId),t.expiresAt&&(e.expiresAt=new Date(t.expiresAt).toISOString());let n=await g.createApiKey(e);L(null),z(n),q(!1),await J()}catch(e){V(e instanceof Error?e.message:String(e))}}},te=async e=>{if(e.id){V(``);try{await g.deleteApiKey(e.id),U(o(`apiKeys.revoked`)),await J()}catch(e){V(e instanceof Error?e.message:String(e))}}},ne=async()=>{let e=R()?.plaintext;if(e)try{await navigator.clipboard.writeText(e),q(!0)}catch{q(!1)}},X=()=>{z(null),q(!1)},re=e=>{let t=P().find(t=>t.id===e.user_id);return t?t.name:e.user_id??`—`};return(()=>{var e=d(C),n=e.firstChild,[h,g]=p(n.nextSibling),j=h.nextSibling,[N,F]=p(j.nextSibling),z=N.nextSibling,V=z.firstChild,U=V.firstChild,G=U.nextSibling,q=V.nextSibling,J=z.nextSibling,[Z,ie]=p(J.nextSibling),Q=Z.nextSibling,ae=Q.nextSibling,[$,oe]=p(ae.nextSibling);return $.nextSibling,l(e,r(t,{get when(){return B()},get children(){var e=d(v);return l(e,B),e}}),h,g),l(e,r(t,{get when(){return H()},get children(){var e=d(y);return l(e,H),e}}),N,F),l(U,()=>o(`apiKeys.listTitle`)),l(G,()=>o(`apiKeys.howItWorks`)),q.$$click=Y,l(q,()=>o(`apiKeys.new`)),l(e,r(t,{get when(){return I()},get children(){var e=d(b),n=e.firstChild,s=n.nextSibling,m=s.firstChild,h=m.firstChild,[g,_]=p(h.nextSibling),v=g.nextSibling,y=m.nextSibling,x=y.firstChild,[S,C]=p(x.nextSibling),E=S.nextSibling,D=y.nextSibling,O=D.firstChild,[k,A]=p(O.nextSibling),j=k.nextSibling,M=D.nextSibling,N=M.firstChild,F=N.nextSibling.nextSibling,[R,z]=p(F.nextSibling),B=M.nextSibling,V=B.nextSibling.firstChild,H=V.nextSibling.nextSibling;return l(n,()=>o(`apiKeys.create`)),s.addEventListener(`submit`,ee),l(m,()=>o(`apiKeys.form.name`),g,_),v.$$input=e=>I()&&L({...I(),name:e.currentTarget.value}),l(y,()=>o(`apiKeys.form.user`),S,C),E.addEventListener(`change`,e=>I()&&L({...I(),userId:e.currentTarget.value})),l(E,r(t,{get when(){return P().length>0},get fallback(){return(()=>{var e=d(w);return l(e,()=>o(`apiKeys.form.currentUser`)),e})()},get children(){return r(a,{get each(){return P()},children:e=>(()=>{var t=d(T),n=t.firstChild,[r,a]=p(n.nextSibling),o=r.nextSibling.nextSibling,[s,c]=p(o.nextSibling);return s.nextSibling,l(t,()=>e.name,r,a),l(t,()=>e.email,s,c),i(()=>u(t,`value`,e.id)),t})()})}})),l(D,()=>o(`apiKeys.form.expiresAt`),k,A),j.$$input=e=>I()&&L({...I(),expiresAt:e.currentTarget.value}),N.addEventListener(`change`,e=>I()&&L({...I(),oneTime:e.currentTarget.checked})),l(M,()=>o(`apiKeys.form.oneTime`),R,z),l(B,()=>o(`apiKeys.form.oneTimeHint`)),l(V,()=>o(`apiKeys.createSubmit`)),H.$$click=()=>L(null),l(H,()=>o(`common.cancel`)),i(()=>f(v,`placeholder`,o(`apiKeys.form.namePlaceholder`))),i(()=>u(v,`value`,I()?.name??``)),i(()=>u(E,`value`,I()?.userId??``)),i(()=>u(j,`value`,I()?.expiresAt??``)),i(()=>u(N,`checked`,I()?.oneTime??!1)),c(),e}}),Z,ie),l(Q,r(t,{get when(){return!W()},get fallback(){return(()=>{var e=d(E);return l(e,()=>o(`apiKeys.loading`)),e})()},get children(){return r(t,{get when(){return s().length>0},get fallback(){return(()=>{var e=d(E);return l(e,()=>o(`apiKeys.empty`)),e})()},get children(){var e=d(x),n=e.firstChild.firstChild,i=n.firstChild.firstChild,u=i.nextSibling,f=u.nextSibling,h=f.nextSibling,g=h.nextSibling,_=g.nextSibling,v=n.nextSibling;return l(i,()=>o(`apiKeys.form.name`)),l(u,()=>o(`apiKeys.form.user`)),l(f,()=>o(`apiKeys.prefix`)),l(h,()=>o(`apiKeys.lastUsed`)),l(g,()=>o(`apiKeys.status`)),l(_,()=>o(`common.actions`)),l(v,r(a,{get each(){return s()},children:e=>(()=>{var n=d(k),i=n.firstChild,a=i.nextSibling,s=a.nextSibling,u=s.firstChild,f=u.firstChild.nextSibling,[h,g]=p(f.nextSibling);h.nextSibling;var _=s.nextSibling,v=_.nextSibling,y=v.nextSibling;return l(i,()=>e.name),l(a,()=>re(e)),l(u,()=>e.key_prefix,h,g),l(_,(()=>{var t=m(()=>!!e.last_used_at);return()=>t()?M(e.last_used_at):o(`apiKeys.neverUsed`)})()),l(v,r(t,{get when(){return!e.revoked_at},get fallback(){return(()=>{var e=d(A);return l(e,()=>o(`apiKeys.status.revoked`)),e})()},get children(){return r(t,{get when(){return m(()=>!!e.expires_at)()&&new Date(e.expires_at).getTime()<=Date.now()},get fallback(){return(()=>{var t=d(D);return l(t,(()=>{var t=m(()=>!!e.one_time);return()=>t()?o(`apiKeys.status.oneTime`):o(`apiKeys.status.active`)})()),t})()},get children(){var e=d(D);return l(e,()=>o(`apiKeys.status.expired`)),e}})}})),l(y,r(t,{get when(){return!e.revoked_at},get children(){var t=d(O);return t.$$click=()=>void te(e),l(t,()=>o(`apiKeys.revoke`)),c(),t}})),n})()})),e}})}})),l(e,r(_,{get open(){return!!R()},onClose:X,get title(){return o(`apiKeys.created.title`)},get children(){var e=d(S),t=e.firstChild,n=t.nextSibling,r=n.firstChild,[a,s]=p(r.nextSibling),f=a.nextSibling,h=n.nextSibling,g=h.nextSibling,_=g.firstChild,v=g.nextSibling.firstChild,y=v.nextSibling.nextSibling;return l(t,()=>o(`apiKeys.created.warning`)),l(n,()=>o(`apiKeys.created.value`),a,s),f.addEventListener(`focus`,e=>e.currentTarget.select()),l(h,()=>o(`apiKeys.created.howToUse`)),l(_,()=>`POST /api/v1/auth/api-key-login\n{ "apiKey": "${R()?.plaintext??``}" }`),v.$$click=()=>void ne(),l(v,(()=>{var e=m(()=>!!K());return()=>e()?o(`apiKeys.created.copied`):o(`apiKeys.created.copy`)})()),y.$$click=X,l(y,()=>o(`common.close`)),i(()=>u(f,`value`,R()?.plaintext??``)),c(),e}}),$,oe),c(),e})()}s([`click`,`input`]);export{N as ApiKeysManager};
@@ -1,4 +1,4 @@
1
- import{S as e,a as t,h as n,l as r,p as i}from"./solid.Ck4Vtfe4.js";import{_ as a,g as o,i as s,l as c,o as l,p as u}from"./web.DD6VKaIp.js";import{n as d}from"./i18n.DnYRsWBJ.js";import{n as f}from"./api.53l1ob4Z.js";var p=a(`<div><div class=dashboard-widget-header><h3 class=dashboard-widget-title></h3></div><div class=dashboard-widget-content></div><style>
1
+ import{S as e,a as t,h as n,l as r,p as i}from"./solid.Ck4Vtfe4.js";import{_ as a,g as o,i as s,l as c,o as l,p as u}from"./web.DD6VKaIp.js";import{n as d}from"./i18n.BFBHzd3w.js";import{n as f}from"./api.53l1ob4Z.js";var p=a(`<div><div class=dashboard-widget-header><h3 class=dashboard-widget-title></h3></div><div class=dashboard-widget-content></div><style>
2
2
  .dashboard-widget {
3
3
  background: var(--color-surface);
4
4
  border: 1px solid var(--color-border);
@@ -1 +1 @@
1
- :root{--admin-bar-h:46px;--admin-footer-h:48px;--color-primary:#d8b45e;--color-primary-hover:#b99542;--color-primary-light:#f3e7c5;--color-primary-soft:#faf5e8;--color-primary-contrast:#0a0a0a;--color-ink:#0a0a0a;--color-surface-dark:#171717;--color-white:#fff;--color-background:#f6f7f7;--color-border:#dcdcde;--color-text:#2c3338;--color-muted:#646970;--color-success:#22c55e;--color-success-soft:#22c55e1f;--color-warning:#f59e0b;--color-warning-soft:#f59e0b1f;--color-danger:#ef4444;--color-danger-soft:#ef44441f;--color-error:#ef4444;--color-error-soft:#ef44441f;--color-muted-soft:#eceef0;--color-surface:#fff;--color-surface-hover:#f6f7f7;--color-surface-active:#f3e7c5;--color-surface-muted:#eceef0;--color-bg:#f6f7f7;--color-bg-secondary:#fff;--color-bg-tertiary:#eceef0;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--focus-ring:0 0 0 2px var(--color-primary-soft), 0 0 0 4px var(--color-primary)}*{box-sizing:border-box;margin:0;padding:0}html{color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:600}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-text)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.input::placeholder{color:var(--color-muted)}.input:disabled{background:var(--color-background);color:var(--color-muted);cursor:not-allowed}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23646970' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}.table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-background);font-size:.75rem;font-weight:600}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em;align-items:center;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-success{color:#166534;background:#22c55e1a}.badge-warning{color:#854d0e;background:#f59e0b1a}.badge-danger{color:#991b1b;background:#ef44441a}.badge-secondary{background:var(--color-border);color:var(--color-muted)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary-hover)}.modal-overlay{top:var(--admin-bar-h,46px);bottom:var(--admin-footer-h,48px);backdrop-filter:blur(2px);z-index:1500;background:#0a0a0a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;left:0;right:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:100%;box-shadow:var(--shadow-xl);padding:1.5rem;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.toast{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);z-index:1100;padding:.75rem 1rem;animation:.2s ease-out slideIn;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes slideIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-primary)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--color-muted);font-size:.875rem}.notice{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);margin-bottom:1rem;padding:.75rem 1rem}.notice--error{border-color:var(--color-danger);color:var(--color-danger);background:#ef44440d}.notice--success{border-color:var(--color-success);color:var(--color-success);background:#22c55e0d}.toolbar{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.toolbar .input{flex:1;min-width:200px}.pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;transition:border-color .15s,background .15s;display:flex}.upload-zone--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.media-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;color:var(--color-text);font:inherit;flex-direction:column;gap:.5rem;padding:.5rem;transition:all .15s;display:flex}.media-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.media-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft), 0 0 0 4px var(--color-primary)}.media-card__preview{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-background);justify-content:center;align-items:center;display:flex;overflow:hidden}.media-card__preview img{object-fit:cover;width:100%;height:100%}.media-card__ext{color:var(--color-muted);letter-spacing:.05em;text-align:center;padding:1rem;font-weight:700}.media-card__meta{flex-direction:column;gap:.125rem;display:flex}.media-card__name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.media-details{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex;position:sticky;bottom:0}.media-details__preview img{border-radius:var(--radius-lg);object-fit:contain;background:var(--color-background);max-width:100%;max-height:280px}.media-details__list{grid-template-columns:100px 1fr;gap:.35rem .75rem;margin:0;display:grid}.media-details__list dt{color:var(--color-muted);font-size:.8125rem}.media-details__list dd{overflow-wrap:anywhere;margin:0;font-size:.875rem}.media-details__url{align-items:center;gap:.5rem;display:flex}.media-details__url code{background:var(--color-background);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.75rem}.media-details__actions{flex-wrap:wrap;gap:.5rem;display:flex}.media-library .modal{max-width:min(1120px,96vw)}.media-modal{flex-direction:column;gap:1rem;display:flex}.media-modal__preview{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);justify-content:center;align-items:center;min-height:280px;max-height:460px;display:flex;overflow:hidden}.media-modal__preview img,.media-modal__preview video{object-fit:contain;max-width:100%;max-height:440px}.media-modal__preview audio{width:min(560px,90%)}.media-modal__preview iframe{border:0;width:100%;height:440px}.media-modal__file-icon{font-size:2rem}.media-modal__layout{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:1.25rem;display:grid}.media-modal__fields{flex-direction:column;gap:.75rem;display:flex}.media-modal__textarea{resize:vertical;min-height:120px;font:inherit}.media-modal__facts{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);align-content:start;padding:.85rem}.media-modal__replace{flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}@media (width<=720px){.media-modal__layout{grid-template-columns:1fr}.media-modal__preview{min-height:200px}}.users-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.875rem}.users-table th{background:var(--color-background);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.users-table tr:last-child td{border-bottom:none}.users-table__row--selected td{background:var(--color-primary-soft)}.users-table__actions{white-space:nowrap;justify-content:flex-end;gap:.375rem;display:flex}.status-dot{background:var(--color-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:.5rem;display:inline-block}.status-dot--active{background:var(--color-success)}.user-details{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.dashboard-home{flex-direction:column;gap:1.5rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;padding:1.5rem;transition:all .15s}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.stat-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.stat-value{color:var(--color-primary);font-size:2.5rem;font-weight:700;line-height:1.2}.login-page{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.login-header{text-align:center;margin-bottom:2rem}.login-header .logo{justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.login-header .logo img{width:96px;height:96px;display:block}.login-header p{color:var(--color-muted);font-size:.9375rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-size:.8125rem;font-weight:500}.form-group .input{padding:.625rem .875rem;font-size:.9375rem}.form-group .input::placeholder{color:var(--color-muted)}.form-actions{gap:.5rem;margin-top:.5rem;display:flex}.form-actions .btn{flex:1}.empty-state,.skeleton{text-align:center;color:var(--color-muted);padding:2rem}.login-form .btn-primary{margin-top:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600}.login-form .btn-primary:focus-visible{box-shadow:0 0 0 3px var(--color-primary-soft), 0 0 0 5px var(--color-primary)}.error-message{border-radius:var(--radius-md);border:1px solid var(--color-danger);color:var(--color-danger);background:#ef444414;padding:.75rem 1rem;font-size:.875rem}[dir=rtl]{direction:rtl}[dir=rtl] .table th,[dir=rtl] .table td,[dir=rtl] .users-table th,[dir=rtl] .users-table td{text-align:right}[dir=rtl] .toolbar{flex-direction:row-reverse}[dir=rtl] .toolbar .input{text-align:right}[dir=rtl] .form-grid,[dir=rtl] .form-grid label{direction:rtl}[dir=rtl] .card-header,[dir=rtl] .modal-header,[dir=rtl] .toolbar,[dir=rtl] .toolbar{flex-direction:row-reverse}[dir=rtl] .badge{direction:rtl}[dir=rtl] .toast{left:1.5rem;right:auto}[dir=rtl] .media-grid{direction:rtl}[dir=rtl] .media-card__meta{text-align:right}[dir=rtl] .media-details__list{direction:rtl}[dir=rtl] .media-details__url{flex-direction:row-reverse}[dir=rtl] .user-details .form-grid{direction:rtl}[dir=rtl] .user-details .media-details__actions{flex-direction:row-reverse}[dir=rtl] .notice{direction:rtl}[dir=rtl] .pagination{flex-direction:row-reverse}[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] select,[dir=rtl] input::placeholder,[dir=rtl] textarea::placeholder{text-align:right}[dir=rtl] .chevron{transform:scaleX(-1)}[dir=rtl] .language-trigger[aria-expanded=true] .chevron{transform:scaleX(-1)rotate(180deg)}[dir=rtl] .users-table__actions{justify-content:flex-start}[dir=rtl] .media-details__actions{flex-direction:row-reverse}[dir=rtl] .media-details__preview{margin-left:auto;margin-right:0}[dir=rtl] .login-card{direction:rtl}[dir=rtl] .login-form .form-group label,[dir=rtl] .login-header{text-align:right}[dir=rtl] .settings-cards{direction:rtl}[dir=rtl] .settings-card{text-align:right}[dir=rtl] .action-card,[dir=rtl] .media-card__name{direction:rtl}[dir=rtl] .login-form .form-group{text-align:right}[dir=rtl] select.input{background-position:.75rem;padding-left:2.5rem;padding-right:.75rem}[dir=rtl] .status-dot{margin-left:.4rem;margin-right:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.resource-hub{gap:1rem;display:grid}.resource-tabs,.resource-actions{flex-wrap:wrap;gap:.5rem;display:flex}.resource-form,.term-form{gap:.75rem;margin:1rem 0;display:grid}.resource-form label{gap:.35rem;display:grid}.resource-form textarea,.term-form{width:100%}.card-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-header-row p{color:var(--color-muted);margin:.35rem 0 0}.logs-retention-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.logs-retention-form label{min-width:220px}.logs-filters{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.logs-filters .input{min-width:200px}.table-scroll{overflow-x:auto}.webhooks-manager select[multiple]{min-height:9rem}.webhooks-manager .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.access-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem;display:grid}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:.65rem}.terms-panel{gap:.75rem;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-grid label{align-content:start;gap:.35rem;display:grid}.form-grid label.checkbox-label{align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.form-grid>label:last-child{align-self:end}.supports{flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem;display:flex}.supports label{align-items:center;gap:.4rem;display:flex}.post-types-manager,.taxonomies-manager{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.post-types-manager>.notice,.taxonomies-manager>.notice{grid-column:1/-1}.settings-table-card{padding:0;overflow:hidden}.settings-table-card .table th{background:var(--color-bg-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.settings-table-card .table td{padding:.65rem .75rem}@media (width<=1100px){.post-types-manager,.taxonomies-manager{grid-template-columns:1fr}}.resource-form label.checkbox-label,label.checkbox-label{align-items:center;gap:.5rem;font-weight:500;display:flex}.resource-form label.checkbox-label{margin-top:0}.webhooks-manager .resource-form{max-width:720px}.webhooks-manager .form-grid{margin-bottom:0}.field-type-picker{position:relative}.field-type-picker__trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.field-type-picker__trigger:hover{border-color:var(--color-primary)}.field-type-picker__selected{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.field-type-picker__selected svg,.field-type-picker__selected i{width:16px;height:16px;color:var(--color-primary);flex-shrink:0}.field-type-picker__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;max-height:320px;padding:.5rem;display:grid;overflow-y:auto;box-shadow:0 12px 32px #0f0f0f2e}.field-type-picker__search{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:.4rem .6rem;font-size:.85rem}.field-type-picker__group{gap:.1rem;display:grid}.field-type-picker__group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding:.35rem .5rem 0;font-size:.7rem}.field-type-picker__option{border-radius:var(--radius-md);width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.field-type-picker__option:hover{background:var(--color-bg-tertiary)}.field-type-picker__option.is-selected{color:#8a6d1d;background:#d8b45e29;font-weight:600}.field-type-picker__option svg,.field-type-picker__option i{flex-shrink:0;width:15px;height:15px}.field-type-picker__group-label svg,.field-type-picker__group-label i{vertical-align:-2px;width:13px;height:13px;margin-right:.25rem}.field-type-picker__hint{color:var(--color-muted);white-space:nowrap;margin-left:auto;font-size:.7rem}.general-settings__tz{align-content:start;gap:.35rem;display:grid}.tz-select{position:relative}.tz-select__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tz-select__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tz-select__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;padding:.5rem;display:grid;box-shadow:0 12px 32px #0f0f0f2e}.tz-select__search{width:100%}.tz-select__options{gap:.1rem;max-height:280px;display:grid;overflow-y:auto}.tz-select__option{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;padding:.4rem .6rem;font-size:.85rem}.tz-select__option:hover{background:var(--color-bg-tertiary)}.tz-select__option.is-selected{color:#8a6d1d;background:#d8b45e29;font-weight:600}.tz-select__empty{color:var(--color-muted);margin:0;padding:.5rem .6rem;font-size:.85rem}.post-types-manager__icon-field{align-self:start}.icon-picker{position:relative}.icon-picker__trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.icon-picker__value{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.icon-picker__preview{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;display:inline-flex}.icon-picker__preview svg{width:18px;height:18px;display:block}.icon-picker__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;overflow:hidden}.icon-picker__caret{color:var(--color-muted);flex-shrink:0}.icon-picker__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;padding:.5rem;display:grid;box-shadow:0 12px 32px #0f0f0f2e}.icon-picker__search{width:100%}.icon-picker__viewport{contain:layout paint;scrollbar-gutter:stable;height:300px;position:relative;overflow:hidden auto}.icon-picker__grid{width:100%;position:relative}.icon-picker__cell{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.icon-picker__cell svg{pointer-events:none;width:20px;height:20px;display:block}.icon-picker__cell:hover{background:var(--color-bg-tertiary)}.icon-picker__cell.is-active{outline:2px solid var(--color-primary);outline-offset:-2px}.icon-picker__cell.is-selected{border-color:var(--color-primary);color:#8a6d1d;background:#d8b45e29}.icon-picker__cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-picker__empty{color:var(--color-muted);margin:0;padding:.5rem .6rem;font-size:.85rem}.icon-picker__count{color:var(--color-muted);text-align:right;margin:0;padding:0 .25rem;font-size:.7rem}.permission-picker{display:grid}.permission-picker__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.permission-picker__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.permission-picker__value.is-empty{color:var(--color-muted)}.permission-picker__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;padding:.5rem;display:grid;box-shadow:0 12px 32px #0f0f0f2e}.permission-picker__search{width:100%}.permission-picker__matrix{gap:.1rem;max-height:300px;display:grid;overflow-y:auto}.permission-picker__row{border-radius:var(--radius-sm);grid-template-columns:minmax(110px,1fr) repeat(5,2.1rem);align-items:center;gap:.25rem;padding:.15rem .25rem;display:grid}.permission-picker__row:hover{background:var(--color-bg-tertiary)}.permission-picker__row--head{background:var(--color-surface);z-index:1;border-bottom:1px solid var(--color-border);padding-bottom:.35rem;position:sticky;top:0}.permission-picker__row--head:hover{background:var(--color-surface)}.permission-picker__resource{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.permission-picker__action-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);text-align:center;font-size:.62rem}.permission-picker__cell{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;color:#0000;place-items:center;width:1.5rem;height:1.5rem;margin:0 auto;font-size:.75rem;transition:background .12s,border-color .12s;display:grid}.permission-picker__cell input{opacity:0;pointer-events:none;position:absolute}.permission-picker__cell:hover{border-color:var(--color-primary)}.permission-picker__cell.is-checked{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.permission-picker__cell--empty{cursor:default;background:0 0;border:0}.permission-picker__empty{color:var(--color-muted);margin:0;padding:.5rem .6rem;font-size:.85rem}.permission-picker__custom{border-top:1px solid var(--color-border);gap:.35rem;padding-top:.5rem;display:grid}.permission-picker__custom-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);margin:0;font-size:.7rem}.permission-picker__chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.permission-picker__chip{border:1px solid var(--color-border);background:var(--color-bg-tertiary);border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .2rem .1rem .45rem;font-size:.75rem;display:inline-flex}.permission-picker__chip code{font-size:.72rem}.permission-picker__chip button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-size:.9rem;line-height:1}.permission-picker__chip button:hover{color:var(--color-danger,#b42318)}.permission-picker__custom-form{flex:1;gap:.35rem;min-width:180px;display:flex}.permission-picker__custom-input{flex:1;min-width:0;font-size:.8rem}.access-actions{white-space:nowrap;justify-content:flex-end;gap:.35rem;display:flex}.access-permissions-cell{text-overflow:ellipsis;white-space:nowrap;max-width:26ch;color:var(--color-muted);font-size:.8rem;overflow:hidden}.resource-form__label{font-size:.8rem;font-weight:500}.resource-form__field{gap:.35rem;display:grid}.modal .form-actions{justify-content:flex-end}.modal .form-actions .btn{flex:none}.modal-close{color:var(--color-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:0 .35rem;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--color-text);background:var(--color-bg-tertiary)}.post-types-manager__icon{align-items:center;gap:.5rem;display:inline-flex}.post-types-manager__icon-preview{width:16px;height:16px;color:var(--color-muted);display:inline-flex}.post-types-manager__icon-preview svg{width:16px;height:16px;display:block}.content-list__heading,.classic-editor__topbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.content-list__heading h2,.classic-editor__topbar h2{color:var(--color-ink);font-size:1.5rem}.content-list__heading p{margin-top:.25rem}.classic-editor__eyebrow{color:var(--color-primary-hover);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.classic-editor__actions{gap:.5rem;display:flex}.classic-editor__columns{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:1rem;display:grid}.classic-editor__main,.classic-editor__sidebar{gap:1rem;min-width:0;display:grid}.classic-editor__canvas-card{padding:1.25rem}.classic-editor__title{width:100%;color:var(--color-ink);border:0;outline:0;padding:.25rem 0 .75rem;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:600;line-height:1.2}.classic-editor__title::placeholder{color:#9ca3af}.classic-editor__permalink{color:var(--color-muted);border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding-bottom:1rem;font-size:.8125rem;display:flex}.classic-editor__permalink .input{max-width:420px;padding:.3rem .5rem}.classic-editor__toolbar{border:1px solid var(--color-border);background:#f0f0f1;border-bottom:0;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:1rem;padding:.45rem;display:flex}.classic-editor__toolbar button{border-radius:var(--radius-sm);min-width:2rem;min-height:2rem;color:var(--color-text);background:0 0;border:1px solid #0000;padding:.25rem .45rem}.classic-editor__toolbar button:hover{border-color:var(--color-border);background:var(--color-white)}.classic-editor__toolbar-divider{background:var(--color-border);width:1px;height:1.5rem;margin:0 .25rem}.classic-editor__body{border:1px solid var(--color-border);background:var(--color-white);min-height:360px;color:var(--color-text);outline:none;padding:1rem;font-size:1rem;line-height:1.7}.classic-editor__body:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.classic-editor__body:empty:before{content:attr(data-placeholder);color:var(--color-muted)}.classic-editor__body blockquote{border-left:3px solid var(--color-primary);color:var(--color-muted);margin:1rem 0;padding-left:1rem}.plugin-editor{border:1px dashed var(--color-border);background:var(--color-white);min-height:360px;color:var(--color-text);padding:1rem}.plugin-editor--below{min-height:8rem;margin-top:1rem}.classic-editor__excerpt{gap:.4rem;margin-top:1rem;display:grid}.classic-editor__panel{gap:.75rem;display:grid}.classic-editor__panel h3{border-bottom:1px solid var(--color-border);color:var(--color-ink);padding-bottom:.65rem;font-size:.95rem}.classic-editor__full-button{width:100%}@media (width<=720px){.access-grid{grid-template-columns:1fr}.table{display:block;overflow-x:auto}.content-list__heading,.classic-editor__topbar{flex-direction:column}.classic-editor__columns{grid-template-columns:1fr}.classic-editor__sidebar{order:-1}}.okcms-rate-limit-notice{z-index:2000;background:var(--bg-primary,#1f2430);max-width:min(92vw,520px);color:var(--text-primary,#e7e9ee);border:1px solid var(--border,#94a3b847);text-align:center;opacity:0;pointer-events:none;border-radius:10px;padding:12px 18px;font-size:14px;line-height:1.4;transition:opacity .18s,transform .18s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 10px 30px #0f172a59}.okcms-rate-limit-notice.visible{opacity:1;transform:translate(-50%)}.fb-eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:block}.fb-back-link{color:var(--color-primary-hover);cursor:pointer;background:0 0;border:0;margin-bottom:.5rem;padding:0;font-size:.85rem;display:inline-block}.fb-back-link:hover{color:var(--color-ink);text-decoration:underline}.fb-icon-button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.fb-icon-button:hover{color:var(--color-ink)}.editor-actions{align-items:center;gap:.6rem;display:flex}.fb-panel{box-shadow:var(--shadow-sm);margin-bottom:1.25rem;overflow:hidden}.fb-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.35rem;display:flex}.fb-panel__header h3{color:var(--color-ink);margin:0;font-size:1.08rem}.fb-panel__header p{margin:.3rem 0 0}.fb-panel__body{padding:1.35rem}.fb-list__header,.fb-editor__header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.fb-list__header h2,.fb-editor__header h2{color:var(--color-ink);margin:.3rem 0 0;font-size:clamp(1.4rem,2vw,1.85rem);font-weight:600}.fb-list__header p{margin:.35rem 0 0}.fb-list__toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;border-radius:.55rem .55rem 0 0;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.fb-list__filter{align-items:center;gap:.6rem;display:flex}.fb-list__filter>span{color:var(--color-muted);white-space:nowrap;font-size:.8rem;font-weight:600}.fb-list__search{max-width:320px;margin-left:auto}.fb-groups-table{border-radius:.55rem;padding:0;overflow:hidden}.fb-groups-table__head,.fb-groups-table__row{grid-template-columns:minmax(200px,1.6fr) minmax(140px,1fr) minmax(140px,1fr) 70px 100px minmax(180px,auto);align-items:center;gap:1rem;display:grid}.fb-groups-table__head{background:var(--color-background);color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;padding:.7rem 1.1rem;font-size:.72rem;font-weight:700}.fb-groups-table__row{border-top:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;min-height:4.4rem;padding:.85rem 1.1rem;transition:background .15s}.fb-groups-table__row:hover{background:var(--color-primary-soft)}.fb-groups-table__title{gap:.15rem;min-width:0;display:grid}.fb-groups-table__title strong{color:var(--color-primary-hover);font-size:.95rem}.fb-groups-table__title code{color:var(--color-muted);text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.fb-groups-table__desc{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.fb-groups-table__location,.fb-groups-table__count{color:var(--color-muted);font-size:.85rem}.fb-groups-table__actions{opacity:.8;justify-content:flex-end;gap:.5rem;display:flex}.fb-groups-table__row:hover .fb-groups-table__actions{opacity:1}.fb-row-action{color:var(--color-primary-hover);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.78rem}.fb-row-action:hover{text-decoration:underline}.fb-row-action.is-danger{color:var(--color-danger)}.fb-empty-groups{text-align:center;padding:3.5rem 1.25rem}.fb-empty-icon{color:var(--color-primary);margin-bottom:.6rem;display:inline-flex}.fb-empty-icon svg{width:2.75rem;height:2.75rem}.fb-empty-groups h4{margin:0 0 .35rem}.fb-empty-groups .btn{margin-top:1rem}.fb-editor__footer{justify-content:flex-end;margin-top:1.25rem}.fb-identity{align-items:flex-end;gap:1rem;display:flex}.fb-group-title{max-width:720px;min-height:2.6rem;font-size:1.1rem}.fb-identity__key{color:var(--color-muted);padding-bottom:.5rem;font-size:.8rem}.fb-tabs__list{border-bottom:1px solid var(--color-border);gap:.25rem;display:flex;overflow-x:auto}.fb-tabs__tab{color:var(--color-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.7rem .9rem;font-size:.86rem;font-weight:500;display:inline-flex;position:relative}.fb-tabs__tab:hover{color:var(--color-ink)}.fb-tabs__tab.is-active{color:var(--color-primary-hover);font-weight:600}.fb-tabs__tab.is-active:after{background:var(--color-primary);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:.4rem;right:.4rem}.fb-tabs__tab.is-disabled{opacity:.5;cursor:not-allowed}.fb-tabs__badge{border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);text-transform:uppercase;padding:.05rem .4rem;font-size:.66rem;font-weight:700}.fb-tabs__panel{padding-top:1.25rem}.fb-field-list{position:relative}.fb-sortable-list{display:grid}.fb-sortable-list--sub{border-left:3px solid var(--color-primary-soft);background:var(--color-background);margin-top:.5rem;padding-left:.75rem}.fb-sortable-empty{min-height:0}.fb-sortable-item{position:relative}.fb-sortable-item.is-dragging{opacity:.4}.fb-sortable-item.is-drop-target:before{z-index:3;background:var(--color-primary);content:"";border-radius:3px;height:3px;position:absolute;top:-1px;left:.25rem;right:.25rem}.fb-field-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:0}.fb-field-row:first-child{border-radius:.35rem .35rem 0 0}.fb-field-row:last-child{border-radius:0 0 .35rem .35rem}.fb-field-row+.fb-field-row{border-top:0}.fb-field-row.is-expanded{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);z-index:1}.fb-field-row__header{grid-template-columns:1.9rem 2.1rem minmax(160px,1.5fr) minmax(120px,1fr) minmax(120px,1fr) minmax(90px,.7fr) auto auto;align-items:center;min-height:3.9rem;display:grid}.fb-field-row__header:hover,.fb-field-row.is-expanded .fb-field-row__header{background:var(--color-primary-soft)}.fb-field-row__handle{width:1.9rem;color:var(--color-muted);cursor:grab;background:0 0;border:0;justify-content:center;align-self:stretch;align-items:center;display:flex}.fb-field-row__handle:hover{color:var(--color-primary-hover)}.fb-field-row__handle:active{cursor:grabbing}.fb-field-row__handle svg{width:1.05rem;height:1.05rem}.fb-field-row__toggle{cursor:pointer;text-align:left;color:var(--color-text);background:0 0;border:0;display:contents}.fb-field-row__order{background:var(--color-background);width:1.55rem;height:1.55rem;color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;margin-left:.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.fb-field-row__label{align-items:center;gap:.55rem;min-width:0;padding-left:.6rem;display:inline-flex}.fb-field-row__label strong{color:var(--color-primary-hover);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.fb-field-row__type-icon{width:1rem;height:1rem;color:var(--color-primary);flex:none}.fb-field-row__name,.fb-field-row__key{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.fb-field-row__type{color:var(--color-text);font-size:.8rem}.fb-field-row__actions{align-items:center;gap:.55rem;padding:0 .7rem;display:flex}.fb-field-row__chevron{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0 .6rem}.fb-field-row__chevron svg{width:1rem;height:1rem}.fb-field-row__body{border-top:1px solid var(--color-border);background:var(--color-surface);gap:1.25rem;padding:1.35rem;display:grid}.fb-settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.fb-setting{flex-direction:column;gap:.35rem;min-width:0;display:flex}.fb-setting--wide{grid-column:1/-1}.fb-setting--inline{flex-direction:row;align-items:center;gap:.6rem}.fb-setting__label{color:var(--color-text);font-size:.82rem;font-weight:600}.fb-setting__hint{color:var(--color-muted);font-size:.74rem}.fb-setting__hint code{background:var(--color-background);border-radius:var(--radius-sm);padding:0 .25rem}.fb-settings-grid textarea{resize:vertical}.fb-input-append-wrap{align-items:center;display:flex;position:relative}.fb-input-append-wrap .input{padding-right:2.2rem}.fb-append-suffix{color:var(--color-muted);pointer-events:none;font-size:.82rem;position:absolute;right:.65rem}.fb-switch{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.fb-checkbox-grid{flex-wrap:wrap;gap:.55rem 1.1rem;display:flex}.fb-checkbox{align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.fb-subfields{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);padding:1rem}.fb-subfields--layout{margin-top:.75rem}.fb-subfields__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.fb-subfields__header h5{margin:0}.fb-layouts{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);gap:.85rem;padding:1rem;display:grid}.fb-layout-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:.85rem;padding:.9rem;display:grid}.fb-layout-card__header{align-items:center;gap:.6rem;display:flex}.fb-layout-card__header strong{color:var(--color-primary-hover)}.fb-layout-card__display{color:var(--color-muted);margin-left:auto;font-size:.75rem}.fb-layout-card__settings{padding:.25rem 0}.fb-empty-fields{text-align:center;color:var(--color-muted);padding:1.5rem .5rem .35rem}.fb-list-footer{justify-content:flex-end;margin-top:.85rem;display:flex}.fb-add-field{border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary-hover);cursor:pointer;padding:.55rem .9rem;font-size:.85rem;font-weight:600}.fb-add-field:hover{background:var(--color-primary-soft)}.fb-rule-editor{gap:1rem;display:grid}.fb-rule-editor__toggle{cursor:pointer;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.fb-rule-groups{gap:.75rem;display:grid}.fb-rule-group{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);gap:.55rem;padding:.85rem;display:grid}.fb-rule-group__connector{color:var(--color-muted);text-align:center;font-size:.75rem;font-weight:700}.fb-rule-group__header{color:var(--color-text);font-size:.8rem;font-weight:700}.fb-rule-group__actions{align-items:center;gap:.6rem;margin-top:.2rem;display:flex}.fb-rule-group__and{color:var(--color-muted);font-size:.72rem}.fb-rule-row{grid-template-columns:minmax(160px,1.2fr) minmax(140px,.9fr) minmax(160px,1.2fr) auto;align-items:center;gap:.55rem;display:grid}.fb-rule-row__spacer{display:block}.fb-rule-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:0;font-size:1.1rem}.fb-rule-add-group{justify-self:start}.fb-modal-backdrop{z-index:1000;top:var(--admin-bar-h,46px);bottom:var(--admin-footer-h,48px);background:#0a0a0a80;place-items:center;padding:1rem;display:grid;position:fixed;left:0;right:0}.fb-browse-modal{border:1px solid var(--color-border);background:var(--color-surface);width:min(920px,100%);max-height:100%;box-shadow:var(--shadow-xl);border-radius:.55rem;grid-template-rows:auto auto auto 1fr auto;display:grid;overflow:hidden}.fb-browse-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.35rem;display:flex}.fb-browse-modal__header h3{color:var(--color-ink);margin:.15rem 0 0}.fb-browse-modal__search{padding:.9rem 1.35rem .5rem}.fb-browse-modal__search .input{max-width:380px}.fb-browse-modal__tabs{border-bottom:1px solid var(--color-border);gap:1.1rem;padding:0 1.35rem;display:flex;overflow-x:auto}.fb-browse-modal__tabs button{color:var(--color-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.6rem 0 .55rem;position:relative}.fb-browse-modal__tabs button.is-active{color:var(--color-primary-hover);font-weight:600}.fb-browse-modal__tabs button.is-active:after{background:var(--color-primary);content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0}.fb-browse-modal__body{grid-template-columns:minmax(0,1fr) 230px;min-height:300px;display:grid;overflow:auto}.fb-browse-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-content:start;gap:.75rem;padding:1.25rem;display:grid}.fb-browse-tile{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:108px;color:var(--color-text);text-align:center;cursor:pointer;place-items:center;gap:.35rem;padding:.8rem;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.fb-browse-tile:hover,.fb-browse-tile.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 1px var(--color-primary)}.fb-browse-tile__icon{border:1px solid var(--color-primary);width:2.1rem;height:2.1rem;color:var(--color-primary-hover);border-radius:.4rem;place-items:center;display:grid}.fb-browse-tile__icon svg{width:1.2rem;height:1.2rem}.fb-browse-tile small{color:var(--color-muted);font-size:.7rem}.fb-browse-preview{border-left:1px solid var(--color-border);background:var(--color-background);flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.5rem 1.25rem;display:flex}.fb-browse-preview__icon{border:1px solid var(--color-primary);width:2.5rem;height:2.5rem;color:var(--color-primary-hover);border-radius:.45rem;place-items:center;display:grid}.fb-browse-preview__icon svg{width:1.4rem;height:1.4rem}.fb-browse-preview h4{color:var(--color-ink);margin:0}.fb-browse-empty{text-align:center;grid-column:1/-1;padding:2rem}.fb-browse-modal__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.1rem 1.35rem;display:flex}.fb-browse-modal__label{flex:1;gap:.3rem;max-width:340px;display:grid}.fb-page-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.fb-page-header__main{flex-direction:column;gap:.35rem;display:flex}.fb-page-header__main .fb-eyebrow{margin-bottom:.25rem}.fb-page-header__main h1{color:var(--color-ink);margin:.3rem 0 0;font-size:clamp(1.4rem,2vw,1.85rem);font-weight:600}.fb-page-header__main p{margin:.35rem 0 0}.fb-page-header__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fb-page-header__toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;border-radius:.55rem .55rem 0 0;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.fb-toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.fb-toolbar__filter{align-items:center;gap:.6rem;display:flex}.fb-toolbar__filter>span{color:var(--color-muted);white-space:nowrap;font-size:.8rem;font-weight:600}.fb-toolbar__search{max-width:320px;margin-left:auto}.fb-page-content{flex:1 0 auto;min-width:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;overflow:hidden}.card--padded{padding:0}@media (width<=900px){.fb-groups-table__head{display:none}.fb-groups-table__row{grid-template-columns:1fr 1fr;gap:.55rem}.fb-groups-table__title,.fb-groups-table__actions{grid-column:1/-1}.fb-groups-table__actions{justify-content:flex-start}.fb-field-row__header{grid-template-columns:1.9rem 2.1rem minmax(0,1fr) auto auto}.fb-field-row__name,.fb-field-row__key,.fb-field-row__type{display:none}.fb-rule-row,.fb-browse-modal__body{grid-template-columns:1fr}.fb-browse-preview{display:none}.fb-browse-modal__footer{flex-direction:column;align-items:stretch}.fb-browse-modal__label{width:100%;max-width:none}.fb-list__header,.fb-editor__header,.fb-list__toolbar{flex-direction:column;align-items:stretch}.fb-list__search{max-width:none;margin-left:0}.fb-page-header__toolbar{flex-direction:column;align-items:stretch}.fb-toolbar__search{max-width:none;margin-left:0}}.fb-list__header-actions{align-items:center;gap:.5rem;display:flex}.fb-import-btn{display:inline-flex}.fb-import-btn input{opacity:0;width:0;height:0;position:absolute}.fb-btn-icon{vertical-align:middle;width:1rem;height:1rem;margin-right:.35rem;display:inline-flex}.fb-modal{border:1px solid var(--color-border);background:var(--color-surface);width:min(560px,100%);max-height:100%;box-shadow:var(--shadow-xl);border-radius:.55rem;flex-direction:column;display:flex;overflow:hidden}.fb-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.1rem 1.35rem;display:flex}.fb-modal__header h3{color:var(--color-ink);margin:0}.fb-modal__close{width:2rem;height:2rem;color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.fb-modal__close:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.fb-modal__body{min-height:0;padding:1.35rem;overflow-y:auto}.fb-import-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);min-height:140px;color:var(--color-text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;transition:border-color .15s,background .15s;display:flex}.fb-import-dropzone:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.fb-dropzone-icon{width:3rem;height:3rem;color:var(--color-primary)}.fb-import-hint{text-align:center;margin-top:.5rem;font-size:.8rem}.fb-modal__footer{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:.5rem;padding:1rem 1.35rem;display:flex}
1
+ :root{--admin-bar-h:46px;--admin-footer-h:48px;--color-primary:#d8b45e;--color-primary-hover:#b99542;--color-primary-light:#f3e7c5;--color-primary-soft:#faf5e8;--color-primary-contrast:#0a0a0a;--color-ink:#0a0a0a;--color-surface-dark:#171717;--color-white:#fff;--color-background:#f6f7f7;--color-border:#dcdcde;--color-text:#2c3338;--color-muted:#646970;--color-success:#22c55e;--color-success-soft:#22c55e1f;--color-warning:#f59e0b;--color-warning-soft:#f59e0b1f;--color-danger:#ef4444;--color-danger-soft:#ef44441f;--color-error:#ef4444;--color-error-soft:#ef44441f;--color-muted-soft:#eceef0;--color-surface:#fff;--color-surface-hover:#f6f7f7;--color-surface-active:#f3e7c5;--color-surface-muted:#eceef0;--color-bg:#f6f7f7;--color-bg-secondary:#fff;--color-bg-tertiary:#eceef0;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--focus-ring:0 0 0 2px var(--color-primary-soft), 0 0 0 4px var(--color-primary)}*{box-sizing:border-box;margin:0;padding:0}html{color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:600}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-text)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.input::placeholder{color:var(--color-muted)}.input:disabled{background:var(--color-background);color:var(--color-muted);cursor:not-allowed}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23646970' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}.table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-background);font-size:.75rem;font-weight:600}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em;align-items:center;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-success{color:#166534;background:#22c55e1a}.badge-warning{color:#854d0e;background:#f59e0b1a}.badge-danger{color:#991b1b;background:#ef44441a}.badge-secondary{background:var(--color-border);color:var(--color-muted)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary-hover)}.modal-overlay{top:var(--admin-bar-h,46px);bottom:var(--admin-footer-h,48px);backdrop-filter:blur(2px);z-index:1500;background:#0a0a0a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;left:0;right:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:100%;box-shadow:var(--shadow-xl);padding:1.5rem;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.toast{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);z-index:1100;padding:.75rem 1rem;animation:.2s ease-out slideIn;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes slideIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-primary)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--color-muted);font-size:.875rem}.notice{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);margin-bottom:1rem;padding:.75rem 1rem}.notice--error{border-color:var(--color-danger);color:var(--color-danger);background:#ef44440d}.notice--success{border-color:var(--color-success);color:var(--color-success);background:#22c55e0d}.toolbar{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.toolbar .input{flex:1;min-width:200px}.pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;transition:border-color .15s,background .15s;display:flex}.upload-zone--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.media-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;color:var(--color-text);font:inherit;flex-direction:column;gap:.5rem;padding:.5rem;transition:all .15s;display:flex}.media-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.media-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft), 0 0 0 4px var(--color-primary)}.media-card__preview{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-background);justify-content:center;align-items:center;display:flex;overflow:hidden}.media-card__preview img{object-fit:cover;width:100%;height:100%}.media-card__ext{color:var(--color-muted);letter-spacing:.05em;text-align:center;padding:1rem;font-weight:700}.media-card__meta{flex-direction:column;gap:.125rem;display:flex}.media-card__name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.media-details{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex;position:sticky;bottom:0}.media-details__preview img{border-radius:var(--radius-lg);object-fit:contain;background:var(--color-background);max-width:100%;max-height:280px}.media-details__list{grid-template-columns:100px 1fr;gap:.35rem .75rem;margin:0;display:grid}.media-details__list dt{color:var(--color-muted);font-size:.8125rem}.media-details__list dd{overflow-wrap:anywhere;margin:0;font-size:.875rem}.media-details__url{align-items:center;gap:.5rem;display:flex}.media-details__url code{background:var(--color-background);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.75rem}.media-details__actions{flex-wrap:wrap;gap:.5rem;display:flex}.media-library .modal{max-width:min(1120px,96vw)}.media-modal{flex-direction:column;gap:1rem;display:flex}.media-modal__preview{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);justify-content:center;align-items:center;min-height:280px;max-height:460px;display:flex;overflow:hidden}.media-modal__preview img,.media-modal__preview video{object-fit:contain;max-width:100%;max-height:440px}.media-modal__preview audio{width:min(560px,90%)}.media-modal__preview iframe{border:0;width:100%;height:440px}.media-modal__file-icon{font-size:2rem}.media-modal__layout{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:1.25rem;display:grid}.media-modal__fields{flex-direction:column;gap:.75rem;display:flex}.media-modal__textarea{resize:vertical;min-height:120px;font:inherit}.media-modal__facts{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);align-content:start;padding:.85rem}.media-modal__replace{flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}@media (width<=720px){.media-modal__layout{grid-template-columns:1fr}.media-modal__preview{min-height:200px}}.users-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.875rem}.users-table th{background:var(--color-background);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.users-table tr:last-child td{border-bottom:none}.users-table__row--selected td{background:var(--color-primary-soft)}.users-table__actions{white-space:nowrap;justify-content:flex-end;gap:.375rem;display:flex}.status-dot{background:var(--color-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:.5rem;display:inline-block}.status-dot--active{background:var(--color-success)}.user-details{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.dashboard-home{flex-direction:column;gap:1.5rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;padding:1.5rem;transition:all .15s}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.stat-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.stat-value{color:var(--color-primary);font-size:2.5rem;font-weight:700;line-height:1.2}.login-page{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.login-header{text-align:center;margin-bottom:2rem}.login-header .logo{justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.login-header .logo img{width:96px;height:96px;display:block}.login-header p{color:var(--color-muted);font-size:.9375rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-size:.8125rem;font-weight:500}.form-group .input{padding:.625rem .875rem;font-size:.9375rem}.form-group .input::placeholder{color:var(--color-muted)}.form-actions{gap:.5rem;margin-top:.5rem;display:flex}.form-actions .btn{flex:1}.empty-state,.skeleton{text-align:center;color:var(--color-muted);padding:2rem}.login-form .btn-primary{margin-top:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600}.login-form .btn-primary:focus-visible{box-shadow:0 0 0 3px var(--color-primary-soft), 0 0 0 5px var(--color-primary)}.error-message{border-radius:var(--radius-md);border:1px solid var(--color-danger);color:var(--color-danger);background:#ef444414;padding:.75rem 1rem;font-size:.875rem}[dir=rtl]{direction:rtl}[dir=rtl] .table th,[dir=rtl] .table td,[dir=rtl] .users-table th,[dir=rtl] .users-table td{text-align:right}[dir=rtl] .toolbar{flex-direction:row-reverse}[dir=rtl] .toolbar .input{text-align:right}[dir=rtl] .form-grid,[dir=rtl] .form-grid label{direction:rtl}[dir=rtl] .card-header,[dir=rtl] .modal-header,[dir=rtl] .toolbar,[dir=rtl] .toolbar{flex-direction:row-reverse}[dir=rtl] .badge{direction:rtl}[dir=rtl] .toast{left:1.5rem;right:auto}[dir=rtl] .media-grid{direction:rtl}[dir=rtl] .media-card__meta{text-align:right}[dir=rtl] .media-details__list{direction:rtl}[dir=rtl] .media-details__url{flex-direction:row-reverse}[dir=rtl] .user-details .form-grid{direction:rtl}[dir=rtl] .user-details .media-details__actions{flex-direction:row-reverse}[dir=rtl] .notice{direction:rtl}[dir=rtl] .pagination{flex-direction:row-reverse}[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] select,[dir=rtl] input::placeholder,[dir=rtl] textarea::placeholder{text-align:right}[dir=rtl] .chevron{transform:scaleX(-1)}[dir=rtl] .language-trigger[aria-expanded=true] .chevron{transform:scaleX(-1)rotate(180deg)}[dir=rtl] .users-table__actions{justify-content:flex-start}[dir=rtl] .media-details__actions{flex-direction:row-reverse}[dir=rtl] .media-details__preview{margin-left:auto;margin-right:0}[dir=rtl] .login-card{direction:rtl}[dir=rtl] .login-form .form-group label,[dir=rtl] .login-header{text-align:right}[dir=rtl] .settings-cards{direction:rtl}[dir=rtl] .settings-card{text-align:right}[dir=rtl] .action-card,[dir=rtl] .media-card__name{direction:rtl}[dir=rtl] .login-form .form-group{text-align:right}[dir=rtl] select.input{background-position:.75rem;padding-left:2.5rem;padding-right:.75rem}[dir=rtl] .status-dot{margin-left:.4rem;margin-right:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.resource-hub{gap:1rem;display:grid}.resource-tabs,.resource-actions{flex-wrap:wrap;gap:.5rem;display:flex}.resource-form,.term-form{gap:.75rem;margin:1rem 0;display:grid}.resource-form label{gap:.35rem;display:grid}.resource-form textarea,.term-form{width:100%}.card-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-header-row p{color:var(--color-muted);margin:.35rem 0 0}.logs-retention-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.logs-retention-form label{min-width:220px}.logs-filters{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.logs-filters .input{min-width:200px}.table-scroll{overflow-x:auto}.webhooks-manager select[multiple]{min-height:9rem}.webhooks-manager .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.access-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem;display:grid}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:.65rem}.terms-panel{gap:.75rem;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-grid label{align-content:start;gap:.35rem;display:grid}.form-grid label.checkbox-label{align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.form-grid>label:last-child{align-self:end}.supports{flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem;display:flex}.supports label{align-items:center;gap:.4rem;display:flex}.post-types-manager,.taxonomies-manager{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.post-types-manager>.notice,.taxonomies-manager>.notice{grid-column:1/-1}.settings-table-card{padding:0;overflow:hidden}.settings-table-card .table th{background:var(--color-bg-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.settings-table-card .table td{padding:.65rem .75rem}@media (width<=1100px){.post-types-manager,.taxonomies-manager{grid-template-columns:1fr}}.resource-form label.checkbox-label,label.checkbox-label{align-items:center;gap:.5rem;font-weight:500;display:flex}.resource-form label.checkbox-label{margin-top:0}.webhooks-manager .resource-form{max-width:720px}.webhooks-manager .form-grid{margin-bottom:0}.field-type-picker{position:relative}.field-type-picker__trigger{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.field-type-picker__trigger:hover{border-color:var(--color-primary)}.field-type-picker__selected{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.field-type-picker__selected svg,.field-type-picker__selected i{width:16px;height:16px;color:var(--color-primary);flex-shrink:0}.field-type-picker__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;max-height:320px;padding:.5rem;display:grid;overflow-y:auto;box-shadow:0 12px 32px #0f0f0f2e}.field-type-picker__search{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:.4rem .6rem;font-size:.85rem}.field-type-picker__group{gap:.1rem;display:grid}.field-type-picker__group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding:.35rem .5rem 0;font-size:.7rem}.field-type-picker__option{border-radius:var(--radius-md);width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.field-type-picker__option:hover{background:var(--color-bg-tertiary)}.field-type-picker__option.is-selected{color:#8a6d1d;background:#d8b45e29;font-weight:600}.field-type-picker__option svg,.field-type-picker__option i{flex-shrink:0;width:15px;height:15px}.field-type-picker__group-label svg,.field-type-picker__group-label i{vertical-align:-2px;width:13px;height:13px;margin-right:.25rem}.field-type-picker__hint{color:var(--color-muted);white-space:nowrap;margin-left:auto;font-size:.7rem}.general-settings__tz{align-content:start;gap:.35rem;display:grid}.tz-select{position:relative}.tz-select__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tz-select__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tz-select__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;padding:.5rem;display:grid;box-shadow:0 12px 32px #0f0f0f2e}.tz-select__search{width:100%}.tz-select__options{gap:.1rem;max-height:280px;display:grid;overflow-y:auto}.tz-select__option{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;padding:.4rem .6rem;font-size:.85rem}.tz-select__option:hover{background:var(--color-bg-tertiary)}.tz-select__option.is-selected{color:#8a6d1d;background:#d8b45e29;font-weight:600}.tz-select__empty{color:var(--color-muted);margin:0;padding:.5rem .6rem;font-size:.85rem}.post-types-manager__icon-field{align-self:start}.icon-picker{position:relative}.icon-picker__trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.icon-picker__value{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.icon-picker__preview{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;display:inline-flex}.icon-picker__preview svg{width:18px;height:18px;display:block}.icon-picker__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;overflow:hidden}.icon-picker__caret{color:var(--color-muted);flex-shrink:0}.icon-picker__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;padding:.5rem;display:grid;box-shadow:0 12px 32px #0f0f0f2e}.icon-picker__search{width:100%}.icon-picker__viewport{contain:layout paint;scrollbar-gutter:stable;height:300px;position:relative;overflow:hidden auto}.icon-picker__grid{width:100%;position:relative}.icon-picker__cell{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.icon-picker__cell svg{pointer-events:none;width:20px;height:20px;display:block}.icon-picker__cell:hover{background:var(--color-bg-tertiary)}.icon-picker__cell.is-active{outline:2px solid var(--color-primary);outline-offset:-2px}.icon-picker__cell.is-selected{border-color:var(--color-primary);color:#8a6d1d;background:#d8b45e29}.icon-picker__cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-picker__empty{color:var(--color-muted);margin:0;padding:.5rem .6rem;font-size:.85rem}.icon-picker__count{color:var(--color-muted);text-align:right;margin:0;padding:0 .25rem;font-size:.7rem}.permission-picker{display:grid}.permission-picker__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.permission-picker__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.permission-picker__value.is-empty{color:var(--color-muted)}.permission-picker__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:.5rem;padding:.5rem;display:grid;box-shadow:0 12px 32px #0f0f0f2e}.permission-picker__search{width:100%}.permission-picker__matrix{gap:.1rem;max-height:300px;display:grid;overflow-y:auto}.permission-picker__row{border-radius:var(--radius-sm);grid-template-columns:minmax(110px,1fr) repeat(5,2.1rem);align-items:center;gap:.25rem;padding:.15rem .25rem;display:grid}.permission-picker__row:hover{background:var(--color-bg-tertiary)}.permission-picker__row--head{background:var(--color-surface);z-index:1;border-bottom:1px solid var(--color-border);padding-bottom:.35rem;position:sticky;top:0}.permission-picker__row--head:hover{background:var(--color-surface)}.permission-picker__resource{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.permission-picker__action-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);text-align:center;font-size:.62rem}.permission-picker__cell{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;color:#0000;place-items:center;width:1.5rem;height:1.5rem;margin:0 auto;font-size:.75rem;transition:background .12s,border-color .12s;display:grid}.permission-picker__cell input{opacity:0;pointer-events:none;position:absolute}.permission-picker__cell:hover{border-color:var(--color-primary)}.permission-picker__cell.is-checked{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.permission-picker__cell--empty{cursor:default;background:0 0;border:0}.permission-picker__empty{color:var(--color-muted);margin:0;padding:.5rem .6rem;font-size:.85rem}.permission-picker__custom{border-top:1px solid var(--color-border);gap:.35rem;padding-top:.5rem;display:grid}.permission-picker__custom-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);margin:0;font-size:.7rem}.permission-picker__chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.permission-picker__chip{border:1px solid var(--color-border);background:var(--color-bg-tertiary);border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .2rem .1rem .45rem;font-size:.75rem;display:inline-flex}.permission-picker__chip code{font-size:.72rem}.permission-picker__chip button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-size:.9rem;line-height:1}.permission-picker__chip button:hover{color:var(--color-danger,#b42318)}.permission-picker__custom-form{flex:1;gap:.35rem;min-width:180px;display:flex}.permission-picker__custom-input{flex:1;min-width:0;font-size:.8rem}.access-actions{white-space:nowrap;justify-content:flex-end;gap:.35rem;display:flex}.access-permissions-cell{text-overflow:ellipsis;white-space:nowrap;max-width:26ch;color:var(--color-muted);font-size:.8rem;overflow:hidden}.resource-form__label{font-size:.8rem;font-weight:500}.resource-form__field{gap:.35rem;display:grid}.modal .form-actions{justify-content:flex-end}.modal .form-actions .btn{flex:none}.modal-close{color:var(--color-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:0 .35rem;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--color-text);background:var(--color-bg-tertiary)}.post-types-manager__icon{align-items:center;gap:.5rem;display:inline-flex}.post-types-manager__icon-preview{width:16px;height:16px;color:var(--color-muted);display:inline-flex}.post-types-manager__icon-preview svg{width:16px;height:16px;display:block}.content-list__heading,.classic-editor__topbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.content-list__heading h2,.classic-editor__topbar h2{color:var(--color-ink);font-size:1.5rem}.content-list__heading p{margin-top:.25rem}.classic-editor__eyebrow{color:var(--color-primary-hover);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.classic-editor__actions{gap:.5rem;display:flex}.classic-editor__columns{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:1rem;display:grid}.classic-editor__main,.classic-editor__sidebar{gap:1rem;min-width:0;display:grid}.classic-editor__canvas-card{padding:1.25rem}.classic-editor__title{width:100%;color:var(--color-ink);border:0;outline:0;padding:.25rem 0 .75rem;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:600;line-height:1.2}.classic-editor__title::placeholder{color:#9ca3af}.classic-editor__permalink{color:var(--color-muted);border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding-bottom:1rem;font-size:.8125rem;display:flex}.classic-editor__permalink .input{max-width:420px;padding:.3rem .5rem}.classic-editor__toolbar{border:1px solid var(--color-border);background:#f0f0f1;border-bottom:0;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:1rem;padding:.45rem;display:flex}.classic-editor__toolbar button{border-radius:var(--radius-sm);min-width:2rem;min-height:2rem;color:var(--color-text);background:0 0;border:1px solid #0000;padding:.25rem .45rem}.classic-editor__toolbar button:hover{border-color:var(--color-border);background:var(--color-white)}.classic-editor__toolbar-divider{background:var(--color-border);width:1px;height:1.5rem;margin:0 .25rem}.field-renderer__wysiwyg{gap:.25rem;display:grid}.field-renderer__wysiwyg-toolbar{border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#f0f0f1;border-bottom:0;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.45rem;display:flex}.field-renderer__wysiwyg-toolbar select.input{max-width:160px;padding:.25rem .45rem}.field-renderer__wysiwyg-divider{background:var(--color-border);width:1px;height:1.5rem;margin:0 .25rem}.field-renderer__wysiwyg-toolbar button{border-radius:var(--radius-sm);min-width:2rem;min-height:2rem;color:var(--color-text);background:0 0;border:1px solid #0000;padding:.25rem .45rem}.field-renderer__wysiwyg-toolbar button:hover{border-color:var(--color-border);background:var(--color-white)}.field-renderer__wysiwyg-body{border:1px solid var(--color-border);background:var(--color-white);min-height:200px;color:var(--color-text);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:0;outline:none;padding:.75rem;font-size:.9375rem;line-height:1.6}.field-renderer__wysiwyg-body:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.field-renderer__wysiwyg-body:empty:before{content:attr(data-placeholder);color:var(--color-muted)}.field-renderer__wysiwyg-body blockquote{border-left:3px solid var(--color-primary);color:var(--color-muted);margin:1rem 0;padding-left:1rem}.field-renderer__wysiwyg-body pre{border-radius:var(--radius-sm);background:#f5f5f5;padding:.5rem;overflow-x:auto}.classic-editor__body{border:1px solid var(--color-border);background:var(--color-white);min-height:360px;color:var(--color-text);outline:none;padding:1rem;font-size:1rem;line-height:1.7}.classic-editor__body:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.classic-editor__body:empty:before{content:attr(data-placeholder);color:var(--color-muted)}.classic-editor__body blockquote{border-left:3px solid var(--color-primary);color:var(--color-muted);margin:1rem 0;padding-left:1rem}.plugin-editor{border:1px dashed var(--color-border);background:var(--color-white);min-height:360px;color:var(--color-text);padding:1rem}.plugin-editor--below{min-height:8rem;margin-top:1rem}.classic-editor__excerpt{gap:.4rem;margin-top:1rem;display:grid}.classic-editor__panel{gap:.75rem;display:grid}.classic-editor__panel h3{border-bottom:1px solid var(--color-border);color:var(--color-ink);padding-bottom:.65rem;font-size:.95rem}.classic-editor__full-button{width:100%}@media (width<=720px){.access-grid{grid-template-columns:1fr}.table{display:block;overflow-x:auto}.content-list__heading,.classic-editor__topbar{flex-direction:column}.classic-editor__columns{grid-template-columns:1fr}.classic-editor__sidebar{order:-1}}.okcms-rate-limit-notice{z-index:2000;background:var(--bg-primary,#1f2430);max-width:min(92vw,520px);color:var(--text-primary,#e7e9ee);border:1px solid var(--border,#94a3b847);text-align:center;opacity:0;pointer-events:none;border-radius:10px;padding:12px 18px;font-size:14px;line-height:1.4;transition:opacity .18s,transform .18s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 10px 30px #0f172a59}.okcms-rate-limit-notice.visible{opacity:1;transform:translate(-50%)}.fb-eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:block}.fb-back-link{color:var(--color-primary-hover);cursor:pointer;background:0 0;border:0;margin-bottom:.5rem;padding:0;font-size:.85rem;display:inline-block}.fb-back-link:hover{color:var(--color-ink);text-decoration:underline}.fb-icon-button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.fb-icon-button:hover{color:var(--color-ink)}.editor-actions{align-items:center;gap:.6rem;display:flex}.fb-panel{box-shadow:var(--shadow-sm);margin-bottom:1.25rem;overflow:hidden}.fb-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.35rem;display:flex}.fb-panel__header h3{color:var(--color-ink);margin:0;font-size:1.08rem}.fb-panel__header p{margin:.3rem 0 0}.fb-panel__body{padding:1.35rem}.fb-list__header,.fb-editor__header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.fb-list__header h2,.fb-editor__header h2{color:var(--color-ink);margin:.3rem 0 0;font-size:clamp(1.4rem,2vw,1.85rem);font-weight:600}.fb-list__header p{margin:.35rem 0 0}.fb-list__toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;border-radius:.55rem .55rem 0 0;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.fb-list__filter{align-items:center;gap:.6rem;display:flex}.fb-list__filter>span{color:var(--color-muted);white-space:nowrap;font-size:.8rem;font-weight:600}.fb-list__search{max-width:320px;margin-left:auto}.fb-groups-table{border-radius:.55rem;padding:0;overflow:hidden}.fb-groups-table__head,.fb-groups-table__row{grid-template-columns:minmax(200px,1.6fr) minmax(140px,1fr) minmax(140px,1fr) 70px 100px minmax(180px,auto);align-items:center;gap:1rem;display:grid}.fb-groups-table__head{background:var(--color-background);color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;padding:.7rem 1.1rem;font-size:.72rem;font-weight:700}.fb-groups-table__row{border-top:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;min-height:4.4rem;padding:.85rem 1.1rem;transition:background .15s}.fb-groups-table__row:hover{background:var(--color-primary-soft)}.fb-groups-table__title{gap:.15rem;min-width:0;display:grid}.fb-groups-table__title strong{color:var(--color-primary-hover);font-size:.95rem}.fb-groups-table__title code{color:var(--color-muted);text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.fb-groups-table__desc{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.fb-groups-table__location,.fb-groups-table__count{color:var(--color-muted);font-size:.85rem}.fb-groups-table__actions{opacity:.8;justify-content:flex-end;gap:.5rem;display:flex}.fb-groups-table__row:hover .fb-groups-table__actions{opacity:1}.fb-row-action{color:var(--color-primary-hover);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.78rem}.fb-row-action:hover{text-decoration:underline}.fb-row-action.is-danger{color:var(--color-danger)}.fb-empty-groups{text-align:center;padding:3.5rem 1.25rem}.fb-empty-icon{color:var(--color-primary);margin-bottom:.6rem;display:inline-flex}.fb-empty-icon svg{width:2.75rem;height:2.75rem}.fb-empty-groups h4{margin:0 0 .35rem}.fb-empty-groups .btn{margin-top:1rem}.fb-editor__footer{justify-content:flex-end;margin-top:1.25rem}.fb-identity{align-items:flex-end;gap:1rem;display:flex}.fb-group-title{max-width:720px;min-height:2.6rem;font-size:1.1rem}.fb-identity__key{color:var(--color-muted);padding-bottom:.5rem;font-size:.8rem}.fb-tabs__list{border-bottom:1px solid var(--color-border);gap:.25rem;display:flex;overflow-x:auto}.fb-tabs__tab{color:var(--color-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.7rem .9rem;font-size:.86rem;font-weight:500;display:inline-flex;position:relative}.fb-tabs__tab:hover{color:var(--color-ink)}.fb-tabs__tab.is-active{color:var(--color-primary-hover);font-weight:600}.fb-tabs__tab.is-active:after{background:var(--color-primary);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:.4rem;right:.4rem}.fb-tabs__tab.is-disabled{opacity:.5;cursor:not-allowed}.fb-tabs__badge{border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);text-transform:uppercase;padding:.05rem .4rem;font-size:.66rem;font-weight:700}.fb-tabs__panel{padding-top:1.25rem}.fb-field-list{position:relative}.fb-sortable-list{display:grid}.fb-sortable-list--sub{border-left:3px solid var(--color-primary-soft);background:var(--color-background);margin-top:.5rem;padding-left:.75rem}.fb-sortable-empty{min-height:0}.fb-sortable-item{position:relative}.fb-sortable-item.is-dragging{opacity:.4}.fb-sortable-item.is-drop-target:before{z-index:3;background:var(--color-primary);content:"";border-radius:3px;height:3px;position:absolute;top:-1px;left:.25rem;right:.25rem}.fb-field-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:0}.fb-field-row:first-child{border-radius:.35rem .35rem 0 0}.fb-field-row:last-child{border-radius:0 0 .35rem .35rem}.fb-field-row+.fb-field-row{border-top:0}.fb-field-row.is-expanded{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);z-index:1}.fb-field-row__header{grid-template-columns:1.9rem 2.1rem minmax(160px,1.5fr) minmax(120px,1fr) minmax(120px,1fr) minmax(90px,.7fr) auto auto;align-items:center;min-height:3.9rem;display:grid}.fb-field-row__header:hover,.fb-field-row.is-expanded .fb-field-row__header{background:var(--color-primary-soft)}.fb-field-row__handle{width:1.9rem;color:var(--color-muted);cursor:grab;background:0 0;border:0;justify-content:center;align-self:stretch;align-items:center;display:flex}.fb-field-row__handle:hover{color:var(--color-primary-hover)}.fb-field-row__handle:active{cursor:grabbing}.fb-field-row__handle svg{width:1.05rem;height:1.05rem}.fb-field-row__toggle{cursor:pointer;text-align:left;color:var(--color-text);background:0 0;border:0;display:contents}.fb-field-row__order{background:var(--color-background);width:1.55rem;height:1.55rem;color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;margin-left:.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.fb-field-row__label{align-items:center;gap:.55rem;min-width:0;padding-left:.6rem;display:inline-flex}.fb-field-row__label strong{color:var(--color-primary-hover);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.fb-field-row__type-icon{width:1rem;height:1rem;color:var(--color-primary);flex:none}.fb-field-row__name,.fb-field-row__key{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.fb-field-row__type{color:var(--color-text);font-size:.8rem}.fb-field-row__actions{align-items:center;gap:.55rem;padding:0 .7rem;display:flex}.fb-field-row__chevron{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0 .6rem}.fb-field-row__chevron svg{width:1rem;height:1rem}.fb-field-row__body{border-top:1px solid var(--color-border);background:var(--color-surface);gap:1.25rem;padding:1.35rem;display:grid}.fb-settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.fb-setting{flex-direction:column;gap:.35rem;min-width:0;display:flex}.fb-setting--wide{grid-column:1/-1}.fb-setting--inline{flex-direction:row;align-items:center;gap:.6rem}.fb-setting__label{color:var(--color-text);font-size:.82rem;font-weight:600}.fb-setting__hint{color:var(--color-muted);font-size:.74rem}.fb-setting__hint code{background:var(--color-background);border-radius:var(--radius-sm);padding:0 .25rem}.fb-settings-grid textarea{resize:vertical}.fb-input-append-wrap{align-items:center;display:flex;position:relative}.fb-input-append-wrap .input{padding-right:2.2rem}.fb-append-suffix{color:var(--color-muted);pointer-events:none;font-size:.82rem;position:absolute;right:.65rem}.fb-switch{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.fb-checkbox-grid{flex-wrap:wrap;gap:.55rem 1.1rem;display:flex}.fb-checkbox{align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.fb-subfields{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);padding:1rem}.fb-subfields--layout{margin-top:.75rem}.fb-subfields__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.fb-subfields__header h5{margin:0}.fb-layouts{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);gap:.85rem;padding:1rem;display:grid}.fb-layout-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:.85rem;padding:.9rem;display:grid}.fb-layout-card__header{align-items:center;gap:.6rem;display:flex}.fb-layout-card__header strong{color:var(--color-primary-hover)}.fb-layout-card__display{color:var(--color-muted);margin-left:auto;font-size:.75rem}.fb-layout-card__settings{padding:.25rem 0}.fb-empty-fields{text-align:center;color:var(--color-muted);padding:1.5rem .5rem .35rem}.fb-list-footer{justify-content:flex-end;margin-top:.85rem;display:flex}.fb-add-field{border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary-hover);cursor:pointer;padding:.55rem .9rem;font-size:.85rem;font-weight:600}.fb-add-field:hover{background:var(--color-primary-soft)}.fb-rule-editor{gap:1rem;display:grid}.fb-rule-editor__toggle{cursor:pointer;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.fb-rule-groups{gap:.75rem;display:grid}.fb-rule-group{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);gap:.55rem;padding:.85rem;display:grid}.fb-rule-group__connector{color:var(--color-muted);text-align:center;font-size:.75rem;font-weight:700}.fb-rule-group__header{color:var(--color-text);font-size:.8rem;font-weight:700}.fb-rule-group__actions{align-items:center;gap:.6rem;margin-top:.2rem;display:flex}.fb-rule-group__and{color:var(--color-muted);font-size:.72rem}.fb-rule-row{grid-template-columns:minmax(160px,1.2fr) minmax(140px,.9fr) minmax(160px,1.2fr) auto;align-items:center;gap:.55rem;display:grid}.fb-rule-row__spacer{display:block}.fb-rule-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:0;font-size:1.1rem}.fb-rule-add-group{justify-self:start}.fb-modal-backdrop{z-index:1000;top:var(--admin-bar-h,46px);bottom:var(--admin-footer-h,48px);background:#0a0a0a80;place-items:center;padding:1rem;display:grid;position:fixed;left:0;right:0}.fb-browse-modal{border:1px solid var(--color-border);background:var(--color-surface);width:min(920px,100%);max-height:100%;box-shadow:var(--shadow-xl);border-radius:.55rem;grid-template-rows:auto auto auto 1fr auto;display:grid;overflow:hidden}.fb-browse-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.35rem;display:flex}.fb-browse-modal__header h3{color:var(--color-ink);margin:.15rem 0 0}.fb-browse-modal__search{padding:.9rem 1.35rem .5rem}.fb-browse-modal__search .input{max-width:380px}.fb-browse-modal__tabs{border-bottom:1px solid var(--color-border);gap:1.1rem;padding:0 1.35rem;display:flex;overflow-x:auto}.fb-browse-modal__tabs button{color:var(--color-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.6rem 0 .55rem;position:relative}.fb-browse-modal__tabs button.is-active{color:var(--color-primary-hover);font-weight:600}.fb-browse-modal__tabs button.is-active:after{background:var(--color-primary);content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0}.fb-browse-modal__body{grid-template-columns:minmax(0,1fr) 230px;min-height:300px;display:grid;overflow:auto}.fb-browse-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-content:start;gap:.75rem;padding:1.25rem;display:grid}.fb-browse-tile{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:108px;color:var(--color-text);text-align:center;cursor:pointer;place-items:center;gap:.35rem;padding:.8rem;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.fb-browse-tile:hover,.fb-browse-tile.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 1px var(--color-primary)}.fb-browse-tile__icon{border:1px solid var(--color-primary);width:2.1rem;height:2.1rem;color:var(--color-primary-hover);border-radius:.4rem;place-items:center;display:grid}.fb-browse-tile__icon svg{width:1.2rem;height:1.2rem}.fb-browse-tile small{color:var(--color-muted);font-size:.7rem}.fb-browse-preview{border-left:1px solid var(--color-border);background:var(--color-background);flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.5rem 1.25rem;display:flex}.fb-browse-preview__icon{border:1px solid var(--color-primary);width:2.5rem;height:2.5rem;color:var(--color-primary-hover);border-radius:.45rem;place-items:center;display:grid}.fb-browse-preview__icon svg{width:1.4rem;height:1.4rem}.fb-browse-preview h4{color:var(--color-ink);margin:0}.fb-browse-empty{text-align:center;grid-column:1/-1;padding:2rem}.fb-browse-modal__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.1rem 1.35rem;display:flex}.fb-browse-modal__label{flex:1;gap:.3rem;max-width:340px;display:grid}.fb-page-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.fb-page-header__main{flex-direction:column;gap:.35rem;display:flex}.fb-page-header__main .fb-eyebrow{margin-bottom:.25rem}.fb-page-header__main h1{color:var(--color-ink);margin:.3rem 0 0;font-size:clamp(1.4rem,2vw,1.85rem);font-weight:600}.fb-page-header__main p{margin:.35rem 0 0}.fb-page-header__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fb-page-header__toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-bottom:0;border-radius:.55rem .55rem 0 0;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.fb-toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.fb-toolbar__filter{align-items:center;gap:.6rem;display:flex}.fb-toolbar__filter>span{color:var(--color-muted);white-space:nowrap;font-size:.8rem;font-weight:600}.fb-toolbar__search{max-width:320px;margin-left:auto}.fb-page-content{flex:1 0 auto;min-width:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;overflow:hidden}.card--padded{padding:0}@media (width<=900px){.fb-groups-table__head{display:none}.fb-groups-table__row{grid-template-columns:1fr 1fr;gap:.55rem}.fb-groups-table__title,.fb-groups-table__actions{grid-column:1/-1}.fb-groups-table__actions{justify-content:flex-start}.fb-field-row__header{grid-template-columns:1.9rem 2.1rem minmax(0,1fr) auto auto}.fb-field-row__name,.fb-field-row__key,.fb-field-row__type{display:none}.fb-rule-row,.fb-browse-modal__body{grid-template-columns:1fr}.fb-browse-preview{display:none}.fb-browse-modal__footer{flex-direction:column;align-items:stretch}.fb-browse-modal__label{width:100%;max-width:none}.fb-list__header,.fb-editor__header,.fb-list__toolbar{flex-direction:column;align-items:stretch}.fb-list__search{max-width:none;margin-left:0}.fb-page-header__toolbar{flex-direction:column;align-items:stretch}.fb-toolbar__search{max-width:none;margin-left:0}}.fb-list__header-actions{align-items:center;gap:.5rem;display:flex}.fb-import-btn{display:inline-flex}.fb-import-btn input{opacity:0;width:0;height:0;position:absolute}.fb-btn-icon{vertical-align:middle;width:1rem;height:1rem;margin-right:.35rem;display:inline-flex}.fb-modal{border:1px solid var(--color-border);background:var(--color-surface);width:min(560px,100%);max-height:100%;box-shadow:var(--shadow-xl);border-radius:.55rem;flex-direction:column;display:flex;overflow:hidden}.fb-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.1rem 1.35rem;display:flex}.fb-modal__header h3{color:var(--color-ink);margin:0}.fb-modal__close{width:2rem;height:2rem;color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.fb-modal__close:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.fb-modal__body{min-height:0;padding:1.35rem;overflow-y:auto}.fb-import-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);min-height:140px;color:var(--color-text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;transition:border-color .15s,background .15s;display:flex}.fb-import-dropzone:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.fb-dropzone-icon{width:3rem;height:3rem;color:var(--color-primary)}.fb-import-hint{text-align:center;margin-top:.5rem;font-size:.8rem}.fb-modal__footer{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:.5rem;padding:1rem 1.35rem;display:flex}
@@ -1,4 +1,4 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,p as f,s as p}from"./web.DD6VKaIp.js";import{n as m}from"./i18n.DnYRsWBJ.js";import{n as h}from"./api.53l1ob4Z.js";var g=o(`<div class="notice notice--error">`),_=o(`<div class=card><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),v=o(`<div class=comments-manager><!$><!/><div class=comments-tabs role=tablist><!$><!/><button type=button class="btn btn-secondary btn-sm comments-reload"></button></div><!$><!/><style>
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,p as f,s as p}from"./web.DD6VKaIp.js";import{n as m}from"./i18n.BFBHzd3w.js";import{n as h}from"./api.53l1ob4Z.js";var g=o(`<div class="notice notice--error">`),_=o(`<div class=card><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),v=o(`<div class=comments-manager><!$><!/><div class=comments-tabs role=tablist><!$><!/><button type=button class="btn btn-secondary btn-sm comments-reload"></button></div><!$><!/><style>
2
2
  .comments-tabs { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; flex-wrap: wrap; }
3
3
  .comments-tab {
4
4
  display: inline-flex; align-items: center; gap: 0.4rem;
@@ -0,0 +1 @@
1
+ import{S as e,a as t,f as n,h as r,l as i,p as a,r as o}from"./solid.Ck4Vtfe4.js";import{_ as s,a as c,f as l,l as u,m as d,o as f,p,s as m,u as h}from"./web.DD6VKaIp.js";import{n as g}from"./i18n.BFBHzd3w.js";import{n as _}from"./api.53l1ob4Z.js";import{n as v,r as y,t as b}from"./FieldRenderer.BjnbGFPe.js";import{c as x,n as S,o as C,t as w}from"./store.DLCqLxBR.js";var ee=s(`<div class="notice notice--success">`),te=s(`<input class=classic-editor__title required>`),ne=s(`<div class=classic-editor__toolbar role=toolbar><select class=input value><option value></option><option value="<h1>"></option><option value="<h2>"></option><option value="<h3>"></option><option value="<h4>"></option><option value="<blockquote>"></option><option value="<pre>"></option></select><span class=classic-editor__toolbar-divider></span><button type=button><strong></strong></button><button type=button><em></em></button><button type=button><u></u></button><span class=classic-editor__toolbar-divider></span><button type=button></button><button type=button></button><button type=button>`),re=s(`<div class=classic-editor__body data-classic-editor role=textbox aria-multiline=true>`),ie=s(`<div class="plugin-editor plugin-editor--below">`),ae=s(`<label class=classic-editor__excerpt><span></span><textarea class=input rows=4>`),oe=s(`<section class="card custom-fields"><h3></h3><!$><!/>`),se=s(`<section class="card classic-editor__panel"><h3></h3><input class=input><p class=muted>`),ce=s(`<section class="card classic-editor__panel"><h3></h3><label><!$><!/><select class=input><option value></option><!$><!/>`),le=s(`<form class="content-editor classic-editor"><!$><!/><!$><!/><div class=classic-editor__topbar><div><span class=classic-editor__eyebrow></span><h2></h2></div><div class=classic-editor__actions><a class="btn btn-secondary"></a><button type=submit class="btn btn-primary"></button></div></div><div class=classic-editor__columns><main class=classic-editor__main><section class="card classic-editor__canvas-card"><!$><!/><div class=classic-editor__permalink><span><!$><!/>:</span><input class=input></div><!$><!/><!$><!/><!$><!/></section><!$><!/><!$><!/></main><aside class=classic-editor__sidebar><section class="card classic-editor__panel"><h3></h3><label><!$><!/><select class=input><option value=DRAFT></option><option value=PUBLISHED></option><option value=ARCHIVED></option></select></label><button type=submit class="btn btn-primary classic-editor__full-button"></button></section><!$><!/><!$><!/><!$><!/></aside></div><!$><!/>`),ue=s(`<div class="notice notice--error">`),de=s(`<div class=plugin-editor>`),fe=s(`<option>`);function T(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e;return t.content===void 0&&typeof t.html==`string`&&(t.content=t.html),t}if(typeof e==`string`)try{let t=JSON.parse(e);if(typeof t==`object`&&t&&!Array.isArray(t)){let e=t;return e.content===void 0&&typeof e.html==`string`&&(e.content=e.html),e}}catch{}return{}}function E(s){let{t:c}=g(),[E,D]=r([]),[O,k]=r([]),[A,j]=r([]),[M,N]=r({}),[pe,P]=r([]),[F,I]=r(!1),[L,R]=r(``),[z,B]=r(w()),[V,H]=r({type:s.initialType||`post`,title:``,status:`DRAFT`}),U=()=>new Set(E().find(e=>e.slug===V().type)?.supports??[`title`,`editor`]),W=e=>U().has(e),G=n(()=>{let e=V().type;return(z().editors??[]).filter(t=>t.screens.includes(`*`)||t.screens.includes(e)).sort((e,t)=>(e.priority??0)-(t.priority??0))[0]??null}),me=()=>({editorId:G().id,contentType:V().type,contentId:V().id??``,body:J(),setBody:e=>N({...M(),content:e}),disabled:F()}),K=(e,t)=>t||e[0]?.slug||`post`,he=()=>{let e=new Set;for(let t of A())for(let n of t.manifest?.provides?.layouts??[])e.add(n);return[...e].sort()},q=async e=>{try{let t=typeof e==`string`?{type:e}:e,n=await _.getFieldGroups(t.type?t:void 0),r=await Promise.all(n.filter(e=>e.active).map(async e=>(await _.getFieldGroup(e.id)).fields??[]));k(y(r.flat()))}catch(e){P([e instanceof Error?e.message:String(e)])}};e(async()=>{S().then(B);let e=[];try{let[t,n]=await Promise.all([_.getContentTypes(),_.getThemes().catch(()=>[])]);e=t,D(t),j(n)}catch(e){P([e instanceof Error?e.message:String(e)])}let t=new URLSearchParams(window.location.search).get(`id`);if(t||s.singleton)try{let e=t?await _.getContentById(t):await _.getSingletonContent(V().type);if(!e){await q({type:V().type,status:V().status});return}let n=e;H({id:e.id,type:e.type,title:e.title,slug:e.slug,excerpt:e.excerpt,featuredImageId:n.featuredImageId??n.featured_image_id,status:e.status,layout:e.layout}),N(T(e.body))}catch(e){P([e instanceof Error?e.message:String(e)])}else e.some(e=>e.slug===V().type)||H({...V(),type:K(e,s.initialType)});await q({type:V().type,slug:V().slug,status:V().status})});let J=()=>{let e=M().content;return typeof e==`string`?e:``},ge=e=>{N({...M(),content:e.innerHTML})},Y=(e,t)=>{document.execCommand(e,!1,t);let n=document.querySelector(`[data-classic-editor]`);n&&ge(n)},_e=async e=>{e.preventDefault(),R(``),P([]),I(!0);try{let e=v(J()),t=M(),n={...t,content:e};`html`in t&&(n.html=e);let r={...V(),layout:V().layout||null,body:n,...W(`excerpt`)?{}:{excerpt:void 0},...W(`thumbnail`)?{}:{featuredImageId:void 0}},i=V().id?await _.updateContent(V().id,r):await _.createContent(r);H({...V(),id:i.id}),R(c(`content.editor.saved`))}catch(e){P([e instanceof Error?e.message:String(e)])}finally{I(!1)}};return(()=>{var e=f(le),n=e.firstChild,[r,s]=m(n.nextSibling),g=r.nextSibling,[_,y]=m(g.nextSibling),S=_.nextSibling,w=S.firstChild,T=w.firstChild,D=T.nextSibling,k=w.nextSibling.firstChild,A=k.nextSibling,j=S.nextSibling,P=j.firstChild,I=P.firstChild,R=I.firstChild,[B,U]=m(R.nextSibling),K=B.nextSibling,q=K.firstChild,ve=q.firstChild,[ye,be]=m(ve.nextSibling);ye.nextSibling;var X=q.nextSibling,xe=K.nextSibling,[Se,Ce]=m(xe.nextSibling),we=Se.nextSibling,[Te,Ee]=m(we.nextSibling),De=Te.nextSibling,[Oe,ke]=m(De.nextSibling),Ae=I.nextSibling,[je,Me]=m(Ae.nextSibling),Ne=je.nextSibling,[Pe,Fe]=m(Ne.nextSibling),Z=P.nextSibling,Ie=Z.firstChild,Le=Ie.firstChild,Q=Le.nextSibling,Re=Q.firstChild,[ze,Be]=m(Re.nextSibling),$=ze.nextSibling,Ve=$.firstChild,He=Ve.nextSibling,Ue=He.nextSibling,We=Q.nextSibling,Ge=Ie.nextSibling,[Ke,qe]=m(Ge.nextSibling),Je=Ke.nextSibling,[Ye,Xe]=m(Je.nextSibling),Ze=Ye.nextSibling,[Qe,$e]=m(Ze.nextSibling),et=j.nextSibling,[tt,nt]=m(et.nextSibling);return e.addEventListener(`submit`,_e),u(e,i(t,{get when(){return pe().length>0},get children(){return i(o,{get each(){return pe()},children:e=>(()=>{var t=f(ue);return u(t,e),t})()})}}),r,s),u(e,i(t,{get when(){return L()},get children(){var e=f(ee);return u(e,L),e}}),_,y),u(T,()=>E().find(e=>e.slug===V().type)?.singularLabel||V().type),u(D,(()=>{var e=h(()=>!!V().id);return()=>e()?c(`content.editor.editing`):c(`content.editor.adding`)})()),u(k,()=>c(`content.editor.backToList`)),u(A,(()=>{var e=h(()=>!!F());return()=>e()?c(`content.editor.saving`):c(`content.editor.save`)})()),u(I,i(t,{get when(){return W(`title`)},get children(){var e=f(te);return e.$$input=e=>H({...V(),title:e.currentTarget.value}),a(t=>{var n=c(`content.editor.title`),r=c(`content.editor.titlePlaceholder`);return n!==t.e&&p(e,`aria-label`,t.e=n),r!==t.t&&p(e,`placeholder`,t.t=r),t},{e:void 0,t:void 0}),a(()=>d(e,`value`,V().title)),l(),e}}),B,U),u(q,()=>c(`content.editor.slug`),ye,be),X.$$input=e=>H({...V(),slug:e.currentTarget.value}),u(I,i(t,{get when(){return W(`editor`)},get children(){return i(t,{get when(){return G()?.mode!==`replace-body`},get fallback(){return(()=>{var e=f(de);return u(e,i(x,{get componentId(){return G().componentId},get extraProps(){return me()}})),a(()=>p(e,`data-plugin-editor`,G().id)),e})()},get children(){return[(()=>{var e=f(ne),t=e.firstChild,n=t.firstChild,r=n.nextSibling,i=r.nextSibling,o=i.nextSibling,s=o.nextSibling,d=s.nextSibling,m=d.nextSibling,h=t.nextSibling.nextSibling,g=h.firstChild,_=h.nextSibling,v=_.firstChild,y=_.nextSibling,b=y.firstChild,x=y.nextSibling.nextSibling,S=x.nextSibling,C=S.nextSibling;return t.addEventListener(`change`,e=>Y(`formatBlock`,e.currentTarget.value)),u(n,()=>c(`content.editor.formatParagraph`)),u(r,()=>c(`content.editor.formatH1`)),u(i,()=>c(`content.editor.formatH2`)),u(o,()=>c(`content.editor.formatH3`)),u(s,()=>c(`content.editor.formatH4`)),u(d,()=>c(`content.editor.formatBlockquote`)),u(m,()=>c(`content.editor.formatCode`)),h.$$click=()=>Y(`bold`),u(g,()=>c(`content.editor.bold`)),_.$$click=()=>Y(`italic`),u(v,()=>c(`content.editor.italic`)),y.$$click=()=>Y(`underline`),u(b,()=>c(`content.editor.underline`)),x.$$click=()=>Y(`insertUnorderedList`),u(x,()=>c(`content.editor.bulletList`)),S.$$click=()=>Y(`insertOrderedList`),u(S,()=>c(`content.editor.numberedList`)),C.$$click=()=>Y(`createLink`,window.prompt(c(`content.editor.linkPrompt`))||``),u(C,()=>c(`content.editor.link`)),a(n=>{var r=c(`content.editor.toolbar`),i=c(`content.editor.format`);return r!==n.e&&p(e,`aria-label`,n.e=r),i!==n.t&&p(t,`aria-label`,n.t=i),n},{e:void 0,t:void 0}),l(),e})(),(()=>{var e=f(re);return e.$$input=e=>ge(e.currentTarget),p(e,`contenteditable`,!0),a(t=>{var n=c(`content.editor.bodyPlaceholder`),r=v(J());return n!==t.e&&p(e,`data-placeholder`,t.e=n),r!==t.t&&d(e,`innerHTML`,t.t=r),t},{e:void 0,t:void 0}),l(),e})()]}})}}),Se,Ce),u(I,i(t,{get when(){return G()?.mode===`below`},get children(){var e=f(ie);return u(e,i(x,{get componentId(){return G().componentId},get extraProps(){return me()}})),a(()=>p(e,`data-plugin-editor`,G().id)),e}}),Te,Ee),u(I,i(t,{get when(){return W(`excerpt`)},get children(){var e=f(ae),t=e.firstChild,n=t.nextSibling;return u(t,()=>c(`content.editor.excerpt`)),n.$$input=e=>H({...V(),excerpt:e.currentTarget.value}),a(()=>d(n,`value`,V().excerpt??``)),l(),e}}),Oe,ke),u(P,i(t,{get when(){return O().length>0},get children(){var e=f(oe),t=e.firstChild,n=t.nextSibling,[r,a]=m(n.nextSibling);return u(t,()=>c(`content.editor.customFields`)),u(e,i(o,{get each(){return O()},children:e=>i(b,{field:e,get values(){return M()},onChange:(e,t)=>N({...M(),[e]:t}),t:c})}),r,a),e}}),je,Me),u(P,i(C,{get extensions(){return z()},get screen(){return V().type},context:`normal`}),Pe,Fe),u(Le,()=>c(`content.editor.publishPanel`)),u(Q,()=>c(`content.editor.status`),ze,Be),$.addEventListener(`change`,e=>H({...V(),status:e.currentTarget.value})),u(Ve,()=>c(`content.editor.statusOptions.draft`)),u(He,()=>c(`content.editor.statusOptions.published`)),u(Ue,()=>c(`content.editor.statusOptions.archived`)),u(We,(()=>{var e=h(()=>!!F());return()=>e()?c(`content.editor.saving`):c(`content.editor.save`)})()),u(Z,i(t,{get when(){return W(`thumbnail`)},get children(){var e=f(se),t=e.firstChild,n=t.nextSibling,r=n.nextSibling;return u(t,()=>c(`content.editor.featuredImage`)),n.$$input=e=>H({...V(),featuredImageId:e.currentTarget.value}),u(r,()=>c(`content.editor.featuredImageHint`)),a(()=>p(n,`placeholder`,c(`content.editor.mediaIdPlaceholder`))),a(()=>d(n,`value`,V().featuredImageId??``)),l(),e}}),Ke,qe),u(Z,i(t,{get when(){return he().length>0},get children(){var e=f(ce),t=e.firstChild,n=t.nextSibling,r=n.firstChild,[s,l]=m(r.nextSibling),p=s.nextSibling,h=p.firstChild,g=h.nextSibling,[_,v]=m(g.nextSibling);return u(t,()=>c(`content.editor.pageAttributes`)),u(n,()=>c(`content.editor.layout`),s,l),p.addEventListener(`change`,e=>H({...V(),layout:e.currentTarget.value||null})),u(h,()=>c(`content.editor.layoutAuto`)),u(p,i(o,{get each(){return he()},children:e=>(()=>{var t=f(fe);return d(t,`value`,e),u(t,e),t})()}),_,v),a(()=>d(p,`value`,V().layout??``)),e}}),Ye,Xe),u(Z,i(C,{get extensions(){return z()},get screen(){return V().type},context:`side`}),Qe,$e),u(e,i(C,{get extensions(){return z()},get screen(){return V().type},context:`advanced`}),tt,nt),a(e=>{var t=`/content/${encodeURIComponent(V().type)}`,n=F(),r=c(`content.editor.slugPlaceholder`),i=F();return t!==e.e&&p(k,`href`,e.e=t),n!==e.t&&d(A,`disabled`,e.t=n),r!==e.a&&p(X,`placeholder`,e.a=r),i!==e.o&&d(We,`disabled`,e.o=i),e},{e:void 0,t:void 0,a:void 0,o:void 0}),a(()=>d(X,`value`,V().slug??``)),a(()=>d($,`value`,V().status)),l(),e})()}c([`input`,`click`]);export{E as ContentEditor};
@@ -0,0 +1 @@
1
+ import{S as e,a as t,f as n,h as r,l as i,p as a}from"./solid.Ck4Vtfe4.js";import{_ as o,l as s,o as c,p as l,s as u,u as d}from"./web.DD6VKaIp.js";import{n as f}from"./i18n.BFBHzd3w.js";import{n as p}from"./api.53l1ob4Z.js";import{c as m,i as h,n as g,o as _,r as ee,s as te,t as v}from"./src.CYKGYEyR.js";import{c as y,n as b,r as x,t as S}from"./store.DLCqLxBR.js";import{ContentEditor as C}from"./ContentEditor.C0RpyhzW.js";var w=o(`<span class=muted>—`),T=o(`<span class=muted>`),E=o(`<span>`),D=o(`<div class=users-table__actions><a class="btn btn-secondary btn-sm"></a><!$><!/><!$><!/>`),ne=o(`<div class="notice notice--error">`),re=o(`<div class=notice>`),ie=o(`<div class=content-list><div class=content-list__heading><div><h2></h2><p class=muted></p></div><a class="btn btn-primary"></a></div><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><!$><!/></div><!$><!/><!$><!/>`);function O(e){return e}function k(e){let t=O(e).updated_at??O(e).updatedAt??O(e).created_at;if(typeof t!=`string`)return`—`;let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`pt-BR`)}function A(o){let{t:d}=f(),[C,A]=r([]),[j,M]=r([]),[N,P]=r(0),[F,I]=r(1),[L,R]=r(``),[z]=r(o.contentType),[B,V]=r(``),[H,U]=r(``),[W,G]=r(``),[K,q]=r(``),[J,Y]=r(S()),X=async()=>{try{let e=await p.getContent({page:F(),limit:20,type:z()||void 0,status:B()||void 0,search:L()||void 0});A(e.data??[]),P(e.total??0)}catch(e){U(e instanceof Error?e.message:String(e))}};e(async()=>{b().then(Y);let e=new URLSearchParams(window.location.search);V(e.get(`status`)??``),R(e.get(`search`)??``),await X();try{M(await p.getContentTypes())}catch{}});let Z=n(()=>j().find(e=>e.slug===z())),ae=n(()=>Z()?.pluralLabel||d(`content.list.title`)),oe=n(()=>`/content/${encodeURIComponent(z())}/new`),Q=async()=>{I(1),await X()},$=async e=>{let t=O(e).status===`PUBLISHED`;q(e.id),U(``),G(``);try{await p.publishToggle(e.id,t),G(d(t?`content.list.toasts.unpublished`:`content.list.toasts.published`)),await X()}catch(e){U(e instanceof Error?e.message:String(e))}finally{q(``)}},se=async e=>{let t=String(O(e).title??e.id);if(confirm(d(`content.list.confirmDelete`,{title:t})))try{await p.deleteContent(e.id),await X()}catch(e){U(e instanceof Error?e.message:String(e))}},ce=n(()=>{let e=J().columns[z()]??[],t=J().columnRenderers[z()]??{},n=e=>({key:e.key,label:e.label,render:(n,r)=>{let a=t[e.key];if(a){let e=a.split(`:`)[0]??``;return i(y,{componentId:a,plugin:e,extraProps:{row:r}})}let o=r[e.key];return o==null?c(w):typeof o==`object`?(()=>{var e=c(T);return s(e,()=>JSON.stringify(o)),e})():(()=>{var e=c(E);return s(e,()=>String(o)),e})()}}),r=e.filter(e=>e.position===`before_title`).map(n),o=e.filter(e=>e.position===`after_title`).map(n),f=e.filter(e=>!e.position).map(n),p=e.filter(e=>e.position===`end`).map(n),m=[{key:`title`,label:d(`content.list.columns.title`)},{key:`type`,label:d(`content.list.columns.type`)},{key:`status`,label:d(`content.list.columns.status`),render:(e,t)=>{let n=String(t.status??``);return i(v,{variant:n===`PUBLISHED`?`success`:n===`ARCHIVED`?`warning`:`secondary`,children:n})}},{key:`updated_at`,label:d(`content.list.columns.updated`),render:(e,t)=>(()=>{var e=c(T);return s(e,()=>k(t)),e})()},{key:`actions`,label:``,render:(e,t)=>{let n=t,r=O(n).status===`PUBLISHED`;return(()=>{var e=c(D),t=e.firstChild,o=t.nextSibling,[f,p]=u(o.nextSibling),m=f.nextSibling,[h,_]=u(m.nextSibling);return s(t,()=>d(`content.list.actions.edit`)),s(e,i(g,{variant:r?`secondary`:`primary`,size:`sm`,get loading(){return K()===n.id},onClick:()=>void $(n),get children(){return d(r?`content.list.actions.unpublish`:`content.list.actions.publish`)}}),f,p),s(e,i(g,{variant:`danger`,size:`sm`,onClick:()=>void se(n),get children(){return d(`content.list.actions.delete`)}}),h,_),a(()=>l(t,`href`,`/content/${encodeURIComponent(n.type||z())}/edit?id=${encodeURIComponent(n.id)}`)),e})()}}];return[...r,m[0],...o,m[1],m[2],m[3],...f,m[4],...p]});return(()=>{var e=c(ie),n=e.firstChild,r=n.firstChild,o=r.firstChild,f=o.nextSibling,p=r.nextSibling,v=n.nextSibling,[y,b]=u(v.nextSibling),S=y.nextSibling,[w,T]=u(S.nextSibling),E=w.nextSibling,D=E.firstChild,[O,k]=u(D.nextSibling),A=O.nextSibling,[j,M]=u(A.nextSibling),P=j.nextSibling,[z,U]=u(P.nextSibling),G=E.nextSibling,[K,q]=u(G.nextSibling),Y=K.nextSibling,[Z,$]=u(Y.nextSibling);return s(o,ae),s(f,()=>d(`content.list.description`)),s(p,()=>d(`content.list.buttons.addNew`)),s(e,i(t,{get when(){return H()},get children(){var e=c(ne);return s(e,H),e}}),y,b),s(e,i(t,{get when(){return W()},get children(){var e=c(re);return s(e,W),e}}),w,T),s(E,i(h,{name:`search`,get placeholder(){return d(`content.list.filters.search`)},get value(){return L()},onInput:e=>{R(e),Q()}}),O,k),s(E,i(te,{name:`status`,get placeholder(){return d(`content.list.filters.allStatus`)},get value(){return B()},get options(){return[{value:`DRAFT`,label:d(`content.list.statuses.draft`)},{value:`PUBLISHED`,label:d(`content.list.statuses.published`)},{value:`ARCHIVED`,label:d(`content.list.statuses.archived`)}]},onChange:e=>{V(e),Q()}}),j,M),s(E,i(g,{variant:`secondary`,onClick:()=>void Q(),get children(){return d(`content.list.buttons.search`)}}),z,U),s(e,i(x,{get extensions(){return J()}}),K,q),s(e,i(ee,{get children(){return[i(m,{get columns(){return ce()},get data(){return C()},get emptyMessage(){return d(`content.list.empty`)}}),i(_,{get page(){return F()},limit:20,get total(){return N()},onPageChange:e=>{I(e),X()}})]}}),Z,$),a(()=>l(p,`href`,oe())),e})()}var j=o(`<div class="notice notice--error">`),M=o(`<div class=card>`);function N(n){let{t:a}=f(),[o,l]=r(null),[u,m]=r(``);return e(async()=>{try{let e=(await p.getContentTypes()).find(e=>e.slug===n.contentType);if(!e){m(a(`content.list.typeNotFound`));return}l(e)}catch(e){m(e instanceof Error?e.message:String(e))}}),i(t,{get when(){return o()},get fallback(){return d(()=>!!u())()?(()=>{var e=c(j);return s(e,u),e})():(()=>{var e=c(M);return s(e,()=>a(`common.loading`)),e})()},children:e=>i(t,{get when(){return e().singleton},get fallback(){return i(A,{get contentType(){return e().slug}})},get children(){return i(C,{get initialType(){return e().slug},singleton:!0})}})})}export{N as ContentTypeWorkspace};
@@ -1 +1 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,l as s,o as c,p as l,s as u}from"./web.DD6VKaIp.js";import{n as d}from"./i18n.DnYRsWBJ.js";import{n as f}from"./api.53l1ob4Z.js";var p=o(`<div class="notice notice--error">`),m=o(`<table class=table><thead><tr><th></th><th></th><th></th><th></th></tr></thead><tbody>`),h=o(`<div class=dashboard-home><!$><!/><div class=stats-grid><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div></div><div class=card><div class=card-header><h3></h3><a href=/content/post class="btn btn-secondary btn-sm"></a></div><!$><!/>`),g=o(`<p class=muted>`),_=o(`<tr><td><a></a></td><td></td><td></td><td class=muted>`);function v(e){return e}function y(e){let t=v(e).updated_at??v(e).updatedAt??v(e).created_at;if(typeof t!=`string`)return`—`;let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`pt-BR`)}function b(){let{t:o}=d(),[b,x]=n({total:`—`,published:`—`,drafts:`—`,media:`—`,users:`—`}),[S,C]=n([]),[w,T]=n(``);return e(async()=>{let[e,t,n,r,i,a]=await Promise.allSettled([f.getContent({limit:1}),f.getContent({limit:1,status:`PUBLISHED`}),f.getContent({limit:1,status:`DRAFT`}),f.listMedia({limit:1}),f.listUsers({limit:1}),f.getContent({limit:5})]),o=e=>e.status===`fulfilled`?String(e.value.total):`?`;x({total:o(e),published:o(t),drafts:o(n),media:o(r),users:o(i)}),a.status===`fulfilled`?C(a.value.data??[]):T(a.reason instanceof Error?a.reason.message:String(a.reason))}),(()=>{var e=c(h),n=e.firstChild,[d,f]=u(n.nextSibling),x=d.nextSibling,C=x.firstChild,T=C.firstChild,E=T.nextSibling,D=C.nextSibling,O=D.firstChild,k=O.nextSibling,A=D.nextSibling,j=A.firstChild,M=j.nextSibling,N=A.nextSibling,P=N.firstChild,F=P.nextSibling,I=N.nextSibling.firstChild,L=I.nextSibling,R=x.nextSibling,z=R.firstChild,B=z.firstChild,V=B.nextSibling,H=z.nextSibling,[U,W]=u(H.nextSibling);return s(e,r(t,{get when(){return w()},get children(){var e=c(p);return s(e,w),e}}),d,f),s(T,()=>o(`dashboard.stats.totalContent`)),s(E,()=>b().total),s(O,()=>o(`dashboard.stats.published`)),s(k,()=>b().published),s(j,()=>o(`dashboard.stats.drafts`)),s(M,()=>b().drafts),s(P,()=>o(`dashboard.stats.mediaFiles`)),s(F,()=>b().media),s(I,()=>o(`dashboard.stats.users`)),s(L,()=>b().users),s(B,()=>o(`dashboard.recent.title`)),s(V,()=>o(`dashboard.recent.viewAll`)),s(R,r(t,{get when(){return S().length>0},get fallback(){return(()=>{var e=c(g);return s(e,()=>o(`dashboard.recent.empty`)),e})()},get children(){var e=c(m),t=e.firstChild,n=t.firstChild.firstChild,u=n.nextSibling,d=u.nextSibling,f=d.nextSibling,p=t.nextSibling;return s(n,()=>o(`dashboard.recent.columns.title`)),s(u,()=>o(`dashboard.recent.columns.type`)),s(d,()=>o(`dashboard.recent.columns.status`)),s(f,()=>o(`dashboard.recent.columns.updated`)),s(p,r(a,{get each(){return S()},children:e=>(()=>{var t=c(_),n=t.firstChild,r=n.firstChild,a=n.nextSibling,o=a.nextSibling,u=o.nextSibling;return s(r,()=>String(v(e).title??`—`)),s(a,()=>String(v(e).type??`—`)),s(o,()=>String(v(e).status??`—`)),s(u,()=>y(e)),i(()=>l(r,`href`,`/content/${encodeURIComponent(String(v(e).type??`post`))}/edit?id=${encodeURIComponent(String(v(e).id??``))}`)),t})()})),e}}),U,W),e})()}export{b as DashboardHome};
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,l as s,o as c,p as l,s as u}from"./web.DD6VKaIp.js";import{n as d}from"./i18n.BFBHzd3w.js";import{n as f}from"./api.53l1ob4Z.js";var p=o(`<div class="notice notice--error">`),m=o(`<table class=table><thead><tr><th></th><th></th><th></th><th></th></tr></thead><tbody>`),h=o(`<div class=dashboard-home><!$><!/><div class=stats-grid><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div></div><div class=card><div class=card-header><h3></h3><a href=/content/post class="btn btn-secondary btn-sm"></a></div><!$><!/>`),g=o(`<p class=muted>`),_=o(`<tr><td><a></a></td><td></td><td></td><td class=muted>`);function v(e){return e}function y(e){let t=v(e).updated_at??v(e).updatedAt??v(e).created_at;if(typeof t!=`string`)return`—`;let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`pt-BR`)}function b(){let{t:o}=d(),[b,x]=n({total:`—`,published:`—`,drafts:`—`,media:`—`,users:`—`}),[S,C]=n([]),[w,T]=n(``);return e(async()=>{let[e,t,n,r,i,a]=await Promise.allSettled([f.getContent({limit:1}),f.getContent({limit:1,status:`PUBLISHED`}),f.getContent({limit:1,status:`DRAFT`}),f.listMedia({limit:1}),f.listUsers({limit:1}),f.getContent({limit:5})]),o=e=>e.status===`fulfilled`?String(e.value.total):`?`;x({total:o(e),published:o(t),drafts:o(n),media:o(r),users:o(i)}),a.status===`fulfilled`?C(a.value.data??[]):T(a.reason instanceof Error?a.reason.message:String(a.reason))}),(()=>{var e=c(h),n=e.firstChild,[d,f]=u(n.nextSibling),x=d.nextSibling,C=x.firstChild,T=C.firstChild,E=T.nextSibling,D=C.nextSibling,O=D.firstChild,k=O.nextSibling,A=D.nextSibling,j=A.firstChild,M=j.nextSibling,N=A.nextSibling,P=N.firstChild,F=P.nextSibling,I=N.nextSibling.firstChild,L=I.nextSibling,R=x.nextSibling,z=R.firstChild,B=z.firstChild,V=B.nextSibling,H=z.nextSibling,[U,W]=u(H.nextSibling);return s(e,r(t,{get when(){return w()},get children(){var e=c(p);return s(e,w),e}}),d,f),s(T,()=>o(`dashboard.stats.totalContent`)),s(E,()=>b().total),s(O,()=>o(`dashboard.stats.published`)),s(k,()=>b().published),s(j,()=>o(`dashboard.stats.drafts`)),s(M,()=>b().drafts),s(P,()=>o(`dashboard.stats.mediaFiles`)),s(F,()=>b().media),s(I,()=>o(`dashboard.stats.users`)),s(L,()=>b().users),s(B,()=>o(`dashboard.recent.title`)),s(V,()=>o(`dashboard.recent.viewAll`)),s(R,r(t,{get when(){return S().length>0},get fallback(){return(()=>{var e=c(g);return s(e,()=>o(`dashboard.recent.empty`)),e})()},get children(){var e=c(m),t=e.firstChild,n=t.firstChild.firstChild,u=n.nextSibling,d=u.nextSibling,f=d.nextSibling,p=t.nextSibling;return s(n,()=>o(`dashboard.recent.columns.title`)),s(u,()=>o(`dashboard.recent.columns.type`)),s(d,()=>o(`dashboard.recent.columns.status`)),s(f,()=>o(`dashboard.recent.columns.updated`)),s(p,r(a,{get each(){return S()},children:e=>(()=>{var t=c(_),n=t.firstChild,r=n.firstChild,a=n.nextSibling,o=a.nextSibling,u=o.nextSibling;return s(r,()=>String(v(e).title??`—`)),s(a,()=>String(v(e).type??`—`)),s(o,()=>String(v(e).status??`—`)),s(u,()=>y(e)),i(()=>l(r,`href`,`/content/${encodeURIComponent(String(v(e).type??`post`))}/edit?id=${encodeURIComponent(String(v(e).id??``))}`)),t})()})),e}}),U,W),e})()}export{b as DashboardHome};
@@ -1 +1 @@
1
- import{t as e}from"./i18n.DnYRsWBJ.js";import{n as t,t as n}from"./api.53l1ob4Z.js";import{t as r}from"./lucide.s17cczpi.js";import{t as i}from"./iconsAndAliases.ujTnkhnl.js";(async()=>{let e=document.querySelector(`.layout`)?.dataset.sessionState??`unavailable`;if(e!==`authenticated`){if(e===`anonymous`){window.location.replace(`/login`);return}await t.checkSession()===`unauthenticated`&&window.location.replace(`/login`)}})(),t.installProactiveRefresh(),t.ensureFreshSession();var a=null,o=null,s=e=>{a||(a=document.createElement(`div`),a.className=`okcms-rate-limit-notice`,a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),document.body.append(a)),o&&(a.textContent=e?o(`rateLimit.noticeRetry`,{seconds:e}):o(`rateLimit.notice`)),a.classList.add(`visible`),setTimeout(()=>a?.classList.remove(`visible`),Math.min(1e4,(e??5)*1e3+4e3))};window.addEventListener(n,e=>{s(e.detail?.retryAfter??null)}),(async()=>{try{let t=document.documentElement.lang||`en`;o=await e(t)}catch{}})();try{localStorage.getItem(`sidebar-collapsed`)===`true`&&document.body.classList.add(`sidebar-collapsed`)}catch{}var c=()=>{document.querySelectorAll(`[data-nav-group]`).forEach(e=>{let t=e.querySelector(`:scope > .nav-group-header .nav-group-toggle`);t&&t.dataset.bound!==`true`&&(t.dataset.bound=`true`,t.addEventListener(`click`,()=>{let n=!e.classList.contains(`open`);e.classList.toggle(`open`,n),t.setAttribute(`aria-expanded`,String(n))}))})},l=(e,t,n=`nav-item`,r)=>{let i=document.createElement(`a`);return i.className=n,i.href=t,i.textContent=e,r&&(i.dataset.sidebarI18n=r),i},u=async()=>{let e=document.querySelector(`[data-post-types-menu]`);if(e)try{let[n,a]=await Promise.all([t.getContentTypes(),t.getTaxonomies().catch(()=>[])]);e.replaceChildren();let o=new URLSearchParams(window.location.search);for(let t of n){let n=document.createElement(`div`);n.className=`nav-type-entry`;let r=document.createElement(`div`);r.className=`nav-type-row`;let i=l(t.pluralLabel||t.name,`/content/${encodeURIComponent(t.slug)}`,`nav-item nav-type-link`);i.classList.toggle(`active`,window.location.pathname.startsWith(`/content/${t.slug}`));let s=document.createElement(`i`);s.dataset.lucide=t.menuIcon||`box`,s.className=`nav-type-icon`,s.setAttribute(`aria-hidden`,`true`),i.prepend(s),r.append(i);let c=a.filter(e=>e.attachTo?.includes(t.slug));if(n.append(r),c.length>0){let e=document.createElement(`div`);e.className=`nav-taxonomy-menu`;let r=o.get(`type`)===t.slug||window.location.pathname.startsWith(`/content/${t.slug}`);i.classList.add(`has-taxonomies`);let a=t=>{e.classList.toggle(`open`,t),i.classList.toggle(`is-expanded`,t)};a(r),i.addEventListener(`click`,()=>a(!0));for(let n of c){let r=l(n.labels?.plural_name??n.labels?.name??n.name,`/content/${encodeURIComponent(t.slug)}/taxonomy?taxonomy=${encodeURIComponent(n.slug)}`,`nav-subitem`),i=new URL(r.href,window.location.origin);r.classList.toggle(`active`,window.location.pathname===i.pathname&&o.get(`taxonomy`)===n.slug),e.append(r)}n.append(e)}e.append(n)}r({icons:i})}catch{}};c();{let e=document.querySelector(`[data-nav-group="settings"]`);(e?.querySelector(`:scope > a.nav-item`))?.addEventListener(`click`,()=>e?.classList.add(`open`))}{let e=document.querySelector(`[data-nav-group="themes"]`);(e?.querySelector(`:scope > a.nav-item`))?.addEventListener(`click`,()=>e?.classList.add(`open`))}r({icons:i}),u(),window.addEventListener(`okcms:content-models-changed`,()=>void u());var d=async t=>{let n=await e(t);document.querySelectorAll(`[data-sidebar-i18n]`).forEach(e=>{let t=e.dataset.sidebarI18n;t&&(e.textContent=n(t))})};window.addEventListener(`okcms:locale-changed`,e=>{let t=e.detail?.locale;t&&d(t)});
1
+ import{t as e}from"./i18n.BFBHzd3w.js";import{n as t,t as n}from"./api.53l1ob4Z.js";import{t as r}from"./lucide.s17cczpi.js";import{t as i}from"./iconsAndAliases.ujTnkhnl.js";(async()=>{let e=document.querySelector(`.layout`)?.dataset.sessionState??`unavailable`;if(e!==`authenticated`){if(e===`anonymous`){window.location.replace(`/login`);return}await t.checkSession()===`unauthenticated`&&window.location.replace(`/login`)}})(),t.installProactiveRefresh(),t.ensureFreshSession();var a=null,o=null,s=e=>{a||(a=document.createElement(`div`),a.className=`okcms-rate-limit-notice`,a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),document.body.append(a)),o&&(a.textContent=e?o(`rateLimit.noticeRetry`,{seconds:e}):o(`rateLimit.notice`)),a.classList.add(`visible`),setTimeout(()=>a?.classList.remove(`visible`),Math.min(1e4,(e??5)*1e3+4e3))};window.addEventListener(n,e=>{s(e.detail?.retryAfter??null)}),(async()=>{try{let t=document.documentElement.lang||`en`;o=await e(t)}catch{}})();try{localStorage.getItem(`sidebar-collapsed`)===`true`&&document.body.classList.add(`sidebar-collapsed`)}catch{}var c=()=>{document.querySelectorAll(`[data-nav-group]`).forEach(e=>{let t=e.querySelector(`:scope > .nav-group-header .nav-group-toggle`);t&&t.dataset.bound!==`true`&&(t.dataset.bound=`true`,t.addEventListener(`click`,()=>{let n=!e.classList.contains(`open`);e.classList.toggle(`open`,n),t.setAttribute(`aria-expanded`,String(n))}))})},l=(e,t,n=`nav-item`,r)=>{let i=document.createElement(`a`);return i.className=n,i.href=t,i.textContent=e,r&&(i.dataset.sidebarI18n=r),i},u=async()=>{let e=document.querySelector(`[data-post-types-menu]`);if(e)try{let[n,a]=await Promise.all([t.getContentTypes(),t.getTaxonomies().catch(()=>[])]);e.replaceChildren();let o=new URLSearchParams(window.location.search);for(let t of n){let n=document.createElement(`div`);n.className=`nav-type-entry`;let r=document.createElement(`div`);r.className=`nav-type-row`;let i=l(t.pluralLabel||t.name,`/content/${encodeURIComponent(t.slug)}`,`nav-item nav-type-link`);i.classList.toggle(`active`,window.location.pathname.startsWith(`/content/${t.slug}`));let s=document.createElement(`i`);s.dataset.lucide=t.menuIcon||`box`,s.className=`nav-type-icon`,s.setAttribute(`aria-hidden`,`true`),i.prepend(s),r.append(i);let c=a.filter(e=>e.attachTo?.includes(t.slug));if(n.append(r),c.length>0){let e=document.createElement(`div`);e.className=`nav-taxonomy-menu`;let r=o.get(`type`)===t.slug||window.location.pathname.startsWith(`/content/${t.slug}`);i.classList.add(`has-taxonomies`);let a=t=>{e.classList.toggle(`open`,t),i.classList.toggle(`is-expanded`,t)};a(r),i.addEventListener(`click`,()=>a(!0));for(let n of c){let r=l(n.labels?.plural_name??n.labels?.name??n.name,`/content/${encodeURIComponent(t.slug)}/taxonomy?taxonomy=${encodeURIComponent(n.slug)}`,`nav-subitem`),i=new URL(r.href,window.location.origin);r.classList.toggle(`active`,window.location.pathname===i.pathname&&o.get(`taxonomy`)===n.slug),e.append(r)}n.append(e)}e.append(n)}r({icons:i})}catch{}};c();{let e=document.querySelector(`[data-nav-group="settings"]`);(e?.querySelector(`:scope > a.nav-item`))?.addEventListener(`click`,()=>e?.classList.add(`open`))}{let e=document.querySelector(`[data-nav-group="themes"]`);(e?.querySelector(`:scope > a.nav-item`))?.addEventListener(`click`,()=>e?.classList.add(`open`))}r({icons:i}),u(),window.addEventListener(`okcms:content-models-changed`,()=>void u());var d=async t=>{let n=await e(t);document.querySelectorAll(`[data-sidebar-i18n]`).forEach(e=>{let t=e.dataset.sidebarI18n;t&&(e.textContent=n(t))})};window.addEventListener(`okcms:locale-changed`,e=>{let t=e.detail?.locale;t&&d(t)});