/* Joy Audit CRM - backend */
:root{--blu:#2f6df6;--blu-scuro:#0f2545;--teal:#14b8a6;--grigio:#5b6b82;--chiaro:#f5f8fc;--bordo:#e4ebf3;}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,Arial,sans-serif;background:#eef2f8;color:#243447}
a{color:var(--blu);text-decoration:none}
.topbar{background:var(--blu-scuro);color:#fff;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:700}
.topbar .brand img{height:30px;filter:brightness(0) invert(1)}
.topbar .brand small{font-weight:400;color:#9db4dc;font-size:.72rem;letter-spacing:2px}
.topbar .user{font-size:.9rem;color:#c3d0e4}
.topbar .user a{color:#9db4dc;margin-left:14px}
.wrap{max-width:1120px;margin:26px auto;padding:0 18px}
.panel{background:#fff;border:1px solid var(--bordo);border-radius:12px;box-shadow:0 8px 24px rgba(16,44,84,.06)}
.panel .ph{padding:16px 20px;border-bottom:1px solid var(--bordo);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.panel .pb{padding:20px}
h1{font-size:1.4rem;margin:0}
h2{font-size:1.1rem;color:var(--blu-scuro)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--bordo);font-size:.92rem;vertical-align:top}
th{background:var(--chiaro);color:var(--grigio);font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}
tr:hover td{background:#fafcff}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:600}
.b-nuovo{background:#e7f0ff;color:#1e59da}
.b-lavorazione{background:#fff3e0;color:#b26a00}
.b-chiuso{background:#e9ecef;color:#6b7280}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters a{padding:7px 14px;border-radius:999px;border:1px solid var(--bordo);color:var(--grigio);font-size:.85rem}
.filters a.active{background:var(--blu);color:#fff;border-color:var(--blu)}
.btn{display:inline-block;padding:10px 18px;border-radius:8px;font-weight:600;border:1px solid transparent;cursor:pointer;font-size:.9rem;background:var(--blu);color:#fff}
.btn:hover{background:#1e59da}
.btn-sec{background:#fff;border-color:var(--bordo);color:var(--blu-scuro)}
.btn-sec:hover{background:var(--chiaro)}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--bordo);border-radius:8px;font:inherit}
textarea{min-height:120px;resize:vertical}
label{display:block;font-weight:600;font-size:.82rem;margin-bottom:5px;color:var(--blu-scuro)}
.field{margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1.4fr .9fr;gap:22px}
.msg{border-radius:10px;padding:12px 14px;margin-bottom:14px}
.msg.in{background:#f5f8fc;border:1px solid var(--bordo)}
.msg.out{background:#eafaf4;border:1px solid #bfe9d9}
.msg .meta{font-size:.75rem;color:var(--grigio);margin-bottom:6px;display:flex;justify-content:space-between}
.kv{font-size:.9rem;line-height:1.9}
.kv b{color:var(--grigio);font-weight:600;display:inline-block;min-width:90px}
/* login */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f2545,#1e59da)}
.login-box{background:#fff;border-radius:16px;padding:36px;width:100%;max-width:380px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.login-box img{height:44px;margin:0 auto 20px;display:block}
.login-box .err{background:#fdecec;border:1px solid #f3b7b7;color:#a12626;padding:10px;border-radius:8px;font-size:.85rem;margin-bottom:14px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
