.resources-page,.resources-image-dialog { --resources-muted: #596153; --resources-link: #176caa; }
body.compact-workspace.resource-workspace main { padding-bottom:0; }
html[data-theme="dark"] :is(.resources-page,.resources-image-dialog) { --resources-muted: #acb6a6; --resources-link: #8bc8f5; }
body.compact-workspace .resources-page.active { display:flex; flex-direction:column; height:calc(100dvh - var(--resources-top,66px)); min-height:400px; gap:8px; }
@media(min-width:961px) and (max-width:1440px) {
  body.resource-workspace .workspace-header h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  body.resource-workspace .workspace-header .search { width:220px; }
}
.resources-page *, .resources-page :is(input,select,textarea,button) { box-sizing:border-box; letter-spacing:0; }
.resources-page :is(input,select,textarea,button) { font-family:inherit; font-size:14px; font-weight:400; }
.resources-page button { font-weight:600; }
.resources-page header { min-height:0; height:auto; margin:0; padding:0; border:0; flex-direction:row; flex-wrap:nowrap; }
.resources-page a { color:var(--resources-link); text-underline-offset:3px; }
.resources-page :is(input,select,textarea) { background:var(--paper); border:1px solid var(--line); border-radius:6px; color:var(--ink); padding:7px 10px; min-height:36px; min-width:0; }
.resources-page input::placeholder { color:var(--resources-muted); opacity:1; }
.resources-page :is(button,input,select,textarea,a,summary):focus-visible { outline:2px solid var(--green-dark); outline-offset:2px; }
.resources-page :is(input,textarea) { caret-color:var(--green-dark); }
.resources-page ::selection { background:var(--mint); color:var(--ink); }
.resources-page button:disabled { cursor:default; opacity:.55; }
.resources-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:8px; padding:4px 0 8px; border-bottom:1px solid var(--line); flex:none; }
.resources-toolbar label { display:flex; flex-direction:column; gap:4px; margin:0; font-size:12px; color:var(--resources-muted); }
.resources-toolbar .resources-search { flex:1 1 250px; max-width:560px; }
.resources-toolbar input, .resources-toolbar select { width:100%; }
.resources-toolbar-actions { display:flex; align-items:center; gap:6px; flex:none; margin-left:auto; }
.resources-page :is(.period-btn,.primary-btn) { min-height:36px; padding:7px 12px; border-radius:6px; margin:0; white-space:normal; line-height:20px; }
.resources-total { align-self:center; font-size:12px; white-space:nowrap; color:var(--resources-muted); margin:12px 4px 0; }
.resources-tools { position:relative; }
.resources-tools summary { list-style:none; cursor:pointer; font-size:14px; font-weight:600; border:1px solid var(--line); border-radius:6px; padding:8px 12px; min-height:36px; background:var(--paper); }
.resources-tools summary::-webkit-details-marker { display:none; }
.resources-tools > div { position:absolute; right:0; top:calc(100% + 4px); min-width:190px; padding:6px; background:var(--paper); border:1px solid var(--line); border-radius:6px; z-index:20; box-shadow:0 6px 16px rgba(0,0,0,.1); }
.resources-tools :is(a,.resources-import) { display:block; padding:9px 10px; font-size:14px; color:var(--ink); text-decoration:none; cursor:pointer; }
.resources-tools :is(a,.resources-import):hover { background:var(--paper-soft); }
.resources-import input { display:none; }
.resources-content { min-height:0; flex:1; }
.resources-catalog-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
.resources-catalog-layout.has-detail { grid-template-columns:minmax(0,1fr) 380px; }
.resources-table-area { display:flex; flex-direction:column; min-width:0; min-height:0; }
.resources-table-scroll { flex:1; min-height:0; overflow:auto; scrollbar-color:var(--line) var(--paper); scrollbar-width:thin; }
.resources-table { width:100%; border-collapse:separate; border-spacing:0; font-size:14px; table-layout:fixed; }
.resources-table th { text-align:left; font-size:12px; font-weight:600; padding:10px 12px; color:var(--resources-muted); background:var(--paper-soft); position:sticky; top:0; z-index:1; border-bottom:1px solid var(--line); }
.resources-table th:first-child { width:36%; }
.resources-table th:nth-child(2) { width:19%; }
.resources-table th:nth-child(3) { width:10%; }
.resources-table th:nth-child(4) { width:13%; }
.resources-table th:nth-child(5) { width:12%; }
.resources-table th:nth-child(6) { width:10%; }
.resources-table td { padding:12px; border-bottom:1px solid var(--line); vertical-align:middle; line-height:1.45; overflow-wrap:anywhere; background:var(--paper); }
.resources-table tbody tr:hover td { background:var(--paper-soft); }
.resources-table tr[aria-selected=true] td { background:var(--mint); }
.resources-service-link { font-weight:500; text-decoration:none; display:block; }
.resources-service-link:hover { text-decoration:underline; }
.resources-table .resources-price { text-align:right; font-variant-numeric:tabular-nums; }
.resources-price:not(th) { font-weight:600; }
.resources-calculated { font-size:13px; font-weight:500; }
.resources-status { display:inline-block; border-radius:4px; padding:3px 6px; background:var(--paper-soft); color:var(--resources-muted); font-size:12px; font-weight:500; line-height:1.35; }
.resources-status-published { color:var(--green-dark); background:var(--mint); }
.resources-status-draft { color:#795000; background:#fff3cf; }
html[data-theme=dark] .resources-status-draft { color:#ffda82; background:#3d321b; }
.resources-pager { display:flex; gap:6px; align-items:center; min-height:50px; padding:7px 0; flex:none; }
.resources-pager > span { flex:1; font-size:13px; color:var(--resources-muted); }
.resources-detail { min-width:0; min-height:0; overflow:auto; padding:20px 24px; background:var(--paper); scrollbar-color:var(--line) var(--paper); scrollbar-width:thin; }
.resources-service-detail { border-left:1px solid var(--line); margin-left:12px; padding-right:18px; padding-left:20px; }
.resources-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.resources-detail-head > div { min-width:0; flex:1; }
.resources-detail h2 { font-size:22px; line-height:1.3; font-weight:600; overflow-wrap:anywhere; margin:0 0 10px; }
.resources-detail h3 { font-size:15px; margin:24px 0 8px; }
.resources-code { color:var(--resources-muted); font-size:12px; display:block; margin-bottom:8px; overflow-wrap:anywhere; }
.resources-close { display:flex; justify-content:center; align-items:center; width:32px; height:32px; flex:none; color:var(--resources-muted)!important; font-size:24px; line-height:1; text-decoration:none; border-radius:4px; }
.resources-close:hover { background:var(--paper-soft); }
.resources-service-price { font-size:24px; line-height:1.4; font-weight:600; margin:16px 0 4px; }
.resources-service-price .resources-calculated { font-size:22px; }
.resources-service-price > span:last-child:not(.resources-calculated) { display:block; font-size:13px; font-weight:400; color:var(--resources-muted); }
.resources-formula { font-size:14px; line-height:1.6; margin:8px 0 20px; }
.resources-properties { margin:20px 0; }
.resources-properties > div { display:grid; grid-template-columns:1fr 1.5fr; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.resources-properties dt { color:var(--resources-muted); font-size:13px; }
.resources-properties dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
.resources-description p { margin:0; white-space:pre-wrap; line-height:1.65; }
.resources-detail-actions { display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 24px; }
.resources-page .resources-danger { color:var(--red); }
.resources-knowledge-layout { display:grid; grid-template-columns:minmax(240px,320px) minmax(0,1fr); }
.resources-article-index { display:flex; flex-direction:column; min-height:0; min-width:0; border-right:1px solid var(--line); padding-right:12px; }
.resources-article-list { min-height:0; flex:1; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line) var(--paper); }
.resources-article-row { display:block; text-decoration:none; color:var(--ink)!important; padding:16px 12px; border-bottom:1px solid var(--line); }
.resources-article-row:hover { background:var(--paper-soft); }
.resources-article-row[aria-current=page] { background:var(--mint); }
.resources-article-row strong { display:block; font-size:15px; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.resources-article-row > span { display:block; font-size:12px; line-height:1.5; margin-top:6px; color:var(--resources-muted); }
.resources-article-row p { font-size:13px; line-height:1.5; margin:8px 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.resources-article-row small { color:var(--resources-muted); font-size:12px; }
.resources-article { padding:24px 32px; }
.resources-article > * { max-width:75ch; }
.resources-article .resources-detail-head h2 { font-size:26px; margin:10px 0 12px; }
.resources-article-meta { font-size:12px; color:var(--resources-muted); display:flex; flex-wrap:wrap; gap:6px 16px; line-height:1.7; }
.resources-article-body { white-space:pre-wrap; font-size:16px; line-height:1.7; overflow-wrap:anywhere; padding-bottom:24px; }
.resources-knowledge-layout.is-expanded { grid-template-columns:minmax(0,1fr); }
.resources-knowledge-layout.is-expanded > .resources-article-index { display:none; }
.resources-knowledge-layout.is-expanded > .resources-article { padding-right:32px; padding-left:32px; }
.resources-knowledge-layout.is-expanded > .resources-article > * { margin-right:auto; margin-left:auto; }
.resources-structured-body { white-space:normal; }
.resources-structured-body h3 { font-size:18px; line-height:1.4; font-weight:600; margin:32px 0 12px; }
.resources-structured-body > :first-child { margin-top:0; }
.resources-structured-body p { margin:0 0 16px; white-space:pre-wrap; }
.resources-structured-body ol { list-style:decimal outside; margin:16px 0 24px; padding-left:28px; }
.resources-structured-body li { margin:10px 0; padding-left:4px; white-space:pre-wrap; }
.resources-structured-body li::marker { font-weight:600; color:var(--green-dark); }
.resources-structured-body p.resources-article-tip { color:var(--resources-muted); font-size:14px; line-height:1.65; margin:16px 0; }
.resources-article-tip strong { font-weight:600; }
.resources-article-figure { margin:24px 0 28px; }
.resources-page button.resources-image-open { display:block; width:100%; min-height:0; padding:0; margin:0; background:var(--paper); border:1px solid var(--line); border-radius:6px; overflow:hidden; cursor:zoom-in; }
.resources-page button.resources-image-open:hover { border-color:var(--green-dark); }
.resources-page button.resources-image-open[hidden] { display:none; }
.resources-image-open img { display:block; width:100%; height:auto; }
.resources-article-figure figcaption { margin-top:8px; color:var(--resources-muted); font-size:13px; line-height:1.55; }
.resources-article-figure .resources-image-error { padding:14px 0; font-size:14px; color:var(--resources-muted); }
.resources-image-error[hidden] { display:none; }
dialog.resources-image-dialog { position:fixed; inset:0; margin:auto; padding:0; width:calc(100vw - 32px); max-width:1440px; max-height:calc(100dvh - 32px); border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--paper); box-shadow:none; overflow:hidden; }
dialog.resources-image-dialog[open] { display:flex; flex-direction:column; }
.resources-image-dialog::backdrop { background:rgba(0,0,0,.72); }
.resources-image-dialog > header { display:flex; flex-direction:row; flex:none; align-items:center; justify-content:flex-start; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line); min-height:0; height:auto; margin:0; background:var(--paper); }
.resources-image-dialog h2 { margin:0 auto 0 0; font-family:inherit; font-size:16px; font-weight:600; line-height:1.4; }
.resources-image-dialog button { flex:none; min-height:36px; padding:7px 12px; margin:0; border:1px solid var(--line); border-radius:6px; font-family:inherit; font-size:14px; font-weight:600; line-height:20px; color:var(--ink); background:var(--paper); cursor:pointer; }
.resources-image-dialog button:hover { background:var(--paper-soft); }
.resources-image-dialog button:focus-visible { outline:2px solid var(--green-dark); outline-offset:2px; }
.resources-image-dialog button:disabled { cursor:default; opacity:.55; }
.resources-image-dialog .resources-image-view { flex:1; min-width:0; min-height:0; padding:16px; overflow:auto; scrollbar-color:var(--line) var(--paper); scrollbar-width:thin; }
.resources-image-view img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100dvh - 170px); margin:0 auto; object-fit:contain; }
.resources-image-dialog.is-original .resources-image-view img { max-width:none; max-height:none; }
.resources-image-dialog .resources-image-caption { flex:none; padding:10px 16px 14px; margin:0; color:var(--resources-muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.resources-image-dialog ::selection { background:var(--mint); color:var(--ink); }
.resources-editor { display:flex; flex-direction:column; gap:16px; }
.resources-editor > header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.resources-editor header h2 { font-size:20px; margin:0; }
.resources-editor label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--resources-muted); }
.resources-editor textarea { resize:vertical; width:100%; line-height:1.65; }
.resources-editor .resources-editor-body textarea { min-height:300px; font-size:16px; }
.resources-form-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.resources-editor .resources-checkbox { display:flex; flex-direction:row; align-items:center; gap:8px; color:var(--ink); }
.resources-checkbox input { min-height:0; width:16px; height:16px; accent-color:var(--green-dark); }
.resources-editor-actions { display:flex; flex-wrap:wrap; gap:8px; position:sticky; bottom:-20px; padding:12px 0; background:var(--paper); border-top:1px solid var(--line); }
.resources-error { display:flex; flex:none; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--red); border-radius:6px; color:var(--ink); font-size:14px; }
.resources-error[hidden] { display:none; }
.resources-error span { flex:1; }
.resources-empty { padding:32px 20px!important; text-align:left; font-size:14px; color:var(--resources-muted); }
.resources-empty h2 { font-size:18px; font-weight:500; line-height:1.5; margin:0 0 16px; }
.resources-choose { display:flex; justify-content:center; align-items:center; height:100%; }
.resources-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(min-width:1600px) { .resources-catalog-layout.has-detail { grid-template-columns:minmax(0,1fr) 420px; } }
@media(max-width:1200px) {
  .resources-catalog-layout.has-detail { grid-template-columns:minmax(0,1fr) 360px; }
  .resources-catalog-layout.has-detail .resources-table th:nth-child(2),.resources-catalog-layout.has-detail .resources-table td:nth-child(2),
  .resources-catalog-layout.has-detail .resources-table th:nth-child(5),.resources-catalog-layout.has-detail .resources-table td:nth-child(5) { display:none; }
  .resources-catalog-layout.has-detail .resources-table th:first-child { width:43%; }
  .resources-catalog-layout.has-detail .resources-table th:nth-child(3) { width:16%; }
  .resources-catalog-layout.has-detail .resources-table th:nth-child(4) { width:25%; }
  .resources-catalog-layout.has-detail .resources-table th:nth-child(6) { width:16%; }
  .resources-toolbar .resources-search { max-width:none; }
}
@media(min-width:601px) and (max-width:1100px) {
  .resources-table th:nth-child(2),.resources-table td:nth-child(2) { display:none; }
  .resources-table th:first-child { width:38%; }
  .resources-table th:nth-child(3) { width:12%; }
  .resources-table th:nth-child(4) { width:18%; }
  .resources-table th:nth-child(5) { width:18%; }
  .resources-table th:nth-child(6) { width:14%; }
}
@media(max-width:900px) {
  .resources-toolbar-actions { margin-left:0; }
  .resources-toolbar .resources-search { flex-basis:100%; }
  .resources-knowledge-layout { grid-template-columns:240px minmax(0,1fr); }
  .resources-article { padding:20px; }
  .resources-catalog-layout.has-detail { display:block; }
  .resources-catalog-layout.has-detail .resources-table-area { display:none; }
  .resources-service-detail { border:0; margin:0; height:100%; padding:20px; }
}
@media(max-width:600px) {
  body.compact-workspace .resources-page.active { min-height:420px; }
  body.compact-workspace.resource-workspace #workspace-tabs button { padding-right:6px; padding-left:6px; }
  .resources-toolbar { gap:6px; }
  .resources-toolbar > label:not(.resources-search) { flex:1 1 95px; }
  .resources-toolbar-actions { flex:1 1 100%; justify-content:flex-end; }
  .resources-total { margin:0 auto 0 0; }
  .resources-page :is(button,input,select,.resources-tools summary) { min-height:44px; }
  .resources-table th,.resources-table td { padding:10px 8px; }
  .resources-table th:nth-child(2),.resources-table td:nth-child(2),.resources-table th:nth-child(3),.resources-table td:nth-child(3),.resources-table th:nth-child(5),.resources-table td:nth-child(5) { display:none; }
  .resources-table th:first-child { width:52%; }
  .resources-table th:nth-child(4) { width:28%; }
  .resources-table th:nth-child(6) { width:20%; }
  .resources-table .resources-status { font-size:11px; padding:2px 4px; }
  .resources-knowledge-layout { display:block; overflow:auto; }
  .resources-article-index { height:100%; border:0; padding:0; }
  .resources-knowledge-layout.has-article .resources-article-index { display:none; }
  .resources-knowledge-layout:not(.has-article) > .resources-article { display:none; }
  .resources-article { min-height:100%; padding:18px 16px; }
  .resources-knowledge-layout.is-expanded > .resources-article { padding:18px 16px; }
  .resources-article .resources-detail-head h2 { font-size:22px; }
  .resources-expand-reader { display:none; }
  .resources-close { width:44px; height:44px; }
  .resources-detail-actions { gap:8px; }
  .resources-error { flex-wrap:wrap; }
  dialog.resources-image-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .resources-image-dialog > header { gap:8px; padding:10px; flex-wrap:wrap; }
  .resources-image-dialog h2 { flex:1 1 100%; font-size:15px; }
  .resources-image-dialog button { min-height:44px; }
  .resources-image-dialog .resources-image-view { padding:10px; }
  .resources-image-view img { max-height:calc(100dvh - 230px); }
  .resources-image-dialog .resources-image-caption { padding:8px 10px 12px; }
}
