:root{
  --wd-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --wd-bg:#f7f8fa;--wd-surface:#fff;--wd-ink:#1f2430;--wd-muted:#6b7280;--wd-faint:#9aa0aa;
  --wd-border:#e6e8ec;--wd-border-strong:#d7dae0;--wd-blue:#2563eb;--wd-blue-hover:#1d4ed8;
  --wd-blue-bg:#eef2ff;--wd-pill:#f1f3f5;--wd-pillink:#475569;--wd-red:#b91c1c;--wd-green:#16a34a;--wd-radius:8px;--wd-radius-lg:11px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--wd-font);color:var(--wd-ink);background:var(--wd-bg)}
button,input,select,textarea{font-family:inherit}
.font-heading{font-family:var(--wd-font)}
.wd-h1{font-size:20px;font-weight:700;margin:0 0 4px}
.wd-sub{color:var(--wd-muted);margin:0 0 16px}.wd-muted{color:var(--wd-muted)}
.wd-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border:1px solid var(--wd-border);border-radius:var(--wd-radius);background:var(--wd-surface);color:var(--wd-ink);font:600 14px/1.1 var(--wd-font);cursor:pointer;text-decoration:none}
.wd-btn:hover{background:#f3f4f6;text-decoration:none}
.wd-btn-primary{background:var(--wd-blue);border-color:var(--wd-blue);color:#fff}.wd-btn-primary:hover{background:var(--wd-blue-hover)}
.wd-btn-danger{border-color:#fecaca;color:var(--wd-red)}.wd-btn-danger:hover{background:#fef2f2}
.wd-btn-success{background:var(--wd-green);border-color:var(--wd-green);color:#fff}.wd-btn-success:hover{filter:brightness(.95)}
.wd-btn-sm{padding:5px 10px;font-size:13px}.wd-btn:disabled{opacity:.55;cursor:not-allowed}
.wd-input,.wd-field{padding:9px 12px;border:1px solid var(--wd-border);border-radius:var(--wd-radius);font-size:14px;background:var(--wd-surface);color:var(--wd-ink);font-family:var(--wd-font)}
.wd-input:focus,.wd-field:focus{outline:none;border-color:var(--wd-blue);box-shadow:0 0 0 3px var(--wd-blue-bg)}
.wd-label{display:block;font-size:13px;font-weight:500;color:var(--wd-muted);margin:0 0 4px}
.wd-help{font-size:12px;color:var(--wd-faint);margin:4px 0 0}.wd-error{font-size:12px;color:var(--wd-red);margin:4px 0 0}
.wd-toolbar{display:flex;align-items:center;gap:10px;margin:14px 0 16px;flex-wrap:wrap}
.wd-toolbar input[type=text]{padding:9px 12px;border:1px solid var(--wd-border);border-radius:var(--wd-radius);font-size:14px;background:var(--wd-surface);min-width:220px}
.wd-toolbar input[type=text]:focus{outline:none;border-color:var(--wd-blue);box-shadow:0 0 0 3px var(--wd-blue-bg)}
.wd-count{color:var(--wd-muted);margin-left:auto;font-size:13px}
.wd-filterline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;font-size:13px;flex-wrap:wrap}
.wd-segctl{color:var(--wd-muted)}.wd-segctl a{color:var(--wd-muted);font-weight:600}.wd-segctl strong{color:var(--wd-blue)}
.wd-modeswitch{color:var(--wd-muted);font-size:13px;margin-left:4px}.wd-modeswitch a{color:var(--wd-muted);font-weight:600}.wd-modeswitch a.on{color:var(--wd-blue)}
.wd-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.wd-chip{display:inline-flex;align-items:center;gap:5px;background:var(--wd-blue-bg);color:var(--wd-blue);border-radius:99px;padding:4px 7px 4px 12px;font-size:13px;font-weight:600}
.wd-chipx{color:var(--wd-blue);font-weight:700;text-decoration:none;line-height:1;padding:0 4px;border-radius:99px}.wd-chipx:hover{background:#d7e0ff;text-decoration:none}
.wd-tabs{display:flex;flex-wrap:nowrap;gap:4px;background:var(--wd-surface);border-bottom:1px solid var(--wd-border);padding:0 18px;overflow-x:auto;scrollbar-width:none}
.wd-tabs::-webkit-scrollbar{display:none}
.wd-tabs a{padding:12px 14px;color:var(--wd-muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;white-space:nowrap}
.wd-tabs a:hover{color:var(--wd-ink);text-decoration:none}.wd-tabs a.on{color:var(--wd-blue);border-bottom-color:var(--wd-blue)}
.wd-scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wd-scrollx::-webkit-scrollbar{display:none}
.wd-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--wd-surface);border:1px solid var(--wd-border);border-radius:var(--wd-radius-lg);overflow:hidden}
.wd-table th{text-align:left;padding:11px 14px;background:#fafbfc;border-bottom:1px solid var(--wd-border);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--wd-muted);font-weight:700;white-space:nowrap}
.wd-table th a{color:var(--wd-muted);text-decoration:none}.wd-table th a:hover{color:var(--wd-ink)}
.wd-table td{padding:11px 14px;border-bottom:1px solid var(--wd-border);vertical-align:middle}
.wd-table tr:last-child td{border-bottom:0}.wd-table tbody tr:hover{background:#fafbfc}.wd-table tr.archived td{opacity:.55}
.wd-namelink{font-weight:600}.wd-email{color:var(--wd-muted)}
.wd-tag{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--wd-muted)}
.wd-copy{cursor:pointer;color:#c2c7d0;margin-left:7px;background:none;border:0;padding:0;vertical-align:-2px}.wd-copy:hover{color:var(--wd-blue)}.wd-copy.ok{color:var(--wd-green)}
.wd-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;flex-wrap:wrap;font-size:13px}
.wd-pager a{font-weight:600}.wd-pagerbtns{display:flex;gap:8px}
.wd-badge{display:inline-block;padding:2px 9px;border-radius:99px;background:var(--wd-pill);color:var(--wd-pillink);font-size:12px;font-weight:500;margin:1px 3px 1px 0}
a.wd-badge:hover{background:#e3e7eb;text-decoration:none}.wd-badge.more{background:transparent;color:var(--wd-muted)}
.wd-badge.status,.wd-badge-blue{background:var(--wd-blue-bg);color:var(--wd-blue)}
.wd-badge-green{background:#dcfce7;color:#15803d}.wd-badge-amber{background:#fef3c7;color:#92400e}.wd-badge-red{background:#fee2e2;color:#b91c1c}
.wd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-top:6px}
.wd-card{background:var(--wd-surface);border:1px solid var(--wd-border);border-radius:var(--wd-radius-lg);padding:18px}
.wd-card .n{font-size:28px;font-weight:700}.wd-card .l{color:var(--wd-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.wd-login{max-width:380px;margin:9vh auto;background:var(--wd-surface);border:1px solid var(--wd-border);border-radius:12px;padding:32px;text-align:center}
.wd-login input{width:100%;padding:11px 12px;border:1px solid var(--wd-border);border-radius:var(--wd-radius);font-size:14px;margin:6px 0}
.wd-banner{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:9px;padding:11px 14px;margin:0 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.wd-banner form{margin:0}
.wd-archiverow{display:flex;gap:8px;align-items:center;margin:4px 0 18px}
.wd-archiverow input{padding:8px 11px;border:1px solid var(--wd-border);border-radius:var(--wd-radius);font-size:13px;min-width:260px}
.wd-typeahead{position:relative;display:inline-block}
.wd-typeahead-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--wd-surface);border:1px solid var(--wd-border);border-radius:var(--wd-radius);box-shadow:0 6px 24px rgba(0,0,0,.08);overflow:hidden;z-index:5}
.wd-typeahead-menu div{padding:8px 12px;font-size:14px;cursor:pointer}.wd-typeahead-menu div:hover{background:var(--wd-blue-bg);color:var(--wd-blue)}
/* --- layout utilities (minimal; replace Tailwind flex/grid/gap/margins for page composition) --- */
.wd-row{display:flex;align-items:center;gap:12px}.wd-row-top{align-items:flex-start}.wd-wrap{flex-wrap:wrap}
.wd-between{justify-content:space-between}.wd-end{justify-content:flex-end}.wd-spacer{flex:1}
.wd-stack{display:flex;flex-direction:column;gap:16px}
.wd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:640px){.wd-grid-2,.wd-grid-3{grid-template-columns:1fr}}
.wd-w-full{width:100%}.wd-ml-3{margin-left:12px}
.wd-mt-1{margin-top:4px}.wd-mt-2{margin-top:8px}.wd-mt-4{margin-top:16px}.wd-mt-6{margin-top:24px}
.wd-mb-1{margin-bottom:4px}.wd-mb-2{margin-bottom:8px}.wd-mb-3{margin-bottom:12px}.wd-mb-4{margin-bottom:16px}.wd-mb-6{margin-bottom:24px}
.wd-section-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--wd-muted)}
.wd-panel-title{font-size:14px;font-weight:600;color:var(--wd-ink);margin:0 0 8px}
/* --- flash / alert banners --- */
.wd-flash{padding:11px 14px;border-radius:8px;font-size:14px;margin:0 0 16px;border:1px solid var(--wd-border)}
.wd-flash-ok{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.wd-flash-error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
/* --- segmented filter pills (filled when active) --- */
.wd-filter-pill{display:inline-block;padding:6px 12px;border-radius:8px;font-size:13px;background:var(--wd-surface);border:1px solid var(--wd-border-strong);color:var(--wd-ink);text-decoration:none}
.wd-filter-pill:hover{background:#f3f4f6;text-decoration:none}.wd-filter-pill.on{background:var(--wd-blue);border-color:var(--wd-blue);color:#fff}.wd-filter-pill.on:hover{background:var(--wd-blue-hover)}
/* --- inline action button (submit styled as a coloured link) --- */
.wd-act{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--wd-blue);text-decoration:none}.wd-act:hover{text-decoration:underline}
.wd-act-green{color:var(--wd-green)}.wd-act-amber{color:#b45309}.wd-act-red{color:var(--wd-red)}
/* --- detail rows (label + value list) --- */
.wd-detail-row{padding:12px 0;border-bottom:1px solid var(--wd-border)}.wd-detail-row:last-child{border-bottom:0}
.wd-detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--wd-muted);margin-bottom:4px}
/* --- auth panels, form layout, list rows --- */
.wd-authwrap{max-width:28rem;margin:48px auto 0}.wd-center{text-align:center}
.wd-btn-block{display:flex;width:100%;justify-content:center}
.wd-stack-lg{display:flex;flex-direction:column;gap:24px}
.wd-legend{font-size:16px;font-weight:600;color:var(--wd-ink);padding:0 8px}
.wd-grid-2x{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:640px){.wd-grid-2x{grid-template-columns:1fr}}
.wd-listrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--wd-border)}
.wd-truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
