*{box-sizing:border-box}body{margin:0;font-family:tahoma,Arial,sans-serif;background:#f5f6f8;color:#202124}aside{position:fixed;right:0;top:0;bottom:0;width:230px;background:#111827;padding:18px;color:#fff}aside .brand{font-weight:800;font-size:18px;padding:8px 10px 22px}aside a{display:block;color:#dbe2ea;text-decoration:none;padding:11px;border-radius:8px;margin:3px 0}aside a:hover{background:#1f2937;color:#fff}main{margin-right:230px;padding:28px;max-width:1500px}.solo{margin:0;max-width:none}.card{background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:18px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.stat{font-size:28px;font-weight:800}.muted{color:#6b7280;font-size:13px}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef2ff;font-size:12px}.danger{background:#fee2e2}.ok{background:#dcfce7}.warning{background:#fef3c7}input,textarea,select{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;margin-top:6px;background:#fff}textarea{min-height:140px;resize:vertical}label{display:block;font-weight:700;margin-bottom:14px}button,.btn{display:inline-block;border:0;background:#111827;color:white;padding:10px 16px;border-radius:8px;text-decoration:none;cursor:pointer}.btn.secondary{background:#e5e7eb;color:#111}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:right;padding:11px;border-bottom:1px solid #eee;vertical-align:top}.messages{max-height:600px;overflow:auto}.msg{max-width:75%;padding:10px 12px;border-radius:12px;margin:8px 0;white-space:pre-wrap}.msg.in{background:#f1f5f9;margin-left:auto}.msg.out{background:#e0f2fe;margin-right:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:12px}.notice{padding:12px;border-radius:8px;background:#eef2ff;margin-bottom:15px}.login{max-width:420px;margin:100px auto}.small{font-size:12px}.ltr{direction:ltr;text-align:left}@media(max-width:800px){aside{position:static;width:auto}main{margin:0;padding:15px}aside a{display:inline-block}.grid{grid-template-columns:1fr}}
.button{display:inline-block;padding:11px 16px;background:#111827;color:#fff!important;border-radius:8px;text-decoration:none;font-weight:700}.notice.error{background:#ffe8e8;color:#7a1111;border:1px solid #ffc5c5}
