*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#f4f6fc;color:#1f2540;display:flex;min-height:100vh}
aside{width:230px;background:#fff;padding:20px 14px;box-shadow:2px 0 12px rgba(80,90,200,.08)}
aside h2{margin:0 0 18px;color:#6d4aff;font-size:19px}nav a,button.link{display:block;padding:10px 12px;margin-bottom:4px;border-radius:10px;color:#1f2540;text-decoration:none;background:none;border:0;font:inherit;width:100%;text-align:left;cursor:pointer}
nav a:hover,button.link:hover{background:#eef0ff;color:#4a5cff}
main{flex:1;padding:24px;max-width:1000px;margin:auto;width:100%}
.card{background:#fff;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 4px 18px rgba(80,90,200,.08)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
h1{font-size:24px;margin:0 0 16px}h3{margin-top:0}
input,select,textarea{padding:10px;border:1px solid #d5d9ee;border-radius:10px;font:inherit;max-width:100%}textarea{width:100%;font-family:monospace}
button,.btn{padding:10px 16px;border:0;border-radius:10px;background:linear-gradient(135deg,#4a7bff,#7c4aff);color:#fff;cursor:pointer;font:inherit;text-decoration:none;display:inline-block}
button.red{background:#e5484d}.msg{padding:12px 16px;border-radius:12px;margin-bottom:16px}.ok{background:#e3f8ec;color:#146c3b}.err{background:#fde8e8;color:#a31f1f}
table{width:100%;border-collapse:collapse}td,th{padding:9px 6px;border-bottom:1px solid #eceffb;text-align:left;vertical-align:middle}
form.inl{display:inline-flex;gap:4px;margin:2px}form.inl input{width:120px;padding:6px}form.inl button{padding:6px 10px}
.crumb a{color:#6d4aff}.muted{color:#6b7194;font-size:14px}.wrap{overflow-x:auto}
@media(max-width:760px){body{flex-direction:column}aside{width:100%;padding:10px}nav{display:flex;flex-wrap:wrap;gap:4px}nav a,button.link{width:auto}}
