/* Company cabinet · light warm operation room. No branding or global selectors. */
.deep-cabinet {
  --dc-queue-width: 284px;
  --dc-decision-width: 320px;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--surface-app, #F6F4EE);
  color: var(--text, #302E2A);
  font: 400 13px/18px var(--font-sans, 'IBM Plex Sans', sans-serif);
}
.deep-cabinet *, .deep-cabinet *::before, .deep-cabinet *::after { box-sizing: border-box; }
.deep-cabinet.dc-fullscreen { height: 100dvh; }
.dc-cabinet-header { min-height: 48px; flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 16px; border-bottom: 1px solid var(--line, #d8d3ca); background: var(--surface-panel, #FCFBF8); }
.dc-cabinet-identity { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-width: 0; }
.dc-cabinet-identity strong { font-weight: 600; }
.dc-cabinet-identity span { color: var(--text-muted, #625E56); }
.dc-header-divider { color: var(--line-strong, #827B70); }
.dc-unlinked { flex: 1; }
.deep-cabinet h1, .deep-cabinet h2, .deep-cabinet p { margin: 0; }
.deep-cabinet h1, .deep-cabinet h2 { font: 600 15px/21px var(--font-sans, sans-serif); }
.deep-cabinet p + p { margin-top: 8px; }
.deep-cabinet button, .deep-cabinet input, .deep-cabinet select { font: inherit; }
.deep-cabinet button { cursor: pointer; }
.deep-cabinet :focus-visible { outline: 2px solid var(--accent, #4C4740); outline-offset: 3px; }
.dc-work { flex: 1; min-height: 0; min-width: 0; display: grid; grid-template-columns: var(--dc-queue-width) 6px minmax(300px, 1fr) 6px var(--dc-decision-width); }
.dc-queue, .dc-paper, .dc-decision { min-height: 0; min-width: 0; display: flex; flex-direction: column; background: var(--surface-panel, #FCFBF8); }
.dc-pane-toolbar { min-height: 44px; padding: 8px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex: 0 0 auto; border-bottom: 1px solid var(--line, #d8d3ca); }
.dc-queue-content, .dc-decision-body, .dc-desk { overflow: auto; min-height: 0; flex: 1; overscroll-behavior: contain; }
.dc-queue-row { appearance: none; display: flex; flex-direction: column; gap: 5px; width: 100%; text-align: left; background: transparent; color: inherit; border: 0; border-bottom: 1px solid var(--line, #d8d3ca); padding: 16px; position: relative; border-radius: 0; line-height: 19px; }
.dc-queue-row strong { font-weight: 600; }
.dc-queue-row span { font-size: 12px; color: var(--text-muted, #625E56); }
.dc-queue-row:hover { background: var(--surface-raised, #F0EDE5); }
.dc-queue-row.is-selected { background: var(--surface-selected, #E7E1D4); }
.dc-queue-row.is-selected::before { content: ''; position: absolute; width: 2px; background: var(--accent, #4C4740); top: 0; bottom: 0; left: 0; }
.dc-queue-note { padding: 12px 16px; border-top: 1px solid var(--line, #d8d3ca); font-size: 12px; color: var(--text-muted, #625E56); }
.dc-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 4px 10px; color: var(--text, #302E2A); background: var(--surface-raised, #F0EDE5); border: 1px solid var(--line-strong, #827B70); border-radius: 4px; font-weight: 500 !important; line-height: 18px; text-align: center; }
.dc-button:hover { background: var(--surface-selected, #E7E1D4); }
.dc-button.dc-primary { width: 100%; min-height: 36px; background: var(--accent-solid, #46423B); color: var(--on-accent, #FCFBF8); border-color: var(--accent-solid, #46423B); }
.dc-button[disabled] { cursor: wait; opacity: .65; }
.dc-edition-control { display: flex; align-items: center; gap: 8px; }
.dc-edition-control label { color: var(--text-muted, #625E56); font-size: 12px; }
.deep-cabinet select, .deep-cabinet input { min-width: 0; min-height: 28px; padding: 4px 8px; background: var(--surface-panel, #FCFBF8); color: var(--text, #302E2A); border: 1px solid var(--line-strong, #827B70); border-radius: 4px; }
.dc-direct { padding: 16px; border-top: 1px solid var(--line, #d8d3ca); }
.dc-direct summary { cursor: pointer; font-weight: 500; }
.dc-direct form, .dc-stepup-form { display: grid; gap: 8px; margin: 12px 0; }
.dc-direct input { width: 100%; font-family: var(--font-mono, monospace); font-size: 11px; }
.dc-direct label, .dc-stepup-form label { font-size: 12px; color: var(--text-muted, #625E56); }
.dc-stepup-form input { width: 100%; }
.dc-desk { padding: 24px; background: var(--surface-desk, #E2DCD0); }
.dc-sheet { max-width: 880px; margin: 0 auto; padding: 36px 40px; background: #FCFBF8; border: 1px solid var(--line, #d8d3ca); box-shadow: var(--shadow-sheet, 0 8px 24px #342f2714); border-radius: 2px; font: 400 15px/24px var(--font-serif, 'IBM Plex Serif', Georgia, serif); overflow-wrap: anywhere; }
.dc-sheet header { padding-bottom: 24px; }
.dc-sheet header h1 { font: 600 26px/34px var(--font-serif, Georgia, serif); margin: 6px 0 8px; }
.dc-sheet section + section { margin-top: 24px; }
.dc-sheet h2 { font: 600 17px/24px var(--font-serif, Georgia, serif); margin: 0 0 8px; }
.dc-sheet-caption { color: var(--text-muted, #625E56); font: 12px/18px var(--font-mono, monospace); }
.dc-rubric { color: var(--text-faint, #686359); font: 11px/16px var(--font-mono, monospace); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px !important; }
.dc-unknown { background: var(--warn-wash, #F5ECDC); border-left: 2px solid var(--warn, #8A5B15); padding: 12px 16px; }
.dc-unknown + .dc-unknown { margin-top: 12px; }
.dc-fields { margin: 0; }
.dc-fields > div { display: grid; grid-template-columns: minmax(84px, 30%) 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line, #d8d3ca); }
.dc-fields > div:last-child { border-bottom: 0; }
.dc-fields dt { color: var(--text-muted, #625E56); }
.dc-fields dd { margin: 0; min-width: 0; }
.dc-value-list { margin: 0; padding-left: 20px; }
.dc-value-list > li + li { margin-top: 10px; }
.dc-text-value { white-space: pre-wrap; }
.dc-raw-value { font: 12px/18px var(--font-mono, monospace); white-space: pre-wrap; }
.dc-proof { margin-top: 32px; border-top: 1px solid var(--line, #d8d3ca); padding-top: 20px; }
.dc-proof code { display: block; font: 12px/20px var(--font-mono, monospace); overflow-wrap: anywhere; user-select: all; }
.dc-proof p { margin-top: 8px; color: var(--text-muted, #625E56); font: 12px/18px var(--font-sans, sans-serif); }
.dc-panel-section { padding: 16px; border-bottom: 1px solid var(--line, #d8d3ca); }
.dc-panel-section h2 + p, .dc-panel-section > .dc-button, .dc-refusal > .dc-button { margin-top: 10px; }
.dc-panel-section .dc-small { margin-top: 10px; }
.dc-gates > p > span { color: var(--ok, #32664B); padding-right: 4px; }
.dc-small { font-size: 12px; line-height: 18px; }
.dc-muted { color: var(--text-muted, #625E56); }
.dc-mono, .dc-hash-short { font-family: var(--font-mono, monospace); }
.dc-legal { color: var(--text-muted, #625E56); font-size: 12px; line-height: 18px; }
.dc-empty { padding: 40px 20px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; min-height: 200px; text-align: center; }
.dc-empty p { color: var(--text-muted, #625E56); line-height: 21px; }
.dc-desk > .dc-empty { min-height: 100%; }
.dc-empty h2 { font-size: 18px; line-height: 25px; }
.dc-refusal { text-align: left; }
.dc-refusal > p { margin-top: 8px; line-height: 21px; }
.dc-refusal h2 { color: var(--text, #302E2A); }
.dc-refusal .dc-button { margin-top: 12px; }
.dc-notice { padding: 12px; border-left: 2px solid var(--warn, #8A5B15); background: var(--warn-wash, #F5ECDC); }
.dc-notice h2 { margin-bottom: 8px; }
.dc-success { border-left: 2px solid var(--ok, #32664B); padding-left: 12px; }
.dc-error { color: var(--danger, #A34439); font-size: 12px; }
.dc-padding { padding: 16px; }
.dc-splitter { position: relative; background: var(--surface-raised, #F0EDE5); border-left: 1px solid var(--line, #d8d3ca); border-right: 1px solid var(--line, #d8d3ca); cursor: col-resize; touch-action: none; }
.dc-splitter::after { content: ''; position: absolute; top: 50%; height: 32px; width: 2px; left: 1px; background: var(--line-strong, #827B70); border-radius: 2px; }
.dc-splitter:hover, .dc-splitter:focus-visible { background: var(--surface-selected, #E7E1D4); }
.dc-presentation { grid-template-columns: minmax(0, 1fr); }
.dc-presentation > .dc-queue, .dc-presentation > .dc-decision, .dc-presentation > .dc-splitter { display: none; }
.dc-preview-toolbar { padding: 8px 12px; display: flex; gap: 8px 16px; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--line, #d8d3ca); background: var(--surface-raised, #F0EDE5); font-size: 12px; }
.dc-preview-toolbar strong { font-weight: 600; }
.dc-preview-toolbar > span { color: var(--text-muted, #625E56); }
.dc-frame-buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.dc-frame-buttons .dc-button { font-size: 12px; }
.dc-frame-buttons .dc-button[aria-pressed="true"] { background: var(--surface-selected, #E7E1D4); box-shadow: inset 0 -2px var(--accent, #4C4740); }
.dc-preview-note { padding: 12px 16px; border-bottom: 1px solid var(--line, #d8d3ca); background: var(--warn-wash, #F5ECDC); font-size: 12px; line-height: 18px; }
@media (max-width: 1250px) {
  .dc-work { grid-template-columns: var(--dc-queue-width) 6px minmax(260px, 1fr) 6px var(--dc-decision-width); }
  .dc-desk { padding: 16px; }
  .dc-sheet { padding: 28px; }
  .dc-sheet header h1 { font-size: 23px; line-height: 30px; }
  .dc-presentation { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1099px) {
  .deep-cabinet { overflow: auto; }
  .dc-work { min-height: 650px; grid-template-columns: 220px minmax(0, 1fr); grid-template-rows: minmax(400px, 1fr) auto; overflow: auto; }
  .dc-splitter { display: none; }
  .dc-queue { grid-row: 1 / 3; border-right: 1px solid var(--line, #d8d3ca); }
  .dc-decision { grid-column: 2; border-top: 1px solid var(--line, #d8d3ca); max-height: 420px; }
  .dc-presentation { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(400px, 1fr); }
  .dc-presentation .dc-paper { grid-column: 1; }
}
@media (max-width: 700px) {
  .deep-cabinet { overflow: auto; }
  .dc-work { display: flex; flex-direction: column; min-height: 0; flex: 0 0 auto; overflow: visible; }
  .dc-queue { max-height: 300px; border-right: 0; border-bottom: 1px solid var(--line, #d8d3ca); }
  .dc-queue-note { display: none; }
  .dc-queue-content { max-height: 245px; }
  .dc-paper { min-height: 300px; }
  .dc-desk { padding: 12px; overflow: visible; }
  .dc-sheet { padding: 22px 20px; }
  .dc-decision { max-height: none; }
  .dc-decision-body { overflow: visible; }
  .dc-pane-toolbar { flex-wrap: wrap; }
  .dc-fields > div { grid-template-columns: minmax(70px, 30%) 1fr; gap: 8px; }
}
