:root {
  --brand-primary: #c54857;
  --brand-primary-hover: #ad3949;
  --brand-bg: #fff8f3;
  --brand-surface: #fff;
  --brand-text: #493227;
  --brand-muted: #7b6a60;
  --brand-accent: #69b99c;
  --brand-focus: #9f3344;
  --orange: var(--brand-primary);
  --bg: var(--brand-bg);
  --ink: var(--brand-text);
  --muted: var(--brand-muted);
}

.sidebar { display: flex; flex-direction: column; overflow-y: auto; background: linear-gradient(175deg, #493227, #342c29 66%, #28453d); }
.brand { display: flex; align-items: center; gap: 11px; line-height: 1.05; }
.brand img { width: 48px; height: 48px; border-radius: 15px; object-fit: cover; background: #fff8f3; }
.brand span { display: grid; gap: 5px; }
.brand strong { font-size: 21px; }
.brand small { font-size: 11px; font-weight: 500; color: #f2dcd3; letter-spacing: .08em; }
.sidebar nav a:hover { background: rgba(255, 255, 255, .1); }
.button:hover { background: var(--brand-primary-hover); }
.sidebar nav a:focus-visible,
.button:focus-visible,
.link:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 2px; }
.sidebar nav { flex: 1 0 auto; }
.sidebar nav { gap: 3px; margin-top: 26px; }
.sidebar nav a { padding: 8px 12px; }
.account-summary { position: static; display: grid; gap: 7px; margin-top: 18px; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.06); }
.account-summary small { color: #dfccc5; }
.account-summary a { color: #ffd9d9; text-decoration: none; }
.account-summary form { margin: 0; }
.user-control-stack { display: grid; gap: 8px; min-width: 220px; }
.user-control-stack form { display: flex; align-items: center; gap: 7px; }
.user-control-stack input, .user-control-stack select { min-width: 0; }
.status.pending { background: #fff0c7; color: #74580b; }
.status.approved { background: #ffe3c5; color: #824e13; }
.status.executed { background: #ddf6ee; color: #176758; }
.status.rejected, .status.stale { background: #ffe1dd; color: #8a3028; }
.phase { position: static; order: 4; margin: 12px 0 0; }
.private-resource-panel { border-top: 4px solid var(--brand-accent); }
.private-resource-list { display: grid; gap: 8px; margin-top: 18px; }
.private-resource-list article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fffcfa; }
.private-resource-list article span { color: var(--brand-muted); font-variant-numeric: tabular-nums; }
.private-resource-list article button { justify-self: end; }

@media (max-width: 850px) {
  body { grid-template-columns: minmax(0, 1fr); width: 100%; overflow-x: hidden; }
  .sidebar, main { width: 100%; min-width: 0; max-width: 100vw; }
  main > header { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  main > header > .actions { justify-content: flex-start; }
  .brand { justify-content: center; }
  .brand span, .sidebar nav, .sidebar nav a { min-width: 0; }
  .sidebar nav a { overflow-wrap: anywhere; }
  .account-summary { margin-top: 18px; }
  .sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private-resource-list article { grid-template-columns: 1fr; gap: 7px; }
  .private-resource-list article button { justify-self: start; }
}
