.wrap { max-width: 960px; margin: 0 auto; padding: 24px 16px 48px; font-family: system-ui, sans-serif; color: #1a1a1a; } .card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px; margin-bottom: 20px; } .title { margin: 0 0 8px; font-size: 1.5rem; } .sub { color: #666; margin: 0 0 16px; font-size: 0.95rem; } .form { display: flex; flex-direction: column; gap: 12px; max-width: 360px; } .label { display: flex; flex-direction: column; gap: 4px; font-size: 0.9rem; } .input { padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 1rem; } .textarea { min-height: 100px; font-family: inherit; } .btn { padding: 10px 16px; border: none; border-radius: 4px; background: #2563eb; color: #fff; font-size: 1rem; cursor: pointer; &:hover { background: #1d4ed8; } &:disabled { opacity: 0.6; cursor: not-allowed; } } .btnDanger { background: #dc2626; &:hover { background: #b91c1c; } } .btnGhost { background: #f3f4f6; color: #111; &:hover { background: #e5e7eb; } } .error { color: #b91c1c; font-size: 0.9rem; } .success { color: #15803d; font-size: 0.9rem; } .nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #e5e7eb; } .nav a { color: #2563eb; text-decoration: none; &:hover { text-decoration: underline; } } .table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } .table th, .table td { border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top; } .table th { background: #f9fafb; } .rowActions { display: flex; flex-wrap: wrap; gap: 8px; } .hr { border: none; border-top: 1px solid #e5e7eb; margin: 16px 0; }