:root{
  --prs:#1261d6;--prs2:#0a3f91;--prs3:#073474;--accent:#20a4f3;
  --bg:#f3f6fb;--surface:#ffffff;--surface2:#f8fafc;--line:#dbe4ef;
  --text:#122033;--muted:#66758a;--ok:#16804a;--warn:#a35b00;--danger:#b42318;
  --radius:18px;--radius-sm:12px;--shadow:0 12px 34px rgba(17,42,78,.08);
}
*{box-sizing:border-box}.prs-app{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#eef4fc 0,#f7f9fc 210px,var(--bg) 100%);min-height:100vh;padding:22px clamp(14px,2.4vw,34px) 48px;line-height:1.45}.prs-app *{box-sizing:border-box}.prs-app a{text-decoration:none}
.prs-app>.prs-top{max-width:1440px;margin:0 auto 18px;padding:20px 22px;background:linear-gradient(135deg,var(--prs3),var(--prs) 70%,#287ce9);color:#fff;border-radius:22px;box-shadow:0 18px 42px rgba(10,63,145,.22);position:sticky;top:12px;z-index:20}.prs-app>.prs-top .prs-title{color:#fff}.prs-app>.prs-top .prs-muted{color:rgba(255,255,255,.78)}.prs-app>.prs-top .prs-btn{box-shadow:none}.prs-app>.prs-top .prs-btn.alt{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff;backdrop-filter:blur(8px)}.prs-app>.prs-top .prs-btn.alt:hover{background:#fff;color:var(--prs2)}
.prs-top{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.prs-title{font-size:clamp(24px,2.5vw,34px);font-weight:900;letter-spacing:-.035em;line-height:1.08;color:var(--prs3)}.prs-section-title{font-size:20px;font-weight:900;letter-spacing:-.02em;margin:0 0 14px;color:#132b4f}.prs-muted{color:var(--muted);font-size:12.5px}.prs-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.prs-btn{appearance:none;border:0;border-radius:12px;padding:11px 16px;min-height:44px;background:linear-gradient(135deg,var(--prs),#2377e5);color:#fff;font-size:13px;font-weight:800;letter-spacing:.005em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;border:1px solid transparent;box-shadow:0 8px 18px rgba(18,97,214,.17)}.prs-btn:hover{transform:translateY(-1px);box-shadow:0 11px 23px rgba(18,97,214,.23)}.prs-btn:active{transform:translateY(0)}.prs-btn.alt{background:#fff;color:var(--prs2);border-color:#cddbec;box-shadow:none}.prs-btn.alt:hover{background:#eef5ff;border-color:#9ebde7}.prs-btn.danger{background:#fff1f0;color:var(--danger);border-color:#ffd0cb;box-shadow:none}.prs-btn.danger:hover{background:#ffe8e5}.prs-btn:focus-visible,.prs-field input:focus,.prs-field select:focus,.prs-field textarea:focus{outline:3px solid rgba(32,164,243,.2);outline-offset:1px}
.prs-card{max-width:1440px;background:rgba(255,255,255,.98);border:1px solid rgba(206,219,235,.85);border-radius:var(--radius);padding:20px;margin:16px auto;box-shadow:var(--shadow)}.prs-card>.prs-card{box-shadow:none;background:var(--surface2);border-color:#e3eaf3;margin:14px 0;max-width:none}.prs-window{background:#fff;border:1px solid #d6e2ef;border-radius:20px;padding:20px;margin-top:18px;box-shadow:0 8px 28px rgba(28,55,90,.07);position:relative;overflow:hidden}.prs-window:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--accent),var(--prs))}.prs-window>.prs-top{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #e6edf5}.prs-window>.prs-top .prs-section-title{margin:0;font-size:21px}
.prs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.prs-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.prs-field{min-width:0;margin:0 0 10px}.prs-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#43556d;font-weight:900;margin:0 0 6px}.prs-field input,.prs-field select,.prs-field textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #cfdbe8;border-radius:11px;background:#fff;color:#132033;font:inherit;font-size:14px;transition:border .15s ease,box-shadow .15s ease,background .15s ease}.prs-field input:hover,.prs-field select:hover,.prs-field textarea:hover{border-color:#aebfd2}.prs-field input:focus,.prs-field select:focus,.prs-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(32,164,243,.11);background:#fff}.prs-field textarea{min-height:100px;resize:vertical}
.prs-tabs{display:flex;gap:8px;flex-wrap:wrap}.prs-chip{padding:9px 12px;border-radius:999px;background:#edf5ff;border:1px solid #d4e7ff;color:#174b91;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.prs-chip input{accent-color:var(--prs)}
.prs-draw{height:clamp(180px,28vw,290px);width:min(100%,500px);border:12px solid #667482;background:linear-gradient(180deg,#edf7ff,#d9ebfb);display:flex;margin:12px auto 24px;border-radius:5px;box-shadow:0 12px 25px rgba(20,53,91,.13),inset 0 0 0 2px rgba(255,255,255,.7);overflow:hidden}.prs-leaf{flex:1;border-left:3px solid #748391;position:relative;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(202,230,250,.5))}.prs-leaf:first-child{border-left:0}.prs-leaf:before{content:"";position:absolute;inset:12% 12%;border:1px solid rgba(85,115,140,.45)}.prs-leaf:after{content:attr(data-type);position:absolute;left:6px;right:6px;bottom:7px;font-size:9.5px;font-weight:800;text-align:center;background:rgba(255,255,255,.9);padding:4px 5px;border-radius:5px;color:#31516f;white-space:normal}
.prs-measure{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.prs-measure .prs-btn{min-width:82px;padding:9px 11px}.prs-measure .measure:before{content:"↔";font-size:14px}.prs-warn,.prs-ok{padding:11px 13px;border-radius:11px;font-size:12.5px;font-weight:700;margin:4px 0 14px}.prs-warn{background:#fff7e9;border:1px solid #f3cd83;color:#7b4900}.prs-ok{background:#ecf9f1;border:1px solid #9bd5b4;color:#17613c}
.prs-list-item{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e2e9f2;background:#fbfcfe;padding:13px 14px;margin:8px 0;border-radius:13px;transition:transform .15s ease,border .15s ease,box-shadow .15s ease}.prs-list-item:hover{transform:translateY(-1px);border-color:#bad0e8;box-shadow:0 7px 18px rgba(32,63,98,.07)}.prs-list-item b{color:var(--prs2)}
.prs-sign{display:block;border:2px dashed #a8b8ca;border-radius:14px;background:linear-gradient(180deg,#fff,#fafcff);touch-action:none;width:100%;height:190px;box-shadow:inset 0 1px 8px rgba(18,45,76,.04)}.prs-photo{width:112px;height:82px;object-fit:cover;border-radius:11px;margin:6px 6px 0 0;border:1px solid #dce4ed;box-shadow:0 5px 15px rgba(18,48,83,.08)}.photoUp{padding:10px;border:1px dashed #a9bcd0!important;background:#f7fbff!important}.prs-history{font-size:12.5px;max-height:210px;overflow:auto;line-height:1.8;padding-right:5px}.prs-history>div{padding:5px 0;border-bottom:1px solid #edf1f5}.prs-login{max-width:680px;margin:40px auto;padding:28px;background:#fff;border:1px solid #d8e2ed;border-radius:18px;box-shadow:var(--shadow);font-weight:700;color:#30445e}
/* Tablet */
@media(max-width:1100px){.prs-app{padding:16px 14px 40px}.prs-app>.prs-top{top:8px}.prs-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.prs-card,.prs-window{padding:17px}.prs-draw{height:240px}}
/* Small tablet / large phone */
@media(max-width:760px){.prs-app{padding:10px 8px 92px;background:linear-gradient(180deg,#edf4fd 0,#f6f8fb 150px)}.prs-app>.prs-top{position:relative;top:0;border-radius:16px;padding:16px;margin-bottom:12px}.prs-title{font-size:24px}.prs-section-title{font-size:18px}.prs-grid,.prs-grid3{grid-template-columns:1fr;gap:8px}.prs-card{border-radius:15px;padding:14px;margin:11px 0}.prs-window{border-radius:15px;padding:14px 12px 15px;margin-top:14px}.prs-window:before{width:4px}.prs-window>.prs-top{align-items:flex-start}.prs-actions{width:100%}.prs-window>.prs-top .prs-actions{width:auto}.prs-app>.prs-top>.prs-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.prs-app>.prs-top>.prs-actions>*{width:100%}.prs-btn{min-height:46px;padding:11px 13px}.prs-draw{height:210px;border-width:9px;margin-bottom:18px}.prs-measure{grid-template-columns:minmax(0,1fr) 96px}.prs-measure .prs-btn{min-width:0}.prs-list-item{align-items:flex-start}.prs-list-item .prs-btn{flex:0 0 auto}.prs-sign{height:170px}.prs-photo{width:94px;height:72px}}
/* Phone */
@media(max-width:480px){.prs-app{padding-left:6px;padding-right:6px}.prs-app>.prs-top{padding:14px}.prs-title{font-size:22px}.prs-app>.prs-top>.prs-actions{grid-template-columns:1fr}.prs-window>.prs-top{display:block}.prs-window>.prs-top .prs-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:9px}.prs-list-item{display:grid;grid-template-columns:1fr}.prs-list-item .prs-btn{width:100%}.prs-measure{grid-template-columns:1fr}.prs-measure .prs-btn{width:100%}.prs-draw{height:185px;border-width:8px}.prs-card>.prs-top{align-items:flex-start}.prs-card>.prs-top .prs-btn{width:100%}.prs-tabs{display:grid;grid-template-columns:1fr 1fr}.prs-chip{justify-content:center}.prs-photo{width:calc(50% - 10px);height:110px}.prs-sign{height:155px}.prs-field input,.prs-field select,.prs-field textarea{font-size:16px} }
/* very narrow */
@media(max-width:360px){.prs-tabs{grid-template-columns:1fr}.prs-window>.prs-top .prs-actions{grid-template-columns:1fr}.prs-photo{width:100%;height:150px}.prs-draw{height:165px}}
@media(prefers-reduced-motion:reduce){.prs-btn,.prs-list-item{transition:none}}

/* V1.1.0 — shell professionale finale BDP */
.previso-rilievo-shell #previso-rilievo-app{min-height:100vh;width:100%;margin:0!important}
.prs-app{max-width:none!important;width:100%;box-sizing:border-box}
.prs-brandbar{max-width:1440px;margin:0 auto 18px;background:linear-gradient(135deg,#102c4a,#164d78);color:#fff;border-radius:18px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 12px 32px rgba(14,43,72,.18)}
.prs-brand{font-size:18px;font-weight:900;letter-spacing:.02em}.prs-brand small{display:block;font-size:11px;font-weight:700;opacity:.72;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.prs-nav{display:flex;gap:8px;flex-wrap:wrap}.prs-nav span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:9px;font-size:12px;font-weight:800;background:rgba(255,255,255,.07)}.prs-nav .active{background:#fff;color:#153b60}
.prs-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#1975b8;margin-bottom:5px}.prs-subtitle{font-size:13px;color:#66788d;margin-top:5px}
.prs-footer{max-width:1440px;margin:26px auto 0;padding:18px 4px 4px;border-top:1px solid #d9e3ee;color:#6c7c8e;font-size:11px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(max-width:760px){.prs-brandbar{border-radius:14px;padding:14px;align-items:flex-start;flex-direction:column}.prs-nav{width:100%}.prs-nav span{flex:1;text-align:center}.prs-footer{padding:16px 8px}}


/* V1.1.1 — fullscreen reale + layout desktop professionale */
html,body{overflow-x:hidden}
body.previso-rilievo-shell #previso-rilievo-app{
  position:relative!important;
  left:50%!important;
  right:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  padding:0!important;
}
body.previso-rilievo-shell .prs-app{
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  padding:20px clamp(18px,2vw,34px) 48px!important;
}
body.previso-rilievo-shell .prs-brandbar,
body.previso-rilievo-shell .prs-app>.prs-top,
body.previso-rilievo-shell .prs-card,
body.previso-rilievo-shell .prs-footer{
  width:100%!important;
  max-width:none!important;
}
body.previso-rilievo-shell .prs-brandbar{margin:0 0 18px!important}
body.previso-rilievo-shell .prs-app>.prs-top{margin:0 0 18px!important}
body.previso-rilievo-shell .prs-card{margin:16px 0!important}
body.previso-rilievo-shell .prs-footer{margin:26px 0 0!important}
body.previso-rilievo-shell .prs-window{width:100%;max-width:none}
@media(min-width:1200px){
  body.previso-rilievo-shell .prs-grid3{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.previso-rilievo-shell .prs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.previso-rilievo-shell .prs-window>.prs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.previso-rilievo-shell .prs-app{padding:10px 8px 92px!important}
}

/* V1.1.4 — accesso/registrazione PREVISO white-label + centratura viewport */
body.previso-rilievo-shell #wpadminbar{display:none!important}
html{margin-top:0!important}
.prs-auth-shell{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;margin:0!important;left:0!important;top:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:28px!important;background:radial-gradient(circle at 15% 5%,#e9f5ff 0,transparent 30%),linear-gradient(135deg,#f6f9fd,#eef4fa)!important;box-sizing:border-box!important;overflow:auto!important}
.prs-auth-card{width:min(720px,calc(100vw - 40px))!important;max-width:720px!important;margin:auto!important;background:#fff;border:1px solid #d9e4ef;border-radius:24px;padding:32px;box-shadow:0 24px 65px rgba(20,53,91,.14);color:#17283d;box-sizing:border-box}
.prs-auth-brand{font-size:22px;font-weight:950;letter-spacing:.02em;color:#123c64;margin-bottom:22px}.prs-auth-brand small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#6a7d91;margin-top:4px}
.prs-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eef4fa;padding:5px;border-radius:14px;margin-bottom:24px}.prs-auth-tabs a{display:block;text-align:center;padding:11px 12px;border-radius:10px;text-decoration:none;color:#53677d;font-weight:850}.prs-auth-tabs a.active{background:#fff;color:#125a96;box-shadow:0 4px 13px rgba(18,64,102,.09)}
.prs-auth-card h1{font-size:30px;line-height:1.1;margin:0 0 8px;color:#152b42}.prs-auth-card>p{color:#6c7d90;margin:0 0 22px}.prs-auth-form{display:grid;gap:15px}.prs-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prs-auth-form label{display:grid;gap:7px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;color:#42576e}.prs-auth-form input{width:100%;min-height:48px;border:1px solid #cbd9e7;border-radius:12px;padding:11px 13px;font:inherit;font-size:15px;color:#17283d;background:#fff;box-sizing:border-box}.prs-auth-form input:focus{outline:3px solid rgba(31,155,230,.14);border-color:#268fcf}.prs-auth-check{display:flex!important;align-items:center;gap:8px!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important}.prs-auth-check input{width:18px;height:18px;min-height:0}.prs-auth-primary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,#147fc6,#13568d);color:#fff!important;text-decoration:none;font-weight:900;font-size:15px;cursor:pointer}.prs-auth-error{background:#fff0ee;color:#8b2f25;border:1px solid #f1c1bb;padding:11px 13px;border-radius:11px;margin:0 0 16px;font-weight:700}.prs-auth-note{margin-top:20px;padding-top:16px;border-top:1px solid #e7edf4;color:#8090a2;font-size:11px;text-align:center}
@media(max-width:620px){.prs-auth-shell{padding:12px!important;align-items:flex-start!important}.prs-auth-card{margin:auto!important}.prs-auth-card{padding:20px;border-radius:18px}.prs-auth-grid{grid-template-columns:1fr}.prs-auth-card h1{font-size:25px}}
.prs-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr) auto;gap:16px;align-items:end;margin-bottom:18px}.prs-search{min-width:0}.prs-stat{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:68px;padding:10px 18px;border:1px solid #dbe6f1;border-radius:14px;background:#f7fbff}.prs-stat b{font-size:24px;color:#0b5ea8;line-height:1}.prs-stat span{font-size:12px;color:#61758a;margin-top:5px}.prs-empty{padding:34px;text-align:center;border:1px dashed #cbd9e6;border-radius:14px;color:#506579;display:flex;flex-direction:column;gap:6px}.prs-save-state{font-weight:700}.prs-save-state.ok{color:#15803d}.prs-save-state.pending{color:#a16207}.prs-save-state.saving{color:#0369a1}.prs-save-state.error{color:#b91c1c}@media(max-width:760px){.prs-toolbar{grid-template-columns:1fr}.prs-stat{align-items:flex-start}.prs-list-item{align-items:flex-start}.prs-list-item .prs-actions{width:100%;margin-top:10px;flex-wrap:wrap}}
