body{font-family:Arial,Helvetica,sans-serif;margin:0;background:#f4f6fb;color:#111827}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.topbar{background:#111827;padding:16px 0}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center}
.topbar a{color:#fff;text-decoration:none;margin-left:18px}
.brand{font-weight:700;font-size:20px}
main.wrap{padding:24px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.card,.form{background:#fff;padding:18px;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.06);margin-bottom:16px}
.card .v{font-size:32px;font-weight:700}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;background:#e5e7eb;color:#111827;border:none;text-decoration:none;cursor:pointer}
.btn.primary{background:#2563eb;color:#fff}
.form label{display:block;margin:10px 0 6px}
.form input,.form select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ok{padding:12px 14px;background:#dcfce7;border:1px solid #86efac;border-radius:10px;margin-bottom:16px}
.small{font-size:12px;word-break:break-all}
.cfg{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.canvas-wrap{position:relative;width:100%;border:1px solid #d1d5db;border-radius:14px;overflow:hidden;background:#111827}
.canvas-wrap img{display:block;width:100%}
.canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
@media (max-width:900px){.cfg{grid-template-columns:1fr}}
