.fmg-partner-page{margin:0;background:#f5f3f7;color:#111827;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.fmg-partner-page .fmg-app{max-width:1440px;margin:24px auto;padding:0 16px}
.fmg-partner-page .fmg-shell{min-height:calc(100vh - 48px)}
.fmg-partner-page .fmg-main{min-width:0;padding:30px}
.fmg-partner-page h1,.fmg-partner-page h2,.fmg-partner-page h3{line-height:1.25}
.fmg-partner-page a{color:#551a8b}
.fmg-partner-page .fmg-partner-login{max-width:560px;margin:10vh auto}
.fmg-partner-login .fmg-card-section{padding:32px;background:#fff;border:1px solid #e7deea;border-radius:18px;box-shadow:0 8px 24px #3b17500d}
.fmg-partner-login img{display:block;margin-bottom:20px}
.fmg-partner-login .fmg-eyebrow{display:block}
.fmg-partner-account{margin-top:auto;border-top:1px solid #e7deea;padding:20px 12px;font-size:13px}
.fmg-partner-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:22px 0}
.fmg-partner-kpis article{border:1px solid #e7deea;border-radius:14px;background:#fff;padding:18px;display:grid;align-content:start;gap:6px}
.fmg-partner-kpis span,.fmg-partner-request small{font-size:13px;color:#5c6474}
.fmg-partner-kpis strong{font-size:26px;color:#551a8b}
.fmg-partner-kpis small{color:#6b7280}
.fmg-partner-page .fmg-card-section{margin:18px 0;border:1px solid #e7deea;border-radius:14px;padding:22px;background:#fff}
.fmg-partner-form{display:grid;gap:18px;margin:16px 0}
.fmg-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fmg-partner-form label,.fmg-partner-profile label,.fmg-partner-period label{display:grid;gap:6px;font-size:14px;font-weight:600}
.fmg-partner-form input:not([type=checkbox]),.fmg-partner-form select,.fmg-partner-form textarea,.fmg-partner-profile select,.fmg-partner-period input,.fmg-partner-period select{width:100%;min-width:0;padding:10px 12px;border:1px solid #cbd0db;border-radius:9px;background:#fff;font:inherit;color:#111827}
.fmg-partner-form textarea{resize:vertical}
.fmg-partner-form .fmg-btn{justify-self:start}
.fmg-partner-form .fmg-partner-check,.fmg-partner-profile .fmg-partner-check{display:flex;align-items:flex-start;gap:9px;font-weight:400}
.fmg-partner-check input{margin-top:4px;flex:0 0 auto}
.fmg-partner-estimate{display:grid;gap:8px;background:#f5edf7;border:1px solid #e2cfe8;border-radius:12px;padding:18px}
.fmg-partner-estimate strong{font-size:30px;color:#551a8b}
.fmg-partner-estimate small{font-size:13px}
.fmg-partner-request{display:flex;justify-content:space-between;gap:20px;align-items:center}
.fmg-partner-request h3{margin:6px 0}
.fmg-partner-request p{margin:6px 0;color:#5c6474}
.fmg-partner-request>div:last-child{display:grid;gap:4px;min-width:170px}
.fmg-partner-request strong{font-size:22px;color:#551a8b}
.fmg-partner-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fmg-partner-details>div{background:#f8f7fa;padding:14px;border-radius:9px;overflow-wrap:anywhere}
.fmg-partner-details dt{font-size:12px;color:#5c6474}
.fmg-partner-details dd{margin:4px 0;font-weight:600}
.fmg-partner-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.fmg-partner-period{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:18px 0}
.fmg-partner-table-wrap{overflow-x:auto}
.fmg-partner-table{width:100%;border-collapse:collapse;font-size:14px}
.fmg-partner-table th,.fmg-partner-table td{text-align:left;vertical-align:top;padding:13px 10px;border-bottom:1px solid #e7deea}
.fmg-partner-table th{background:#faf7fc;color:#551a8b}
.fmg-partner-profiles{display:grid;gap:12px}
.fmg-partner-profile{display:flex;align-items:center;flex-wrap:wrap;gap:18px;border-top:1px solid #e7deea;padding:16px 0}
.fmg-partner-profile strong{flex:1;min-width:180px}
.fmg-partner-profile strong small{display:block;color:#6b7280;font-weight:400}
.fmg-partner-alert{color:#9a3412;background:#fff7ed;padding:12px;border-radius:9px}
.fmg-partner-page :focus-visible{outline:3px solid #a879a8;outline-offset:3px}
@media(min-width:761px) and (max-width:900px){.fmg-partner-page .fmg-sidebar{display:flex}.fmg-partner-page .fmg-nav{display:flex;flex-wrap:wrap}.fmg-partner-account{display:flex;gap:16px;align-items:center}.fmg-partner-account p{margin:0}}
.fmg-partner-page button{font-family:inherit;cursor:pointer}
.fmg-partner-page button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.fmg-partner-page .fmg-app{margin:0;padding:0}.fmg-partner-page .fmg-shell{display:block;border-radius:0;min-height:100vh}.fmg-partner-page .fmg-sidebar{display:block!important;position:static!important;width:auto!important;transform:none!important;border-right:0;border-bottom:1px solid #e7deea;padding:18px}.fmg-partner-page .fmg-brand{padding-bottom:12px}.fmg-partner-page .fmg-nav{display:flex;flex-wrap:wrap;gap:5px;padding:12px 0}.fmg-partner-page .fmg-nav-item{font-size:13px;min-height:40px;padding:8px 10px}.fmg-partner-account{padding:12px 0 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.fmg-partner-account p{margin:0}.fmg-partner-page .fmg-main{padding:20px 16px}.fmg-partner-page .fmg-head{display:grid;gap:14px}.fmg-partner-grid,.fmg-partner-details{grid-template-columns:1fr}.fmg-partner-request{display:grid;gap:10px}.fmg-partner-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fmg-partner-kpis article{padding:14px}.fmg-partner-kpis strong{font-size:23px}.fmg-partner-page .fmg-card-section{padding:18px}.fmg-partner-page .fmg-partner-login{padding:24px;margin:4vh auto}.fmg-partner-profile{align-items:flex-start}}
@media(max-width:380px){.fmg-partner-kpis{grid-template-columns:1fr}}

/* Area Partner: proporzioni compatte, tema isolato dal gestionale del personale. */
.fmg-partner-page{font-size:14px}
.fmg-partner-page .fmg-shell{grid-template-columns:224px minmax(0,1fr)}
.fmg-partner-page .fmg-head{padding-right:32px;align-items:center}
.fmg-partner-page .fmg-head h1{font-size:25px!important;font-weight:650!important;letter-spacing:-.025em}
.fmg-partner-page .fmg-main h2{font-size:18px!important;font-weight:600!important;margin:20px 0 12px}
.fmg-partner-page .fmg-main h3{font-size:15px!important;font-weight:600!important}
.fmg-partner-page .fmg-head p,.fmg-partner-page .fmg-card-section p{font-size:13px;line-height:1.7}
.fmg-partner-page .fmg-nav-item{min-height:40px;padding:9px 12px;font-size:13px;font-weight:550}
.fmg-partner-page .fmg-brand strong{font-size:16px;font-weight:650;letter-spacing:.08em}
.fmg-partner-page .fmg-brand img{width:38px;height:38px;flex-basis:38px}
.fmg-partner-page .fmg-btn{min-height:38px;padding:9px 14px;font-size:13px!important;font-weight:550;line-height:1.4;border-radius:8px;box-shadow:none}
.fmg-partner-page .fmg-partner-kpis strong{font-size:23px;font-weight:600;letter-spacing:-.025em}
.fmg-partner-page .fmg-partner-estimate strong{font-size:25px;font-weight:600}
.fmg-partner-page .fmg-partner-request strong{font-size:18px;font-weight:600}
.fmg-partner-page .fmg-partner-form label,.fmg-partner-page .fmg-partner-period label{font-size:12px;font-weight:550}
.fmg-partner-page .fmg-partner-form :is(input:not([type=hidden]),select,textarea),.fmg-partner-page .fmg-partner-period input{min-height:42px;padding:10px 12px;font-size:14px;font-weight:400}
.fmg-partner-page .fmg-partner-table{font-size:13px}
.fmg-partner-page .fmg-partner-details dd{font-size:13px;font-weight:500}
.fmg-partner-tools{position:fixed;top:12px;right:18px;z-index:1000}
.fmg-partner-page .fmg-partner-theme-toggle{display:grid;place-items:center;width:38px;height:38px;padding:8px;border:1px solid #c5b5ce;border-radius:50%;background:#fffc;color:#5c3670;box-shadow:0 3px 16px #120a181a;backdrop-filter:blur(12px);cursor:pointer}
.fmg-partner-theme-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fmg-partner-theme-toggle .fmg-theme-sun{display:none}
.fmg-partner-page .fmg-entry-card h2{font-size:32px!important;font-weight:400!important}
.fmg-partner-page .fmg-entry-story h1{font-size:clamp(39px,4.6vw,66px)!important;font-weight:400!important}
.fmg-partner-page .fmg-entry-card{padding:34px;border-radius:22px}
.fmg-partner-page .fmg-entry-form .fmg-entry-submit,.fmg-partner-page .fmg-entry-back{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border:1px solid #684375;border-radius:9px;background:#684375;color:#fff!important;font:550 13px/1.5 system-ui;text-align:center;text-decoration:none}
.fmg-partner-page .fmg-entry-form input:is([type=email],[type=password],[type=text]){min-height:46px;padding-top:11px;padding-bottom:11px}
.fmg-partner-page .fmg-partner-denied .fmg-entry-background{object-position:center center}
.fmg-partner-page .fmg-partner-denied .fmg-entry-card{max-width:460px}
html[data-fmg-partner-theme=dark]{color-scheme:dark}
html[data-fmg-partner-theme=dark] .fmg-partner-page{background:#08070b;color:#f0eaf4}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-app{--fmg-text:#f0eaf4;--fmg-muted:#b5a9c0;--fmg-white:#100d15;--fmg-soft:#17121e;--fmg-violet:#d1afe8;--fmg-line:#3a2c46;--fmg-brand:#9868b4;--fmg-brand-dark:#b48acc;--fmg-shadow:0 12px 40px #0005;color:#f0eaf4}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-sidebar{background:#120d19;border-color:#382941}
html[data-fmg-partner-theme=dark] .fmg-partner-page :is(.fmg-brand,.fmg-partner-account){border-color:#382941}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-nav-item{color:#cbbdd5!important}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-nav-item:is(:hover,.is-active){background:#2c1c39;color:#ebd5fb!important}
html[data-fmg-partner-theme=dark] .fmg-partner-page :is(.fmg-head h1,.fmg-main h2,.fmg-main h3){color:#f5edf9}
html[data-fmg-partner-theme=dark] .fmg-partner-page :is(.fmg-card-section,.fmg-partner-kpis article){background:#15101d;border-color:#382941}
html[data-fmg-partner-theme=dark] .fmg-partner-page :is(.fmg-partner-kpis span,.fmg-partner-kpis small,.fmg-partner-request p,.fmg-partner-request small,.fmg-partner-details dt){color:#b8aac3}
html[data-fmg-partner-theme=dark] .fmg-partner-page :is(.fmg-partner-kpis strong,.fmg-partner-estimate strong,.fmg-partner-request strong){color:#d8b4f0}
html[data-fmg-partner-theme=dark] .fmg-partner-page a{color:#d6b3eb}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-form :is(input,select,textarea),html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-period input{background:#0c0911;border-color:#5c456e;color:#f4edf8;color-scheme:dark}
html[data-fmg-partner-theme=dark] .fmg-partner-page select option{background:#15101d;color:#f4edf8}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-estimate{background:#23152e;border-color:#51355f;color:#dfd0e9}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-details>div{background:#201628}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-table :is(th,td){border-color:#382941}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-table th{background:#24162e;color:#dfbdf5}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-btn-secondary{background:#211729;border-color:#60446f;color:#e1c1f3!important}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-notice{background:#24162e;color:#f3e6fb;border-color:#60446f}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-theme-toggle{background:#1b1123e8;border-color:#6c4c80;color:#e4c8f5}
html[data-fmg-partner-theme=dark] .fmg-theme-moon{display:none}
html[data-fmg-partner-theme=dark] .fmg-partner-theme-toggle .fmg-theme-sun{display:block}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-entry-card{background:#130b1ce8;border-color:#79598b;color:#f5eafc;box-shadow:0 24px 80px #0007}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-entry-card :is(h2,.fmg-entry-card-brand){color:#e9d1f7}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-entry-card :is(.fmg-entry-intro,.fmg-entry-join,.fmg-entry-reset,.fmg-entry-remember){color:#d0bfdc}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-entry-form input:is([type=email],[type=password],[type=text]){background:#08060dba;border-color:#755887;color:#f3e9f9}
html[data-fmg-partner-theme=dark] .fmg-partner-page :is(.fmg-entry-toggle,.fmg-entry-join a){color:#dab7ee}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-entry:before{background:linear-gradient(90deg,#050208bd,#16091c8c)}
@media(max-width:760px){.fmg-partner-page .fmg-head{padding-right:0}.fmg-partner-page .fmg-main{padding-top:22px}.fmg-partner-page .fmg-btn{min-height:44px}.fmg-partner-page .fmg-partner-form :is(input:not([type=hidden]),select,textarea),.fmg-partner-page .fmg-partner-period input{font-size:16px}.fmg-partner-page .fmg-head h1{font-size:23px!important}.fmg-partner-page .fmg-brand{padding-right:42px}.fmg-partner-tools{top:12px;right:12px}.fmg-partner-page .fmg-entry-card{padding:28px 24px}.fmg-partner-page .fmg-entry-card h2{font-size:29px!important}}

/* Lingue interne e schermate desktop ancorate alla finestra. */
.fmg-partner-tools{display:flex;align-items:center;gap:8px}
.fmg-partner-page .fmg-partner-language-switch{box-sizing:border-box;display:grid;place-items:center;width:38px;height:38px;padding:7px;border:1px solid #c5b5ce;border-radius:50%;background:#fffc;box-shadow:0 3px 16px #120a181a;backdrop-filter:blur(12px)}
.fmg-partner-language-switch svg{display:block;width:24px;height:16px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #0002}
html[data-fmg-partner-theme=dark] .fmg-partner-page .fmg-partner-language-switch{background:#1b1123e8;border-color:#6c4c80}
html[data-fmg-partner-theme]{margin-top:0!important}
@media(min-width:821px){
 .fmg-partner-page .fmg-partner-entry{height:100vh;height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr);padding:clamp(18px,4vh,46px) clamp(28px,6vw,96px);overflow:hidden}
 .fmg-partner-page .fmg-entry-card{min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,3vh,34px);scrollbar-width:thin}
 .fmg-partner-page .fmg-entry-story{min-height:0;padding:0}
 .fmg-partner-page .fmg-entry-story h1{font-size:clamp(36px,7.6vh,66px)!important}
 .fmg-partner-page .fmg-entry-kicker{margin:10px 0 clamp(22px,5vh,48px)}
 .fmg-partner-page .fmg-entry-card .fmg-entry-card-brand{margin-bottom:clamp(14px,2.5vh,26px)}
 .fmg-partner-page .fmg-entry-card .fmg-entry-intro{margin-bottom:18px}
 .fmg-partner-page .fmg-entry-form{gap:12px}
 .fmg-partner-page .fmg-entry-form label{gap:6px}
 .fmg-partner-page .fmg-entry-form input:is([type=email],[type=password],[type=text]){min-height:42px;padding-top:9px;padding-bottom:9px}
 .fmg-partner-page .fmg-entry-form .fmg-entry-submit{min-height:42px;padding-top:10px;padding-bottom:10px}
 .fmg-partner-page .fmg-entry-card .fmg-entry-reset{margin:14px 0 18px}
 .fmg-partner-page .fmg-entry-join{padding-top:16px}
}
@media(min-width:901px){
 .fmg-partner-page .fmg-app.fmg-partner-app{height:calc(100vh - 32px);height:calc(100dvh - 32px);margin:16px auto}
 .fmg-partner-page .fmg-partner-app .fmg-shell{height:100%;min-height:0;overflow:hidden}
 .fmg-partner-page .fmg-partner-app .fmg-sidebar{min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .fmg-partner-page .fmg-partner-app .fmg-main{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .fmg-partner-page .fmg-partner-app .fmg-head{padding-right:64px}
}
@media(max-width:760px){.fmg-partner-page .fmg-brand{padding-right:82px}}
@media(min-width:821px) and (max-height:700px){
 .fmg-partner-page .fmg-entry-card{padding:16px 22px}
 .fmg-partner-page .fmg-entry-card .fmg-entry-card-brand{margin-bottom:12px;font-size:11px}
 .fmg-partner-page .fmg-entry-card-brand img{width:28px;height:28px}
 .fmg-partner-page .fmg-entry-card h2{font-size:28px!important}
 .fmg-partner-page .fmg-entry-card .fmg-entry-intro{margin-bottom:12px;font-size:13px;line-height:1.5}
 .fmg-partner-page .fmg-entry-form{gap:9px}
 .fmg-partner-page .fmg-entry-form label{gap:4px;font-size:11px;line-height:1.4}
 .fmg-partner-page .fmg-entry-form input:is([type=email],[type=password],[type=text]){min-height:38px;padding:8px 12px;font-size:14px}
 .fmg-partner-page .fmg-entry-form .fmg-entry-submit{min-height:38px;padding:9px 16px}
 .fmg-partner-page .fmg-entry-card .fmg-entry-reset{margin:12px 0;font-size:11px}
 .fmg-partner-page .fmg-entry-join{padding-top:12px;font-size:11px}
 .fmg-partner-page .fmg-entry-card:has([role=alert]) .fmg-entry-intro{display:none}
 .fmg-partner-page .fmg-entry-card [role=alert]{margin:0 0 12px!important;padding:8px 10px!important;font-size:12px!important;line-height:1.5!important}
}
