:root { --navy:#1d3557; --red:#e63946; --border:#e2e8f0; --muted:#56667d; --background:#f4f2ed; --card:#fff; color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; background:var(--background); color:var(--navy); font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.shell { width:min(980px,calc(100% - 32px)); margin:40px auto 60px; }
header { margin-bottom:22px; }
.eyebrow { font-size:.74rem; letter-spacing:.12em; color:var(--red); font-weight:800; }
h1 { margin:7px 0 12px; font-size:clamp(1.65rem,4vw,2.6rem); line-height:1.2; }
h2 { margin:0 0 12px; font-size:1.2rem; }
p { margin:9px 0 18px; }
.panel { border:1px solid var(--border); border-radius:14px; background:var(--card); padding:clamp(20px,4vw,32px); margin:18px 0; box-shadow:0 8px 20px rgba(0,0,0,.03); }
.notice { padding:16px 20px; border-left:4px solid var(--navy); border-radius:8px; background:#ecf0f6; margin:18px 0; }
.error { padding:14px 18px; border:1px solid #cf3737; border-radius:9px; background:#fff0f0; color:#9b1b1b; margin:16px 0; }
.success { padding:14px 18px; border:1px solid #4d9e74; border-radius:9px; background:#eaf8ef; color:#194b32; margin:16px 0; }
form { max-width:580px; }
label { display:block; margin:14px 0; font-size:.95rem; font-weight:700; }
label input { display:block; width:100%; border-radius:9px; border:1px solid #b9c4d1; height:50px; padding:12px 13px; margin-top:7px; font-size:1rem; background:#fff; color:var(--navy); }
label input:focus { outline:3px solid rgba(230,57,70,.22); border-color:var(--red); }
button, .button-link { border:0; background:var(--red); color:#fff; font:700 .98rem system-ui,sans-serif; border-radius:9px; padding:13px 21px; cursor:pointer; text-decoration:none; display:inline-block; }
button:hover, .button-link:hover { background:#c42c3a; }
button.secondary { background:var(--navy); font-size:.83rem; padding:10px 14px; }
button.secondary:hover { background:#2c527e; }
.secret { background:#f6f8fb; padding:16px; border:1px solid var(--border); border-radius:11px; margin:15px 0; }
.secret span,.secret strong { display:block; }
.secret code { display:block; white-space:normal; overflow-wrap:anywhere; font-size:1.15rem; font-weight:800; color:#b12235; margin-top:10px; letter-spacing:.05em; }
.help { font-size:.9rem; color:var(--muted); }
.topline { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:8px 0 25px; flex-wrap:wrap; }
.topline form { margin:0; }
.user { color:var(--muted); font-size:.9rem; word-break:break-all; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.metric { background:white; border:1px solid var(--border); border-radius:12px; padding:16px; display:flex; flex-direction:column; }
.metric span { color:var(--muted); font-size:.85rem; }
.metric strong { font-size:1.9rem; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:550px; }
th,td { text-align:left; border-bottom:1px solid var(--border); padding:12px 8px; font-size:.9rem; }
th { color:var(--muted); }
td small { display:block; color:var(--muted); }
.pill { font-size:.8rem; font-weight:700; background:#eef2f7; color:var(--navy); border-radius:20px; padding:5px 8px; }
code { font-size:.9em; }
footer { color:var(--muted); font-size:.8rem; text-align:center; margin-top:30px; }
a { color:#a61a2c; }
@media(max-width:700px){.shell{margin-top:22px}.metrics{grid-template-columns:repeat(2,1fr)}}

/* Estensione v0.3: gestione partner e assegnazioni. Mantiene i vecchi componenti. */
.admin-nav { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:4px 0 20px; }
.admin-nav a { display:inline-block; padding:8px 13px; text-decoration:none; border-radius:9px; font-size:.92rem; font-weight:700; background:#fff; border:1px solid var(--border); color:var(--navy); }
.admin-nav a[aria-current="page"] { background:var(--navy); color:#fff; }
label select, label textarea { display:block; width:100%; border-radius:9px; border:1px solid #b9c4d1; min-height:50px; padding:11px 13px; margin-top:7px; font:inherit; background:#fff; color:var(--navy); }
label select:focus, label textarea:focus { outline:3px solid rgba(230,57,70,.22); border-color:var(--red); }
.form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:18px; }
.inline-form { display:inline-block; margin:0; }
button.text-button { background:none; padding:2px 4px; border-radius:3px; color:#9b1b1b; text-decoration:underline; font-size:.88rem; }
button.text-button:hover { background:#fff0f0; }
td strong { font-weight:750; }
@media(max-width:700px) { .admin-nav a { flex:1; text-align:center; } .form-actions button { width:100%; } }
