.admin-dashboard { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(12px, 2vw, 20px); box-shadow: var(--shadow-sm); } .dashboard-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-4); } .dashboard-header h1 { margin: 0; font-size: 1.45rem; } .dashboard-header p { margin: var(--space-2) 0 0; color: var(--color-text-muted); } .header-actions { display: flex; gap: var(--space-2); } .workspace { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.9fr); gap: var(--space-4); align-items: start; } .list-panel, .detail-panel { min-width: 0; } button { border: 0; border-radius: var(--radius-md); background: var(--color-brand); color: var(--color-neutral-900); padding: var(--space-2) var(--space-4); font-weight: 600; cursor: pointer; transition: background-color 0.2s ease; line-height: 1.2; } button:hover:not(:disabled) { background: var(--color-brand-hover); } button.ghost { background: var(--color-bg-card); color: var(--color-text); border: 1px solid var(--color-border); } button:disabled { opacity: 0.65; cursor: default; } .list-panel h2 { font-size: 1.05rem; margin-bottom: var(--space-2); } .list-toolbar { display: grid; grid-template-columns: minmax(230px, 1.6fr) minmax(170px, 1fr) minmax(190px, 1fr); gap: var(--space-2); margin-bottom: var(--space-3); } .toolbar-field { display: grid; gap: var(--space-1); } .toolbar-field span { font-size: 0.78rem; font-weight: 600; color: var(--color-text-muted); } .toolbar-field input, .toolbar-field select { width: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); background: var(--color-bg-card); font: inherit; } .table-wrap { overflow: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg-card); max-height: 72vh; } table { width: 100%; border-collapse: collapse; min-width: 760px; } thead { background: var(--color-neutral-100); } th, td { text-align: left; padding: var(--space-3); border-bottom: 1px solid var(--color-border); vertical-align: top; font-size: 0.93rem; } tbody tr { cursor: pointer; transition: background-color 0.15s ease; } tbody tr:hover { background: #fff9d9; } tbody tr.selected { background: #fff5b8; } tbody tr.no-results { cursor: default; } tbody tr.no-results:hover { background: transparent; } .detail-panel { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-4); min-height: 520px; } .detail-panel.empty { display: grid; align-content: center; justify-items: center; text-align: center; color: var(--color-text-muted); } .order-uuid { font-size: 0.84rem; color: var(--color-text-muted); } .order-uuid code { font-size: 0.82rem; color: var(--color-text); background: var(--color-neutral-100); border: 1px solid var(--color-border); border-radius: 6px; padding: 2px 6px; } .detail-header h2 { margin: 0 0 var(--space-2); } .meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin-bottom: var(--space-3); } .meta-grid > div { background: var(--color-neutral-100); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-3); display: grid; gap: 2px; } .meta-grid strong { font-size: 0.78rem; color: var(--color-text-muted); } .actions-block { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: flex-end; margin-bottom: var(--space-3); } .status-editor { display: grid; gap: var(--space-2); } .status-editor label { font-size: 0.8rem; font-weight: 600; color: var(--color-text-muted); } .status-editor select { min-width: 210px; border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); background: var(--color-bg-card); font: inherit; } .doc-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-3); } .items { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-3); } .item { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-3); background: var(--color-bg-card); box-shadow: var(--shadow-sm); display: grid; gap: var(--space-3); } .item-main { min-width: 0; } .file-name { margin: 0; font-size: 0.92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .item-meta { margin: var(--space-1) 0 0; font-size: 0.84rem; color: var(--color-text-muted); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .item button { justify-self: start; } .color-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid var(--color-border); } .error { color: var(--color-danger-500); margin-bottom: var(--space-3); } .modal-backdrop { position: fixed; inset: 0; background: rgba(16, 24, 32, 0.35); display: flex; align-items: center; justify-content: center; z-index: 4000; padding: var(--space-4); } .modal-card { width: min(860px, 100%); max-height: 88vh; overflow: auto; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-4); } .modal-header { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); } .modal-header h3 { margin: 0; } .close-btn { white-space: nowrap; } .modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin-bottom: var(--space-4); } .modal-grid > div { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-neutral-100); padding: var(--space-3); display: grid; gap: 2px; } .modal-grid strong { font-size: 0.78rem; color: var(--color-text-muted); } h4 { margin: 0 0 var(--space-2); } .file-color-list { border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; } .file-color-row { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-border); background: var(--color-bg-card); } .file-color-row:last-child { border-bottom: 0; } .filename { font-size: 0.9rem; } .file-color { display: inline-flex; align-items: center; gap: 6px; color: var(--color-text-muted); font-size: 0.88rem; } @media (max-width: 1280px) { .workspace { grid-template-columns: 1fr; } .detail-panel { min-height: unset; } } @media (max-width: 820px) { .admin-dashboard { padding: var(--space-4); } .list-toolbar { grid-template-columns: 1fr; } .dashboard-header { flex-direction: column; } .meta-grid, .modal-grid { grid-template-columns: 1fr; } .item { align-items: flex-start; } .actions-block { flex-direction: column; align-items: stretch; } .status-editor { width: 100%; } .status-editor select { width: 100%; min-width: 0; } .doc-actions button { width: 100%; justify-content: center; } .items { grid-template-columns: 1fr; } } @media (max-width: 520px) { .admin-dashboard { padding: var(--space-3); } th, td { padding: var(--space-2); font-size: 0.88rem; } .modal-backdrop { padding: var(--space-2); } }