* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; margin: 0; background: #f4f5f7; color: #1f2933; }
header { background: #1f2933; color: #fff; padding: 0.8em 1.5em; display: flex; justify-content: space-between; align-items: center; }
header h1 { margin: 0; font-size: 1.2em; }
header h1 a { color: #fff; text-decoration: none; }
header nav a { color: #fff; margin-left: 1em; }
header .user { opacity: 0.7; margin-right: 1em; font-size: 0.9em; }
main { max-width: 960px; margin: 1.5em auto; padding: 0 1em; }
.card { background: #fff; padding: 1em 1.5em; border-radius: 8px; margin-bottom: 1.2em; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
.card h2 { margin-top: 0; }
.btn, button { background: #4c51bf; color: #fff; border: none; padding: 0.4em 0.9em; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-block; }
.btn:hover, button:hover { background: #434190; }
input, textarea { padding: 0.3em 0.5em; border: 1px solid #cbd5e0; border-radius: 4px; font-family: inherit; }
label { margin-right: 1em; display: inline-block; }
.out { background: #1f2933; color: #cbd5e0; padding: 1em; border-radius: 6px; max-height: 400px; overflow: auto; font-size: 0.85em; white-space: pre-wrap; word-break: break-word; }
details { background: #f7fafc; padding: 0.8em; border-radius: 4px; }
table.folders { width: 100%; border-collapse: collapse; margin-top: 0.5em; }
table.folders th, table.folders td { padding: 0.4em 0.6em; border-bottom: 1px solid #e2e8f0; font-size: 0.92em; }
table.folders th { background: #edf2f7; text-align: left; }
table.folders tbody tr:hover { background: #f7fafc; }
fieldset { border: 1px solid #cbd5e0; border-radius: 4px; padding: 0.5em 0.8em; }
fieldset legend { padding: 0 0.4em; font-weight: 600; }
