/* MIEI DOCUMENTI — FASE Q Design System v0.1.0 */
:root {
  --md-brand-blue:#0f5e9c;
  --md-brand-blue-deep:#0b3558;
  --md-brand-fuchsia:#e73d91;
  --md-brand-orange:#f5a623;
  --md-brand-green:#36a96b;
  --md-brand-yellow:#f4c542;
  --md-ink:#152331;
  --md-muted:#647585;
  --md-line:#dfe7ed;
  --md-soft:#f5f8fa;
  --md-white:#fff;
  --md-blue:var(--md-brand-blue);
  --md-blue2:var(--md-brand-blue-deep);
  --md-accent:var(--md-brand-fuchsia);
  --md-good:#1b8251;
  --md-warning:#9a6800;
  --md-danger:#b42318;
  --md-info:#176da8;
  --md-radius-sm:10px;
  --md-radius:16px;
  --md-radius-lg:24px;
  --md-shadow-sm:0 5px 18px rgba(16,39,58,.06);
  --md-shadow:0 14px 42px rgba(16,39,58,.10);
  --md-focus:0 0 0 3px rgba(15,94,156,.18);
  --md-content:1440px;
}

body.md-design-system{color:var(--md-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.md-design-system :where(button,input,select,textarea){font:inherit}
body.md-design-system :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--md-brand-blue);outline-offset:2px;box-shadow:var(--md-focus)}

/* STEP 117 / 118 — marchio e header */
.md-public-header{border-bottom-color:var(--md-line)!important;box-shadow:0 3px 18px rgba(17,45,66,.035)}
.md-public-brand{width:246px!important;flex-basis:246px!important}
.md-public-brand img{max-height:44px;object-fit:contain}
.md-app-topbar{background:linear-gradient(115deg,var(--md-brand-blue-deep),#0e4d7b 68%,#12659d)!important;border-radius:20px!important;box-shadow:0 14px 36px rgba(11,53,88,.16)!important}
.md-app-brand{display:flex!important;align-items:center!important;width:185px;min-width:185px;line-height:0}
.md-app-brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 1px 0 rgba(255,255,255,.1))}
.md-app-brand .md-brand-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.md-app-nav a{transition:background .15s ease,color .15s ease,transform .15s ease}
.md-app-nav a:hover{transform:translateY(-1px)}
.md-app-nav a.is-active{background:rgba(255,255,255,.15)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.md-app-user a{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.45)}

/* STEP 119 — footer */
.md-public-footer{background:linear-gradient(135deg,#071d2e,#0b3558)!important}
.md-public-footer strong{color:#fff}
.md-public-footer-logo{display:block;width:min(250px,100%);height:auto;margin-bottom:16px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.08))}
.md-public-footer a{transition:color .15s ease}

/* STEP 120 — desktop */
.md-public-container,.md-app-shell{max-width:var(--md-content)}
.md-kpi,.md-panel,.md-feature-card,.md-security-grid article,.md-price-card,.md-document-card{box-shadow:var(--md-shadow-sm)}
.md-kpi,.md-panel,.md-feature-card,.md-security-grid article,.md-price-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.md-kpi:hover,.md-feature-card:hover,.md-security-grid article:hover,.md-price-card:hover{transform:translateY(-2px);box-shadow:var(--md-shadow);border-color:#cbd9e4}
.md-btn{transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}
.md-btn:hover{transform:translateY(-1px)}
.md-btn-primary{background:var(--md-brand-blue)!important;color:#fff!important}
.md-btn-primary:hover{background:#0b4e83!important}
.md-btn-secondary,.md-btn-ghost{background:#fff!important;border-color:#cfdce5!important;color:var(--md-ink)!important}
.md-btn-secondary:hover,.md-btn-ghost:hover{border-color:var(--md-brand-blue)!important;color:var(--md-brand-blue)!important}

/* Form */
.md-design-system .md-field input,.md-design-system .md-field select,.md-design-system .md-field textarea,
.md-design-system .md-contact-form input,.md-design-system .md-contact-form select,.md-design-system .md-contact-form textarea{
  border:1px solid #cbd7e0!important;border-radius:10px!important;background:#fff!important;min-height:44px;padding:10px 12px;color:var(--md-ink)
}
.md-design-system .md-field textarea,.md-design-system .md-contact-form textarea{min-height:100px}
.md-design-system .md-field input:focus,.md-design-system .md-field select:focus,.md-design-system .md-field textarea:focus,
.md-design-system .md-contact-form input:focus,.md-design-system .md-contact-form select:focus,.md-design-system .md-contact-form textarea:focus{border-color:var(--md-brand-blue)!important;outline:0!important;box-shadow:var(--md-focus)!important}

/* STEP 123 — iconografia documentale */
.md-document-icon{position:relative;overflow:hidden;border-radius:14px!important;background:#eaf2f8!important;color:var(--md-brand-blue-deep)!important;border:1px solid #d5e2ec;font-weight:900!important;letter-spacing:.03em}
.md-document-icon:after{content:"";position:absolute;right:-1px;top:-1px;border-style:solid;border-width:0 15px 15px 0;border-color:transparent rgba(255,255,255,.92) transparent transparent}
.md-document-icon.md-filetype-pdf{background:#fff0ef!important;color:#a93226!important;border-color:#f1cbc7}
.md-document-icon.md-filetype-doc,.md-document-icon.md-filetype-docx{background:#edf5ff!important;color:#155ca8!important;border-color:#cfe0f5}
.md-document-icon.md-filetype-xls,.md-document-icon.md-filetype-xlsx{background:#edf9f2!important;color:#176b43!important;border-color:#cce9d8}
.md-document-icon.md-filetype-jpg,.md-document-icon.md-filetype-jpeg,.md-document-icon.md-filetype-png{background:#fff7e8!important;color:#9c6500!important;border-color:#f0dfb7}
.md-encrypted-pill{background:#edf8f2!important;color:#176b43!important;border:1px solid #c9e7d6!important}

/* STEP 124 — stati e alert */
.md-notice{border-radius:12px!important;border:1px solid transparent!important;padding:14px 16px!important;line-height:1.5!important;box-shadow:none!important}
.md-notice.is-success{background:#edf8f2!important;color:#155d3b!important;border-color:#c4e3d2!important}
.md-notice.is-error{background:#fff1f0!important;color:#8e2018!important;border-color:#f0c7c3!important}
.md-notice.is-warning{background:#fff8e8!important;color:#7a5707!important;border-color:#eed99f!important}
.md-notice.is-info{background:#eef6fb!important;color:#175a83!important;border-color:#cbdfea!important}
.md-security-badge.is-on{background:#edf8f2!important;color:#176b43!important;border-color:#c8e5d5!important}
.md-security-badge.is-off{background:#fff8e8!important;color:#805a00!important;border-color:#ead79e!important}

/* Header pubblico mobile */
.md-public-mobile-menu{display:none;position:relative;margin-left:auto}
.md-public-mobile-menu summary{list-style:none;cursor:pointer;border:1px solid #cedbe4;border-radius:10px;padding:9px 12px;font-weight:800;color:var(--md-ink);background:#fff}
.md-public-mobile-menu summary::-webkit-details-marker{display:none}
.md-public-mobile-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 28px));background:#fff;border:1px solid var(--md-line);border-radius:14px;padding:10px;box-shadow:var(--md-shadow);z-index:200}
.md-public-mobile-menu-panel a{display:block;padding:11px 12px;border-radius:9px;color:var(--md-ink)!important;font-weight:700}
.md-public-mobile-menu-panel a:hover,.md-public-mobile-menu-panel a.is-active{background:var(--md-soft);color:var(--md-brand-blue)!important}

/* STEP 121 — tablet */
@media (max-width: 1024px){
  .md-public-container{width:calc(100% - 32px)!important}
  .md-public-nav{display:none!important}
  .md-public-mobile-menu{display:block}
  .md-public-actions{margin-left:0!important}
  .md-app-topbar{gap:14px!important}
  .md-app-brand{width:165px;min-width:165px}
  .md-app-nav{order:3;width:100%;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
  .md-app-nav a{white-space:nowrap}
  .md-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* STEP 122 — smartphone */
@media (max-width: 640px){
  .md-public-container{width:calc(100% - 22px)!important}
  .md-public-header-inner{min-height:66px!important;gap:8px!important}
  .md-public-brand{width:156px!important;flex-basis:156px!important}
  .md-public-actions{display:none!important}
  .md-public-mobile-menu{display:block!important}
  .md-public-hero{padding:48px 0!important}
  .md-public-section{padding:54px 0!important}
  .md-public-hero h1{font-size:38px!important}
  body.md-standalone-dashboard .md-app-shell{width:calc(100% - 14px)!important;margin:8px auto 32px!important}
  .md-app-topbar{border-radius:14px!important;padding:12px!important}
  .md-app-brand{width:145px;min-width:145px}
  .md-app-user{margin-left:auto}
  .md-app-nav{margin-top:2px}
  .md-app-nav a{font-size:12px!important;padding:8px 9px!important}
  .md-dashboard-main{padding:22px 1px!important}
  .md-kpi-grid,.md-panel-grid{grid-template-columns:1fr!important;gap:12px!important}
  .md-kpi{min-height:105px!important;padding:17px!important}
  .md-kpi strong{font-size:32px!important}
  .md-document-card{grid-template-columns:54px minmax(0,1fr)!important;padding:14px!important}
  .md-document-icon{width:54px!important;height:54px!important;font-size:11px!important}
  .md-document-actions{gap:7px!important}
  .md-document-actions .md-btn{width:100%}
}

/* Breakpoint coerente con la navigazione pubblica preesistente. */
@media (max-width:1180px){
  .md-public-mobile-menu{display:block}
}
