:root { --bg: #f7f8fa; --surface: #ffffff; --text: #132033; --muted: #4f6278; --line: #dbe2ea; --brand: #1163d9; } * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; background: var(--bg); color: var(--text); } .container { width: min(960px, 92vw); margin: 0 auto; } .site-header { background: var(--surface); border-bottom: 1px solid var(--line); padding: 0.75rem 0; } .row-between { display: flex; justify-content: space-between; align-items: center; gap: 1rem; } .row-gap { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; } .brand { text-decoration: none; color: var(--text); font-weight: 700; } a { color: var(--brand); } main { padding: 1.5rem 0; } .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 1.25rem; } .narrow { max-width: 560px; } .actions { display: flex; gap: 0.75rem; margin-top: 1rem; } .button, .link-button { display: inline-block; border: 1px solid var(--brand); background: var(--brand); color: #fff; padding: 0.55rem 0.9rem; border-radius: 8px; text-decoration: none; cursor: pointer; font: inherit; } .button.ghost { background: transparent; color: var(--brand); } .stack p { margin: 0 0 0.8rem; } .stack input { width: 100%; padding: 0.55rem; border: 1px solid var(--line); border-radius: 8px; } .messages { margin-bottom: 1rem; } .message { background: #e8f3ff; border: 1px solid #b7d6fa; padding: 0.6rem 0.8rem; border-radius: 8px; } .message.success { background: #e9f9ef; border-color: #bde8ca; } .message.error { background: #fff0f0; border-color: #f0b8b8; } .mt-16 { margin-top: 1rem; } .wrap-gap { flex-wrap: wrap; } .muted-text { color: var(--muted); } .search-form label { display: block; margin-bottom: 0.3rem; font-weight: 600; } .search-form input, .search-form select { width: 100%; padding: 0.5rem; border: 1px solid var(--line); border-radius: 8px; } .filter-grid { display: grid; gap: 0.75rem; margin-bottom: 0.85rem; } .filter-grid-3 { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } .filter-grid-4 { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); } .filter-actions { display: flex; align-items: end; gap: 0.5rem; } details { border-top: 1px solid var(--line); margin-top: 0.8rem; padding-top: 0.8rem; } summary { cursor: pointer; font-weight: 600; margin-bottom: 0.8rem; } .table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; font-size: 0.95rem; } th, td { text-align: left; padding: 0.55rem 0.5rem; border-bottom: 1px solid var(--line); } th { font-weight: 700; color: var(--muted); } .detail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.8rem; } .detail-card { border: 1px solid var(--line); border-radius: 10px; padding: 0.8rem; } .inline-label { display: inline-flex; align-items: center; gap: 0.35rem; }