body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif;margin:0}
*{border-radius:10px}
:root{--brown-color:#5c413d}
iframe{background-color:#000;width:100%;border:0}
.text-red{color:red}

/* ---- navbar / tab (identici all'originale) ---- */
.nav-link{font-size:1.3rem!important;position:relative}
.nav-link,.nav-link:hover{color:var(--brown-color)}
.nav-link:before{background-color:var(--brown-color);bottom:0;content:"";height:3px;left:0;
  position:absolute;transition:all .3s ease-in-out;width:0}
.nav-link:hover:before,.nav-link.active:before{width:100%}
.navbar{border-radius:0 0 10px 10px;box-shadow:0 0 10px #000;overflow:hidden;
  position:relative;z-index:10;background:#fff}
.navbar-nav{align-items:center;display:flex;gap:2vw;justify-content:flex-end;width:100%}
.navbar .btn-secondary{background-color:var(--brown-color)!important;color:#fff!important;font-size:1.3rem!important}
.navbar .btn-secondary:hover{background-color:gray!important}

/* ---- login (identico all'originale) ---- */
.Login{align-items:center;background-size:cover;display:flex;height:100vh;justify-content:center;
  width:100vw;background-color:#f5f2f1}
.LoginForm{background-color:#fff;box-shadow:0 0 20px 5px var(--brown-color);display:flex;
  flex-direction:column;min-height:min(90vh,40rem);min-width:min(90vw,40rem);position:relative;padding:2.5rem}
.Login input{border:.1rem solid var(--brown-color)}
.Login .btn-secondary{background-color:var(--brown-color);color:#fff;font-size:1.15rem}
.Login label{color:var(--brown-color);font-weight:600;width:100%;max-width:26rem}

/* ---- portale: navbar + iframe a piena altezza ---- */
body.portal{display:flex;flex-direction:column;height:100vh}
.viewer{flex:1 1 auto;min-height:0}
.viewer iframe{height:100%}
.empty{flex:1 1 auto}

/* ---- admin: coerente col tema marrone ---- */
body.admin{background:#f5f2f1}
.btn-brown,.btn-brown:hover{background-color:var(--brown-color);color:#fff}
.admin-wrap{max-width:1100px;margin:26px auto;padding:0 16px}
.admin-nav{display:flex;align-items:center;justify-content:space-between;background:#fff;
  box-shadow:0 0 10px #000;border-radius:0 0 10px 10px;padding:10px 20px}
.admin-nav .links a{color:var(--brown-color);font-weight:600;margin-left:18px;text-decoration:none}
.card-brown{box-shadow:0 0 12px 2px rgba(92,65,61,.35)}
table td,table th{vertical-align:middle}
