/* Pannello Keepbull: stile tipo Shopify Polaris */
:root{--p-bg:#f1f1f1;--p-card:#fff;--p-text:#303030;--p-sub:#616161;--p-border:#e3e3e3;--p-hover:#f7f7f7;--p-link:#005bd3;--p-primary:#303030;--p-primary-h:#1a1a1a;--p-critical:#e51c00;--p-chart:#005bd3;--p-chart-soft:#005bd340;--p-pos:#0c5132}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.kb-admin{font-family:"Inter",-apple-system,system-ui,"Segoe UI",sans-serif;font-size:13px;line-height:20px;font-weight:450;color:var(--p-text);background:var(--p-bg);-webkit-font-smoothing:antialiased}
a{color:var(--p-link);text-decoration:none}a:hover{text-decoration:underline}
.plr-top{position:fixed;top:0;left:0;right:0;height:56px;background:#1a1a1a;display:flex;align-items:center;gap:12px;padding:0 12px;z-index:50}
.plr-burger{display:none;background:none;border:0;color:#e3e3e3;cursor:pointer;padding:6px}
.plr-logo{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;letter-spacing:.08em;width:216px;font-size:14px}
.plr-logo img{height:22px;width:auto;filter:invert(1)}
.plr-search{flex:1;display:flex;justify-content:center}
.plr-search input{width:100%;max-width:480px;height:34px;border-radius:10px;background:#303030;border:1px solid #616161;color:#e3e3e3;padding:0 12px;font:inherit}
.plr-search input::placeholder{color:#a8a8a8}
.plr-topr{display:flex;align-items:center;gap:10px}
.plr-topr a,.plr-topr button{color:#e3e3e3;background:none;border:0;font:inherit;cursor:pointer;display:flex;align-items:center}
.plr-avatar{width:26px;height:26px;border-radius:6px;background:#036e41;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:650;font-size:12px}
.plr-side{position:fixed;top:56px;bottom:0;left:0;width:240px;background:#ebebeb;overflow-y:auto;padding:12px 8px 60px;z-index:40;transition:transform .2s}
.plr-side h6{margin:14px 10px 4px;font-size:11px;color:#616161;font-weight:650;text-transform:uppercase;letter-spacing:.04em}
.plr-nav a{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;color:#303030;font-weight:550;font-size:13px;text-decoration:none;margin:1px 0}
.plr-nav a svg{width:18px;height:18px;flex:none;color:#4a4a4a}
.plr-nav a:hover{background:#f1f1f1}
.plr-nav a.on{background:#fff;font-weight:650;box-shadow:0 1px 0 #1a1a1a12}
.plr-nav a.sub{padding-left:36px;font-weight:450}
.plr-side .plr-foot{margin-top:18px;padding:0 10px}
.plr-main{margin-left:240px;padding:80px 24px 32px;max-width:1240px}
.plr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.plr-head h1{font-size:20px;line-height:28px;font-weight:650;margin:0}
.plr-sub{color:var(--p-sub)}
.card{background:var(--p-card);border-radius:12px;box-shadow:0 1px 0 #1a1a1a12,0 0 0 1px #1a1a1a0a;padding:16px;margin-bottom:16px}
.card h2{font-size:14px;font-weight:650;margin:0 0 12px}
.card h3{font-size:13px;font-weight:650;margin:16px 0 8px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border-radius:12px;box-shadow:0 1px 0 #1a1a1a12,0 0 0 1px #1a1a1a0a;padding:14px 16px}
.kpi .l{color:var(--p-sub);font-size:12px;font-weight:550}
.kpi .v{font-size:20px;font-weight:650;line-height:28px;margin-top:2px}
.kpi .d{font-size:12px;color:var(--p-sub)}
.up{color:#0c5132}.down{color:#8e1f0b}
.tbl{overflow-x:auto;margin:0 -16px}
table{width:100%;border-collapse:collapse}
th{font-size:12px;color:#616161;font-weight:550;background:#f7f7f7;text-align:left;padding:8px 12px;white-space:nowrap;border-bottom:1px solid var(--p-border)}
td{padding:10px 12px;border-bottom:1px solid #f1f1f1;height:44px;vertical-align:middle}
tr:hover td{background:var(--p-hover)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-flex;align-items:center;font-size:12px;line-height:16px;font-weight:550;padding:2px 8px;border-radius:8px;background:#e3e3e3;color:#303030;white-space:nowrap;margin:1px 2px 1px 0}
.badge.success{background:#cdfee1;color:#0c5132}.badge.attention{background:#ffd6a4;color:#5e4200}.badge.critical{background:#fedad9;color:#8e1f0b}.badge.info{background:#d5ebff;color:#00527c}.badge.yellow{background:#ffeb78;color:#4f4700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:0;background:#fff;color:#303030;font:inherit;font-weight:550;cursor:pointer;box-shadow:0 1px 0 #e3e3e3 inset,0 -1px 0 #b5b5b5 inset,0 0 0 1px #0000002e;text-decoration:none!important;white-space:nowrap}
.btn:hover{background:#f7f7f7}
.btn.primary{background:var(--p-primary);color:#fff;box-shadow:0 -1px 0 #000 inset,0 1px 0 #ffffff40 inset}.btn.primary:hover{background:var(--p-primary-h)}
.btn.critical{background:var(--p-critical);color:#fff;box-shadow:none}
.btn.sm{height:28px;padding:0 10px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.seg{display:inline-flex;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px #0000002e}
.seg a{padding:5px 10px;color:#303030;font-weight:550;background:#fff;border-right:1px solid #e3e3e3;text-decoration:none}
.seg a:last-child{border-right:0}.seg a.on{background:#303030;color:#fff}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--p-border);margin:-4px -16px 12px;padding:0 12px}
.tabs a{padding:8px 10px;color:#616161;font-weight:550;border-bottom:2px solid transparent;text-decoration:none}.tabs a.on{color:#303030;border-color:#303030}
label.fl{display:block;font-weight:550;margin:10px 0 4px}
.help{color:var(--p-sub);font-size:12px;margin-top:2px}
input.in,select.in,textarea.in{width:100%;min-height:32px;border:1px solid #8a8a8a;border-radius:8px;padding:5px 10px;font:inherit;color:#303030;background:#fff}
textarea.in{min-height:80px}
input.in:focus,select.in:focus,textarea.in:focus{outline:2px solid #005bd3;outline-offset:1px}
.chk{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:550}
.chk input{width:16px;height:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.banner{border-radius:12px;padding:12px 16px;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}
.banner.success{background:#cdfee1;color:#0c5132}.banner.critical{background:#fedad9;color:#8e1f0b}.banner.attention{background:#fff1e3;color:#5e4200}.banner.info{background:#eaf4ff;color:#00527c}
.muted{color:var(--p-sub)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;position:relative;padding:4px 0 14px 40px}
.steps li:before{content:counter(s);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;background:#303030;color:#fff;font-weight:650;display:flex;align-items:center;justify-content:center}
.copy{display:flex;gap:6px;align-items:center;background:#f7f7f7;border-radius:8px;padding:6px 8px;margin:4px 0;font-family:ui-monospace,Menlo,monospace;font-size:12px;word-break:break-all}
.copy span{flex:1}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot.ok{background:#29845a}.dot.ko{background:#e51c00}.dot.wait{background:#ffb800}
.bar{height:8px;background:#e3e3e3;border-radius:4px;overflow:hidden;min-width:60px}.bar i{display:block;height:100%;background:var(--p-chart)}
.chart svg{width:100%;height:auto;display:block}
dialog{border:0;border-radius:12px;padding:0;box-shadow:0 20px 40px #0004;max-width:420px;width:92%}
dialog .dh{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--p-border);font-weight:650}
dialog .db{padding:16px}dialog .df{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--p-border)}
.plr-overlay{display:none}
.login{max-width:380px;margin:12vh auto;padding:0 16px}
.login .card{padding:24px}
.login h1{font-size:20px;margin:0 0 4px}
pre.code{background:#1a1a1a;color:#e3e3e3;border-radius:8px;padding:10px;overflow:auto;font-size:12px}
@media (max-width:900px){
 .plr-burger{display:block}.plr-logo{width:auto}.plr-search{display:none}
 .plr-side{transform:translateX(-100%)}body.nav-open .plr-side{transform:none}
 body.nav-open .plr-overlay{display:block;position:fixed;inset:56px 0 0 0;background:#0005;z-index:30}
 .plr-main{margin-left:0;padding:72px 12px 24px}
 .g2,.g3,.g4,.g6,.row2,.row3{grid-template-columns:1fr}
}
.plr-topr svg{width:20px;height:20px}
td.n{white-space:nowrap}
