/* PalmWave Operations 1.0 — standalone, opt-in components. No remote dependencies. */
:root {
 --pw-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 --pw-bg:#fafafa; --pw-surface:#ffffff; --pw-subtle:#f4f4f5; --pw-fg:#202124;
 --pw-muted:#63666e; --pw-border:#dedfe3; --pw-control-border:#a3a6ae;
 --pw-accent:#2457a7; --pw-accent-soft:#edf3fc; --pw-primary:#202735; --pw-on-primary:#ffffff;
 --pw-good:#236344; --pw-good-soft:#edf7f1; --pw-warning:#865213; --pw-warning-soft:#fff7e8;
 --pw-danger:#a52c32; --pw-focus:#2563eb;
 --pw-radius:6px; --pw-shadow:0 1px 2px rgb(0 0 0 / 3%);
 --pw-space-1:4px; --pw-space-2:8px; --pw-space-3:12px; --pw-space-4:16px; --pw-space-5:20px; --pw-space-6:24px; --pw-space-8:32px;
}
:root[data-theme="dark"] {
 color-scheme:dark; --pw-bg:#151618; --pw-surface:#1c1e21; --pw-subtle:#25282d; --pw-fg:#eceef1;
 --pw-muted:#acb0b8; --pw-border:#393c43; --pw-control-border:#777d88;
 --pw-accent:#9ebff5; --pw-accent-soft:#25354c; --pw-primary:#e7ebf1; --pw-on-primary:#17202e;
 --pw-good:#92d8ac; --pw-good-soft:#20392b; --pw-warning:#eac48d; --pw-warning-soft:#3a2e1d;
 --pw-danger:#ffb0b3; --pw-focus:#8ab4fa;
}
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) {
 color-scheme:dark; --pw-bg:#151618; --pw-surface:#1c1e21; --pw-subtle:#25282d; --pw-fg:#eceef1;
 --pw-muted:#acb0b8; --pw-border:#393c43; --pw-control-border:#777d88;
 --pw-accent:#9ebff5; --pw-accent-soft:#25354c; --pw-primary:#e7ebf1; --pw-on-primary:#17202e;
 --pw-good:#92d8ac; --pw-good-soft:#20392b; --pw-warning:#eac48d; --pw-warning-soft:#3a2e1d;
 --pw-danger:#ffb0b3; --pw-focus:#8ab4fa;
} }
.pw { margin:0; background:var(--pw-bg); color:var(--pw-fg); font:14px/1.5 var(--pw-font); -webkit-font-smoothing:antialiased; }
.pw *, .pw *::before, .pw *::after { box-sizing:border-box; }
.pw [hidden] { display:none!important; }
.pw a { color:var(--pw-accent); text-decoration:none; text-underline-offset:3px; }
.pw a:hover { text-decoration:underline; }
.pw :where(a,button,input,select,summary,[tabindex]):focus-visible { outline:2px solid var(--pw-focus); outline-offset:3px; }
.pw h1, .pw h2, .pw h3, .pw p { margin:0; }
.pw h1 { font-size:25px; letter-spacing:-.65px; line-height:1.3; font-weight:650; }
.pw h2 { font-size:15px; font-weight:650; line-height:1.5; }
.pw h3 { font-size:13px; font-weight:650; line-height:1.5; }
.pw p + p { margin-top:10px; }
.pw-muted { color:var(--pw-muted); }
.pw-small { font-size:12px; }
.pw-normal { font-weight:400; }
.pw-warning-text { color:var(--pw-warning); }
.pw-eyebrow { display:block; color:var(--pw-muted); font-size:11px; letter-spacing:.05em; font-weight:600; margin-bottom:6px; }
.pw-page-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:24px; }
.pw-page-heading h1 + p { margin-top:6px; }
.pw-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 12px; border:1px solid var(--pw-control-border); border-radius:var(--pw-radius); background:var(--pw-surface); color:var(--pw-fg)!important; font:500 13px/1.4 var(--pw-font); cursor:pointer; text-decoration:none!important; white-space:nowrap; }
.pw-button:hover { background:var(--pw-subtle); }
.pw-button-primary { background:var(--pw-primary); border-color:var(--pw-primary); color:var(--pw-on-primary)!important; }
.pw-button-primary:hover { background:var(--pw-primary); filter:brightness(.92); }
.pw-button-quiet { background:transparent; border-color:transparent; }
.pw-button-small { min-height:30px; padding:5px 9px; font-size:12px; }
.pw-button-danger { color:var(--pw-danger)!important; border-color:var(--pw-danger); }
.pw-button:disabled { opacity:.55; cursor:not-allowed; }
.pw-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.pw-field label { font-size:12px; font-weight:550; }
.pw-field :where(input,select,textarea) { width:100%; min-height:36px; border:1px solid var(--pw-control-border); border-radius:var(--pw-radius); padding:7px 10px; background:var(--pw-surface); color:var(--pw-fg); font:13px/1.4 var(--pw-font); }
.pw-field input::placeholder { color:var(--pw-muted); opacity:1; }
.pw-field textarea { min-height:100px; resize:vertical; }
.pw-panel { border:1px solid var(--pw-border); border-radius:var(--pw-radius); background:var(--pw-surface); box-shadow:var(--pw-shadow); min-width:0; }
.pw-panel-heading { padding:14px 18px; border-bottom:1px solid var(--pw-border); }
.pw-panel-body { padding:18px; }
.pw-panel-body > :where(p,form,dl,ul) + :where(p,form,dl,ul) { margin-top:14px; }
.pw-panel-body > h3:not(:first-child) { margin-top:22px; }
.pw-panel-body > h3 + :where(p,ul) { margin-top:8px; }
.pw-stack { display:flex; flex-direction:column; gap:18px; min-width:0; }
.pw-stack > .pw-button { align-self:flex-start; }
.pw-table-wrap { width:100%; overflow-x:auto; border:1px solid var(--pw-border); border-radius:var(--pw-radius); background:var(--pw-surface); }
.pw-panel > .pw-table-wrap { border:0; border-radius:0 0 var(--pw-radius) var(--pw-radius); }
.pw-table { border-collapse:collapse; width:100%; text-align:left; font-size:13px; }
.pw-table th, .pw-table td { padding:13px 16px; border-bottom:1px solid var(--pw-border); vertical-align:top; }
.pw-table thead th { color:var(--pw-muted); background:var(--pw-subtle); font-size:12px; font-weight:550; padding-top:10px; padding-bottom:10px; white-space:nowrap; }
.pw-table tbody th { font-weight:500; }
.pw-table tbody tr:last-child > * { border-bottom:0; }
.pw-table tbody tr:hover { background:var(--pw-bg); }
.pw-badge { display:inline-flex; padding:2px 7px; font-size:11px; border:1px solid var(--pw-border); border-radius:4px; background:var(--pw-subtle); color:var(--pw-fg); white-space:nowrap; }
.pw-status { display:inline-flex; gap:6px; align-items:center; color:var(--pw-muted); font-size:12px; }
.pw-status-good { color:var(--pw-good); }
.pw-status-warning { color:var(--pw-warning); }
.pw-dot { display:inline-block; flex:none; width:6px; height:6px; border-radius:50%; background:currentColor; }
.pw-alert { padding:14px 16px; border:1px solid var(--pw-border); border-radius:var(--pw-radius); background:var(--pw-subtle); font-size:13px; }
.pw-alert p { margin-top:3px; }
.pw-alert-warning { background:var(--pw-warning-soft); color:var(--pw-warning); }
.pw-empty { text-align:center; padding:48px 20px; border:1px dashed var(--pw-border); border-radius:var(--pw-radius); }
.pw-empty p { margin:8px auto 18px; max-width:520px; }
.pw-list { padding-left:18px; margin:0; }
.pw-list li + li { margin-top:8px; }
.pw-definition { margin:0; }
.pw-definition > div + div { margin-top:16px; }
.pw-definition dt { font-size:12px; color:var(--pw-muted); margin-bottom:3px; }
.pw-definition dd { margin:0; overflow-wrap:anywhere; }
.pw-disclosure > summary { cursor:pointer; padding:15px 18px; font-size:13px; font-weight:550; }
.pw-disclosure[open] > summary { border-bottom:1px solid var(--pw-border); }
.pw-breadcrumb { display:flex; gap:10px; flex-wrap:wrap; color:var(--pw-muted); font-size:12px; margin-bottom:22px; }
.pw-nav { display:flex; flex-direction:column; gap:4px; }
.pw-nav a { display:flex; align-items:center; gap:10px; border-radius:var(--pw-radius); min-height:38px; padding:8px 12px; color:var(--pw-muted); font-weight:500; }
.pw-nav a:hover { background:var(--pw-subtle); text-decoration:none; color:var(--pw-fg); }
.pw-nav a[aria-current="page"] { background:var(--pw-subtle); color:var(--pw-fg); }
.pw-icon { width:17px; height:17px; flex:none; }
.pw-sr-only { position:absolute; left:0; top:0; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pw-skip { position:fixed; top:-100px; left:12px; padding:10px 16px; background:var(--pw-surface); z-index:100; border:2px solid var(--pw-focus); }
.pw-skip:focus { top:12px; }
.pw-dialog { color:var(--pw-fg); background:var(--pw-surface); border:1px solid var(--pw-border); border-radius:var(--pw-radius); padding:24px; width:min(480px,calc(100% - 32px)); }
.pw-dialog::backdrop { background:rgb(0 0 0 / 45%); }
@media (max-width:640px) { .pw-page-heading { flex-direction:column; gap:12px; } .pw h1 { font-size:23px; } .pw-table th,.pw-table td { padding:12px; } .pw-button { min-height:40px; } .pw-field :where(input,select,textarea) { min-height:40px; font-size:16px; } }
@media (prefers-reduced-motion:reduce) { .pw *, .pw *::before, .pw *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
