/* Source Sans 3, self-hosted (latin + latin-ext) so screenshot comparisons stay
   reproducible without network access. Files in ../fonts, fetched from Google
   Fonts (v20). Consumers serve ../fonts alongside this stylesheet. */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/source-sans-3-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/source-sans-3-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-latin-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/source-sans-3-latin-ext-600.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/source-sans-3-latin-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/source-sans-3-latin-ext-700.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* ProdMan component stylesheet. Loaded after tokens.css; every value is a token. */
.pm-root{font-family:var(--font-sans);font-size:14px;line-height:20px;color:var(--text-primary)}
.pm-root *{box-sizing:border-box}
.pm-spacer{flex:1}
.pm-id{font-family:var(--font-mono);font-size:12px;line-height:16px}
.pm-muted{color:var(--text-muted)}
.pm-caption{font-size:12px;line-height:16px;color:var(--text-muted)}

/* Button */
.pm-btn{font:600 13px/18px var(--font-sans);padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border-control);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}
.pm-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.pm-btn--accent-outline{color:var(--accent);border-color:var(--accent)}
.pm-btn--amber{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-ink)}
.pm-btn--danger{color:var(--danger-ink);border-color:var(--danger-border)}
.pm-btn--small{padding:4px 8px;font-size:12px;line-height:16px}
.pm-btn--icon{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-color:var(--border-chip)}
.pm-btn--close{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-color:var(--border-chip)}
.pm-btn--stack{width:112px;padding:0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.pm-btn:disabled{background:var(--bg-readonly);color:var(--text-disabled);border-color:var(--border-readonly);cursor:not-allowed}

/* Field */
.pm-field{display:flex;flex-direction:column;min-width:0}
.pm-label{font:600 12px/16px var(--font-sans);color:var(--text-muted);margin-bottom:var(--space-1)}
.pm-input,.pm-select,.pm-textarea{width:100%;border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font:400 14px/20px var(--font-sans);padding:7px 10px}
.pm-input,.pm-select{height:var(--control-h)}
.pm-input--sm,.pm-select--sm{height:var(--control-h-sm)}
.pm-textarea{resize:none;line-height:1.4}
.pm-input[readonly],.pm-textarea[readonly],.pm-select:disabled{background:var(--bg-readonly);border-color:var(--border-readonly)}
.pm-check{display:flex;gap:8px;align-items:center;font:600 13px/18px var(--font-sans)}
.pm-row-fields{display:flex;gap:var(--space-4)}
.pm-with-action{display:flex;gap:10px;align-items:stretch}

/* Chip and badge */
.pm-chip{display:inline-block;border-radius:var(--radius-pill);font:700 12px/16px var(--font-sans);padding:3px 10px}
.pm-chip--released{background:var(--success-bg);color:var(--success-ink)}
.pm-chip--workingcopy{background:var(--accent-tint);color:var(--accent-ink)}
.pm-chip--archived{background:var(--chip-neutral-bg);color:var(--chip-neutral-ink)}
.pm-badge{display:inline-block;border:1px solid;border-radius:var(--radius-pill);padding:1px 8px;font:700 11px/16px var(--font-sans);white-space:nowrap}
.pm-badge--amber{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-border)}
.pm-badge--blue{background:var(--accent-tint);color:var(--accent-ink);border-color:var(--accent-soft)}
.pm-badge--green{background:var(--success-bg);color:var(--success-ink);border-color:var(--success-border)}
.pm-badge--gray{background:var(--bg-subtle);color:var(--chip-neutral-ink);border-color:var(--border-chip)}
.pm-badge--suspect{border-radius:var(--radius-sm);padding:1px 7px}

/* Tabs */
.pm-tabs{display:flex;border-bottom:1px solid var(--border-default);padding:0 6px}
.pm-tab{padding:10px 14px;font:600 14px/20px var(--font-sans);color:var(--text-muted);border-bottom:3px solid transparent;display:flex;align-items:center;gap:6px}
.pm-tab[aria-selected="true"]{color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}
.pm-navtabs{display:flex;background:var(--bg-subtle);border-bottom:1px solid var(--border-default)}
.pm-navtab{height:var(--navtab-h);padding:0 16px;display:flex;align-items:center;font:600 14px/20px var(--font-sans);color:var(--text-muted);border-bottom:3px solid transparent}
.pm-navtab[aria-selected="true"]{background:var(--bg-surface);color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}

/* Table (set --cols on the table element) */
.pm-table__head{display:grid;grid-template-columns:var(--cols);gap:8px;padding:8px 12px;background:var(--bg-subtle);border-top:1px solid var(--border-header);border-bottom:1px solid var(--border-header);font:700 12px/16px var(--font-sans);color:var(--text-muted)}
.pm-row{display:grid;grid-template-columns:var(--cols);gap:8px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}
.pm-row--suspect{background:var(--warning-row-bg)}
.pm-row--selected{background:var(--bg-selected)}
.pm-row--current{background:var(--bg-selected);font-weight:700}
.pm-row--list{height:var(--list-row-h);padding-top:0;padding-bottom:0}
.pm-row--released{font-weight:700}

/* Banner */
.pm-banner{padding:10px 24px;background:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning-banner-ink);font:400 13px/18px var(--font-sans)}
.pm-banner--box{margin:12px;border:1px solid var(--warning-border);border-radius:var(--radius-md)}

/* Stepper */
.pm-stepper{display:flex;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid var(--border-header);background:var(--bg-bar)}
.pm-step{display:flex;align-items:center;gap:8px;font:600 14px/20px var(--font-sans);color:var(--text-muted)}
.pm-step__dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 12px/16px var(--font-sans);background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-control)}
.pm-step--active{color:var(--accent);font-weight:700}
.pm-step--active .pm-step__dot{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.pm-step--done{color:var(--success-ink)}
.pm-step--done .pm-step__dot{background:var(--success-bg);border-color:var(--success-border);color:var(--success-ink)}
.pm-step__line{width:40px;height:1px;background:var(--border-control)}

/* Diff text */
.pm-ins{background:var(--diff-ins-bg);color:var(--diff-ins-ink);border-radius:var(--radius-xs);padding:0 2px}
.pm-del{background:var(--diff-del-bg);color:var(--diff-del-ink);text-decoration:line-through;border-radius:var(--radius-xs);padding:0 2px}
.pm-open{background:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--warning-border);border-radius:var(--radius-xs);padding:0 3px}

/* Panel */
.pm-panel{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-width:0}
.pm-panel__toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3)}

/* Entity dialog */
.pm-entity{display:flex;flex-direction:column;background:var(--bg-page)}
.pm-entity__header{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border-default)}
.pm-entity__title{font:700 20px/26px var(--font-sans)}
.pm-entity__meta{display:flex;align-items:center;gap:12px;margin-top:4px;color:var(--text-muted)}
.pm-entity__body{display:flex;gap:var(--space-6);padding:14px 20px;flex:1;min-height:0}
.pm-entity__form{width:var(--form-col-w);flex:none;display:flex;flex-direction:column;gap:10px}
.pm-entity__side{flex:1;min-width:0}
.pm-entity__actions{display:flex;align-items:center;gap:10px;padding:8px 20px;background:var(--bg-surface);border-top:1px solid var(--border-default)}
.pm-grow{flex:1;min-height:0;display:flex;flex-direction:column}
.pm-grow>.pm-textarea{flex:1}

/* Modal dialog */
.pm-backdrop{display:flex;align-items:center;justify-content:center;background:var(--bg-backdrop)}
.pm-modal{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-modal);border-radius:var(--radius-xl);overflow:hidden}
.pm-modal__header{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border-default)}
.pm-modal__title{font:700 18px/24px var(--font-sans)}
.pm-modal__body{flex:1;min-height:0;display:flex;gap:20px;padding:20px 24px}
.pm-modal__footer{display:flex;align-items:center;gap:10px;padding:12px 24px;border-top:1px solid var(--border-default);background:var(--bg-bar)}
.pm-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface)}

/* Application window */
.pm-window{display:flex;flex-direction:column;background:var(--bg-page)}
.pm-menubar{display:flex;align-items:center;gap:20px;height:var(--menubar-h);padding:0 12px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);font-size:13px}
.pm-window__main{flex:1;min-height:0;display:flex}
.pm-listpane{width:var(--list-pane-w);flex:none;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-default)}
.pm-listpane__filters{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}

/* Expandable text field */
.pm-field__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}
.pm-field__head .pm-label{margin-bottom:0}
.pm-expand-btn{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-chip);border-radius:4px;cursor:pointer}
.pm-textarea--compact{height:56px;overflow:hidden}
.pm-grow>.pm-textarea{flex:1}

/* Wide editor: an expanded text field at 80 columns */
.pm-editor-wide{display:flex;flex-direction:column;gap:8px;background:var(--bg-surface);border:1px solid var(--border-control);border-radius:var(--radius-lg);padding:12px 14px}
.pm-editor-wide textarea{box-sizing:content-box;width:80ch;flex:1;min-height:300px;border:1px solid var(--border-chip);border-radius:var(--radius-md);padding:10px;resize:none;font:400 14px/1.5 var(--font-mono);color:var(--text-primary);background:var(--bg-surface)}
.pm-rail{width:44px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:8px 0}
.pm-rail__tab{writing-mode:vertical-rl;padding:12px 0;font:600 13px/18px var(--font-sans);color:var(--text-muted)}
