
/* NORIMPIANTI AREA DIPENDENTI v1.1.3 */
body.nori-dip-page {
    background:#fff !important;
}
body.nori-dip-page .site-header,
body.nori-dip-page .site-footer,
body.nori-dip-page .entry-header,
body.nori-dip-page .page-header,
body.nori-dip-page .ast-page-header,
body.nori-dip-page .site-breadcrumbs,
body.nori-dip-page .breadcrumb-area,
body.nori-dip-page .main-header-bar,
body.nori-dip-page .ast-primary-header-bar,
body.nori-dip-page .ast-mobile-header-wrap,
body.nori-dip-page .entry-title,
body.nori-dip-page .page-title,
body.nori-dip-page .wp-block-post-title {
    display:none !important;
}
body.nori-dip-page #page,
body.nori-dip-page .site,
body.nori-dip-page .site-content,
body.nori-dip-page .content-area,
body.nori-dip-page .site-main,
body.nori-dip-page article,
body.nori-dip-page .entry-content {
    margin:0 !important;
    padding:0 !important;
    max-width:none !important;
    width:100% !important;
}
body.nori-dip-page .nori-app {
    min-height:100vh;
    background:#f6f8fa;
    color:#20344c;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    overflow:hidden;
}
.nori-topbar {
    height:105px;
    background:#fff;
    border-bottom:4px solid #f36f00;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 6%;
    position:relative;
    z-index:3;
    box-sizing:border-box;
}
.nori-top-logo { display:flex; align-items:center; }
.nori-top-logo .custom-logo-link { display:block; line-height:0; }
.nori-top-logo img {
    display:block;
    width:auto;
    max-width:310px;
    max-height:74px;
    object-fit:contain;
}
.nori-text-logo {
    font-size:32px;
    font-weight:900;
    color:#ef7200;
}
.nori-top-title {
    font-size:30px;
    line-height:1;
    color:#52647a;
    font-weight:400;
}
.nori-top-title strong { color:#f36f00; font-weight:500; }

.nori-main {
    min-height:calc(100vh - 105px);
    position:relative;
    padding:32px 20px 42px;
    box-sizing:border-box;
    background:
        linear-gradient(90deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.84) 25%, rgba(255,255,255,.90) 75%, rgba(255,255,255,.35) 100%),
        #f5f7f9;
    overflow:hidden;
}
.nori-main:before,
.nori-main:after {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
    pointer-events:none;
    z-index:0;
}
.nori-main:before {
    left:0;
    width:29%;
    background-image:url("bg-left.png");
}
.nori-main:after {
    right:0;
    width:31%;
    background-image:url("bg-right.png");
}
.nori-panel {
    position:relative;
    z-index:1;
    width:min(610px,100%);
    margin:0 auto;
    background:rgba(255,255,255,.93);
    border-radius:20px;
    padding:23px 22px 22px;
    box-shadow:0 12px 40px rgba(45,65,85,.12);
    box-sizing:border-box;
}
.nori-welcome { text-align:center; margin-bottom:21px; }
.nori-welcome h1 {
    margin:0;
    color:#243a52;
    font-size:26px;
    line-height:1.2;
    font-weight:700;
}
.nori-welcome h1 span { color:#f36f00; }
.nori-wave { font-size:26px; line-height:1; margin:10px 0 7px; }
.nori-welcome p {
    margin:0;
    color:#5e7188;
    font-size:17px;
    font-weight:400;
}
.nori-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.nori-card {
    min-height:96px;
    border:0;
    border-radius:18px;
    padding:16px 14px 16px 18px;
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(40,55,75,.06);
    transition:transform .18s ease, box-shadow .18s ease;
    font-family:inherit;
}
.nori-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px rgba(40,55,75,.12); }
.nori-card-blue { background:#eaf5ff; }
.nori-card-orange { background:#fff1e8; }
.nori-card-green { background:#ecfaf4; }
.nori-card-purple { background:#f1edff; }
.nori-card-icon {
    width:52px; height:52px; min-width:52px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
}
.nori-card-icon svg {
    width:33px; height:33px; fill:none; stroke:currentColor;
    stroke-width:4; stroke-linecap:round; stroke-linejoin:round;
}
.nori-card-blue .nori-card-icon { background:#1685ee; color:#fff; }
.nori-card-orange .nori-card-icon { background:#f36f00; color:#fff; }
.nori-card-green .nori-card-icon { background:#17ad68; color:#fff; }
.nori-card-purple .nori-card-icon { background:#6846d9; color:#fff; }
.nori-card-text { flex:1; }
.nori-card-text strong {
    display:block;
    color:#20344c;
    font-size:18px;
    line-height:1.1;
    margin-bottom:8px;
    font-weight:750;
}
.nori-card-text small {
    display:block;
    color:#53687e;
    font-size:13px;
    line-height:1.35;
    font-weight:450;
}
.nori-arrow {
    font-size:30px;
    font-weight:300;
    line-height:1;
}
.nori-card-blue .nori-arrow { color:#1685ee; }
.nori-card-orange .nori-arrow { color:#f36f00; }
.nori-card-green .nori-arrow { color:#17ad68; }
.nori-card-purple .nori-arrow { color:#6846d9; }

.nori-area-info {
    margin-top:14px;
    min-height:62px;
    padding:13px 18px;
    border-radius:17px;
    background:#f5f7f9;
    display:flex;
    align-items:center;
    gap:20px;
    box-sizing:border-box;
}
.nori-area-gear {
    font-size:35px;
    color:#506579;
    line-height:1;
}
.nori-area-info strong {
    display:block;
    color:#20344c;
    font-size:17px;
    margin-bottom:3px;
}
.nori-area-info small {
    display:block;
    color:#5e7188;
    font-size:14px;
}
.nori-logout-big {
    margin-top:14px;
    height:50px;
    border-radius:17px;
    background:#ff6b00;
    color:#fff !important;
    text-decoration:none !important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    font-size:17px;
    font-weight:650;
    box-shadow:0 8px 20px rgba(243,111,0,.16);
}
.nori-logout-big:hover { background:#f36f00; color:#fff !important; }
.nori-logout-big span { font-size:24px; line-height:1; }

.nori-modal-wrap { display:none; position:fixed; inset:0; z-index:999999; }
.nori-modal-wrap.is-open { display:block; }
.nori-modal-backdrop { position:absolute; inset:0; background:rgba(15,25,40,.55); backdrop-filter:blur(4px); }
.nori-modal {
    position:relative; width:min(560px,calc(100% - 30px)); max-height:85vh; overflow:auto;
    margin:8vh auto 0; background:#fff; border-radius:20px; padding:34px;
    box-shadow:0 25px 70px rgba(0,0,0,.25); box-sizing:border-box;
}
.nori-close {
    position:absolute; right:16px; top:13px; border:0; background:#f1f3f5;
    width:40px; height:40px; border-radius:50%; font-size:25px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    padding:0; margin:0; line-height:1; font-family:Arial,sans-serif;
    color:#52647a; text-align:center;
}
.nori-modal-content { display:none; }
.nori-modal-content.active { display:block; }
.nori-modal-icon { display:inline-flex; width:60px; height:50px; border-radius:50%; align-items:center; justify-content:center; font-size:26px; color:#fff; }
.nori-modal-icon.nori-blue { background:#f36f00; }
.nori-modal-icon.nori-orange { background:#f36f00; }
.nori-modal-icon.nori-green { background:#17ad68; }
.nori-modal-icon.nori-purple { background:#6846d9; }
.nori-modal h2 { margin:13px 0 8px; font-size:24px; color:#20344c; }
.nori-modal p { color:#66778a; line-height:1.55; font-size:14px; }
.nori-coming { margin-top:14px; padding:14px 16px; background:#fff4e9; color:#b65d00; border-radius:12px; font-weight:700; }


/* LOGIN PERSONALIZZATO v1.3.1 */
.nori-login-screen {
    min-height:100vh;
    background:#f5f7f9;
    color:#20344c;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.nori-login-main {
    min-height:calc(100vh - 105px);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px 20px 55px;
    box-sizing:border-box;
    overflow:hidden;
    background:
        linear-gradient(90deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.86) 28%, rgba(255,255,255,.92) 72%, rgba(255,255,255,.32) 100%),
        #f5f7f9;
}
.nori-login-main:before,
.nori-login-main:after {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
    pointer-events:none;
}
.nori-login-main:before { left:0; width:29%; background-image:url("bg-left.png"); }
.nori-login-main:after { right:0; width:31%; background-image:url("bg-right.png"); }
.nori-login-card {
    position:relative;
    z-index:1;
    width:min(430px,100%);
    padding:34px 34px 28px;
    background:rgba(255,255,255,.96);
    border-radius:22px;
    box-shadow:0 15px 50px rgba(45,65,85,.15);
    box-sizing:border-box;
    text-align:center;
}
.nori-login-icon {
    width:66px;
    height:66px;
    margin:0 auto 15px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff1e8;
    font-size:31px;
}
.nori-login-card h1 {
    margin:0 0 9px;
    color:#20344c;
    font-size:27px;
    line-height:1.2;
}
.nori-login-subtitle {
    margin:0 auto 23px;
    max-width:350px;
    color:#65778a;
    font-size:14px;
    line-height:1.5;
}
.nori-login-form { text-align:left; }
.nori-login-form label:not(.nori-login-check) {
    display:block;
    margin:0 0 7px;
    color:#30465d;
    font-size:14px;
    font-weight:650;
}
.nori-login-form input[type="text"],
.nori-login-form input[type="password"] {
    width:100%;
    height:49px;
    margin:0 0 16px;
    padding:0 14px;
    border:1px solid #d7dfe6;
    border-radius:11px;
    background:#fff;
    color:#20344c;
    font-size:15px;
    box-sizing:border-box;
    outline:none;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.nori-login-form input[type="text"]:focus,
.nori-login-form input[type="password"]:focus {
    border-color:#f36f00;
    box-shadow:0 0 0 3px rgba(243,111,0,.12);
}
.nori-login-check {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 19px;
    color:#5e7188;
    font-size:13px;
    cursor:pointer;
}
.nori-login-check input { accent-color:#f36f00; }
.nori-login-submit {
    width:100%;
    height:51px;
    border:0;
    border-radius:12px;
    background:#f36f00;
    color:#fff;
    font-size:16px;
    font-weight:750;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(243,111,0,.18);
    transition:transform .15s ease, background .15s ease;
}
.nori-login-submit:hover { background:#e86500; transform:translateY(-1px); }
.nori-login-error {
    margin:0 0 17px;
    padding:11px 13px;
    border-radius:10px;
    background:#fff0f0;
    color:#b42318;
    font-size:13px;
    line-height:1.4;
    text-align:left;
}
.nori-login-help {
    margin-top:19px;
    color:#8290a0;
    font-size:12px;
}

.nori-login {
    max-width:520px; margin:80px auto; padding:35px; background:#fff;
    border-radius:20px; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.nori-btn {
    display:inline-block; margin-top:15px; background:#f36f00; color:#fff;
    padding:12px 22px; border-radius:10px; text-decoration:none; font-weight:700;
}

@media (max-width:900px) {
    .nori-topbar { height:112px; padding:0 4%; }
    .nori-top-logo img { max-width:245px; max-height:82px; }
    .nori-top-title { font-size:36px; }
}
@media (max-width:700px) {
    body.nori-dip-page .nori-app { overflow:auto; }
    /* Mobile compatto v1.4.4 */
    .nori-topbar { height:58px; border-bottom-width:2px; padding:0 10px; gap:5px; }
    .nori-top-logo { flex:0 1 auto; min-width:0; }
    .nori-top-logo img { max-width:112px; max-height:39px; }
    .nori-top-title { font-size:17px; white-space:nowrap; flex:0 1 auto; }
    .nori-main { min-height:calc(100vh - 58px); padding:12px 7px 20px; }
    .nori-main:before { width:32%; opacity:.38; }
    .nori-main:after { width:34%; opacity:.32; }
    .nori-panel { padding:13px 10px 13px; border-radius:15px; }
    .nori-welcome { margin-bottom:12px; }
    .nori-welcome h1 { font-size:18px; line-height:1.12; }
    .nori-wave { font-size:18px; margin:4px 0 3px; }
    .nori-welcome p { font-size:11px; }
    .nori-grid { grid-template-columns:1fr; gap:7px; }
    .nori-card { min-height:72px; padding:9px 10px; gap:9px; border-radius:13px; }
    .nori-card-icon { width:40px; height:40px; min-width:40px; }
    .nori-card-icon svg { width:24px; height:24px; }
    .nori-card-text strong { font-size:14px; margin-bottom:3px; }
    .nori-card-text small { font-size:11px; line-height:1.2; }
    .nori-arrow { font-size:20px; }
    .nori-area-info { margin-top:8px; min-height:48px; padding:9px 10px; gap:8px; border-radius:12px; }
    .nori-area-gear { font-size:23px; }
    .nori-area-info strong { font-size:13px; margin-bottom:2px; }
    .nori-area-info small { font-size:10px; }
    .nori-logout-big { margin-top:8px; height:43px; font-size:14px; border-radius:12px; }
}

/* Stato selezionato: arancione molto chiaro, senza cambiare l'identità dei quattro colori */
.nori-card:hover,
.nori-card:focus,
.nori-card:focus-visible,
.nori-card:active {
    background:#fff0e3 !important;
    outline:none;
    border:0;
}
.nori-card:focus-visible {
    box-shadow:0 0 0 3px rgba(243,111,0,.22), 0 10px 24px rgba(40,55,75,.10);
}
.nori-card:hover .nori-arrow,
.nori-card:focus .nori-arrow,
.nori-card:active .nori-arrow {
    color:#f36f00 !important;
}

/* Ulteriore riduzione desktop richiesta */
@media (min-width:701px) {
    .nori-panel { max-width:610px; }
    .nori-grid { gap:14px; }
    .nori-card { min-height:92px; }
    .nori-card-icon { width:50px; height:50px; min-width:50px; }
    .nori-card-icon svg { width:31px; height:31px; }
    .nori-card-text strong { font-size:18px; margin-bottom:5px; }
    .nori-card-text small { font-size:13px; }
    .nori-area-info { min-height:60px; }
    .nori-logout-big { height:50px; font-size:18px; }
}

/* TIMBRATURE */
.nori-attendance { margin-top:18px; }
.nori-attendance-head {
    display:flex; align-items:center; justify-content:space-between; gap:15px;
    padding:15px 16px; background:#f7f9fb; border-radius:15px;
}
.nori-attendance-kicker { color:#f36f00; font-size:11px; font-weight:800; letter-spacing:1.2px; }
.nori-attendance-head h3 { margin:3px 0 0; font-size:18px; color:#20344c; text-transform:capitalize; }
.nori-attendance-total { text-align:right; }
.nori-attendance-total small { display:block; color:#718095; font-size:10px; font-weight:800; letter-spacing:.7px; }
.nori-attendance-total strong { display:block; color:#f36f00; font-size:25px; line-height:1.15; }
.nori-attendance-status {
    margin-top:12px; padding:11px 14px; border-radius:12px;
    display:flex; align-items:center; gap:9px; font-size:14px;
}
.nori-status-dot { width:9px; height:9px; border-radius:50%; display:block; }
.nori-status-in { background:#eaf8f0; color:#15804e; }
.nori-status-in .nori-status-dot { background:#18ad68; }
.nori-status-break { background:#fff6e8; color:#aa6500; }
.nori-status-break .nori-status-dot { background:#f2a400; }
.nori-status-out { background:#f1f3f5; color:#647487; }
.nori-status-out .nori-status-dot { background:#8a98a8; }
.nori-attendance-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.nori-att-btn {
    min-height:45px; border:0; border-radius:11px; color:#fff; font-family:inherit;
    font-size:14px; font-weight:750; cursor:pointer; transition:.15s;
}
.nori-att-btn:hover { transform:translateY(-1px); filter:brightness(.98); }
.nori-att-btn.is-loading { opacity:.6; pointer-events:none; }
.nori-att-in { background:#1685ee; }
.nori-att-break { background:#f0a000; }
.nori-att-resume { background:#17ad68; }
.nori-att-out { background:#ef5c45; }
.nori-att-timeline { margin-top:17px; }
.nori-att-timeline h4 { margin:0 0 9px; font-size:15px; color:#20344c; }
.nori-att-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:8px 10px; border-bottom:1px solid #edf0f3; color:#68788b; font-size:13px;
}
.nori-att-row strong { color:#20344c; font-size:13px; }
.nori-att-empty { color:#8390a0; font-size:13px; padding:8px 0; }
.nori-att-note { margin-top:13px; color:#8995a3; font-size:11px; line-height:1.4; }

@media (max-width:700px) {
    .nori-attendance-head { padding:13px; }
    .nori-attendance-head h3 { font-size:16px; }
    .nori-attendance-total strong { font-size:22px; }
    .nori-attendance-actions { grid-template-columns:1fr; }
}

.nori-close:hover {
    background:#fff0e3;
    color:#f36f00;
}


@media (max-width:700px) {
    .nori-login-main { min-height:calc(100vh - 92px); padding:28px 15px 35px; }
    .nori-login-main:before { width:40%; opacity:.7; }
    .nori-login-main:after { width:42%; opacity:.55; }
    .nori-login-card { padding:29px 22px 24px; border-radius:20px; }
    .nori-login-card h1 { font-size:24px; }
    .nori-login-icon { width:60px; height:60px; font-size:28px; }
}

/* Rapportini v1.5.0 */
.nori-reports{margin-top:18px;text-align:left}.nori-report-intro{background:#fff7f0;border:1px solid #ffe1c8;border-radius:16px;padding:14px 16px;margin-bottom:14px}.nori-report-intro strong{display:block;font-size:18px;color:#243b5a}.nori-report-intro span{display:block;color:#63748b;margin-top:3px}.nori-report-form{display:block}.nori-report-section{background:#fff;border:1px solid #edf0f4;border-radius:16px;padding:16px;margin-bottom:12px}.nori-report-section h3{margin:0 0 12px;color:#243b5a;font-size:17px}.nori-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nori-report-grid label,.nori-report-full{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#53657b}.nori-report-grid input,.nori-report-grid select,.nori-report-full textarea{width:100%;box-sizing:border-box;border:1px solid #dbe1e8;border-radius:10px;padding:10px 11px;font:inherit;font-weight:400;background:#fff;color:#243b5a}.nori-report-full{margin-top:10px}.nori-report-full textarea{resize:vertical}.nori-report-check{display:flex;align-items:center;gap:8px;margin:12px 0;color:#53657b;font-size:13px}.nori-report-check input{accent-color:#f36f00}.nori-file-label{display:flex;align-items:center;justify-content:center;gap:8px;border:2px dashed #ffd2ad;border-radius:12px;padding:14px;color:#f36f00;font-weight:700;cursor:pointer;background:#fffaf6}.nori-file-label input{display:none}.nori-report-section>small{display:block;margin-top:7px;color:#7a8797}.nori-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nori-sign-grid>div{display:flex;flex-direction:column;gap:7px}.nori-sign-grid span{font-size:12px;font-weight:700;color:#53657b}.nori-signature{width:100%;height:auto;aspect-ratio:700/220;border:1px solid #dbe1e8;border-radius:10px;background:#fff;touch-action:none}.nori-sign-clear{align-self:flex-start;border:0;background:#f3f5f7;color:#53657b;border-radius:8px;padding:6px 10px;cursor:pointer}.nori-report-submit{width:100%;border:0;border-radius:12px;background:#f36f00;color:#fff;font-weight:800;padding:14px 18px;cursor:pointer;box-shadow:0 8px 20px rgba(243,111,0,.18)}.nori-report-submit.is-loading{opacity:.6;pointer-events:none}.nori-report-result{margin-top:10px;text-align:center;font-weight:700}.nori-report-result.ok{color:#168a55}.nori-report-result.err{color:#c62828}.nori-report-history{margin-top:16px}.nori-report-history h3{color:#243b5a;font-size:17px;margin:0 0 10px}.nori-report-history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid #edf0f4;border-radius:12px;background:#fff;margin-bottom:8px}.nori-report-history-row strong,.nori-report-history-row span,.nori-report-history-row small{display:block}.nori-report-history-row span,.nori-report-history-row small{color:#6c7a8d;font-size:12px;margin-top:2px}.nori-report-total{font-weight:800;color:#f36f00!important;font-size:14px!important;white-space:nowrap}
@media (max-width:600px){.nori-reports{margin-top:10px}.nori-report-section{padding:12px;border-radius:13px}.nori-report-grid,.nori-sign-grid{grid-template-columns:1fr}.nori-report-grid input,.nori-report-grid select,.nori-report-full textarea{padding:9px}.nori-report-intro{padding:11px 12px}.nori-report-intro strong{font-size:16px}.nori-report-section h3{font-size:15px}.nori-report-history-row{padding:10px}.nori-report-submit{padding:12px}.nori-signature{max-height:150px}}
.nori-iva-summary{grid-column:1/-1;margin:0 0 6px;padding:10px 12px;border-radius:10px;background:#fff4e8;color:#3b4654;font-size:13px;font-weight:700;text-align:left}.nori-iva-summary>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0}.nori-iva-summary span{color:#53657b}.nori-iva-summary strong{color:#d85b00;font-size:14px}.nori-iva-summary>div:last-child{border-top:1px solid #f0c9a4;margin-top:4px;padding-top:8px}.nori-iva-summary>div:last-child strong{font-size:16px}.nori-iva-summary em{font-style:normal;font-weight:600;color:#8a96a5;font-size:11px}

/* PROFILO DIPENDENTE v1.6.3 */
.nori-profile-head{
    display:flex;
    align-items:center;
    gap:16px;
    padding:6px 0 18px;
    border-bottom:1px solid #edf0f4;
}
.nori-profile-photo{flex:0 0 76px;width:76px;height:76px;display:flex;align-items:center;justify-content:center;}
.nori-profile-avatar{width:76px!important;height:76px!important;border-radius:50%;object-fit:cover;border:4px solid #f1e9ff;box-shadow:0 6px 16px rgba(104,70,217,.12);}
.nori-profile-label{font-size:10px;letter-spacing:.08em;font-weight:800;color:#6846d9;margin-bottom:3px;}
.nori-profile-head h2{margin:0!important;font-size:22px!important;line-height:1.2;}
.nori-profile-role{margin-top:5px;color:#66778a;font-size:13px;font-weight:650;}
.nori-profile-data{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;}
.nori-profile-item{background:#f8f9fb;border:1px solid #edf0f4;border-radius:12px;padding:11px 13px;}
.nori-profile-item span{display:block;font-size:11px;color:#7a8796;margin-bottom:3px;}
.nori-profile-item strong{display:block;font-size:14px;color:#20344c;word-break:break-word;}
.nori-profile-note{font-size:12px!important;color:#8994a1!important;margin:14px 0 0!important;}
@media (max-width:520px){
    .nori-profile-head{gap:12px;}
    .nori-profile-photo,.nori-profile-avatar{width:64px!important;height:64px!important;}
    .nori-profile-head h2{font-size:19px!important;}
}

/* PROFILO DIPENDENTE v1.6.4 */
.nori-profile-head{align-items:flex-start!important;gap:18px!important;padding:4px 0 18px!important}
.nori-profile-photo-wrap{flex:0 0 92px;width:92px;text-align:center}
.nori-profile-photo{width:88px!important;height:88px!important;margin:0 auto 8px;border-radius:50%;overflow:hidden;background:#f2f4f7;display:flex;align-items:center;justify-content:center}
.nori-profile-avatar{width:88px!important;height:88px!important;border-radius:50%!important;object-fit:cover!important;border:3px solid #fff!important;box-shadow:0 5px 15px rgba(36,59,90,.15)!important}
.nori-profile-upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#f36f00;font-size:11px;font-weight:800;background:#fff4e8;border:1px solid #ffd5b2;border-radius:8px;padding:6px 8px;white-space:nowrap}
.nori-profile-upload input{display:none}
.nori-profile-upload-status{display:block;min-height:15px;margin-top:4px;color:#7b8795;font-size:10px;font-weight:700}
.nori-profile-upload-status.ok{color:#168a55}
.nori-profile-identity{padding-top:4px;min-width:0}
.nori-profile-label{font-size:10px!important;letter-spacing:.1em!important;color:#f36f00!important;margin-bottom:5px!important}
.nori-profile-head h2{font-size:24px!important;color:#20344c!important;margin:0!important;line-height:1.15!important}
.nori-profile-role{margin-top:7px!important;color:#66778a!important;font-size:14px!important;font-weight:700!important}
.nori-profile-data{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:16px!important}
.nori-profile-item{padding:12px 13px!important;background:#fff!important;border:1px solid #e9edf2!important;border-radius:12px!important;box-shadow:0 2px 8px rgba(36,59,90,.04)}
.nori-profile-item span{font-size:10px!important;font-weight:800!important;letter-spacing:.04em;color:#8793a1!important}
.nori-profile-item strong{font-size:14px!important;color:#20344c!important;margin-top:3px}
.nori-profile-note{background:#f8f9fb;border-radius:10px;padding:9px 11px!important;margin-top:12px!important}
@media(max-width:520px){
 .nori-profile-head{gap:12px!important}
 .nori-profile-photo-wrap{flex-basis:78px;width:78px}
 .nori-profile-photo,.nori-profile-avatar{width:72px!important;height:72px!important}
 .nori-profile-upload{font-size:10px;padding:5px 6px}
 .nori-profile-head h2{font-size:20px!important}
 .nori-profile-data{grid-template-columns:1fr!important}
}

/* Interventi calendario */
.nori-interventions{background:#f7f9fc;border:1px solid #e6ebf2;border-radius:18px;padding:14px;max-width:900px;margin:0 auto;text-align:left}
.nori-interventions.is-loading{opacity:.55;pointer-events:none}
.nori-interventions-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.nori-interventions-head>div{text-align:center}.nori-interventions-head span{font-size:10px;letter-spacing:1.5px;color:#8b98a8;font-weight:800}.nori-interventions-head h3{margin:2px 0 0;font-size:20px;color:#203247}.nori-intervention-nav{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;box-sizing:border-box!important;padding:0!important;margin:0!important;border:1.5px solid #dfe6ee!important;background:#fff!important;background-image:none!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;-webkit-tap-highlight-color:transparent!important;font-family:Arial,sans-serif!important;font-size:0!important;line-height:0!important;color:#f36f00!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 40px!important;position:relative!important;text-align:center!important;vertical-align:middle!important;outline:none!important;box-shadow:none!important;overflow:hidden!important}.nori-intervention-nav::before{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;font-size:24px!important;line-height:40px!important;font-weight:400!important;color:#f36f00!important;transform:translateY(-1px)!important}.nori-intervention-nav[data-intervention-month]:first-child::before{content:"‹"}.nori-intervention-nav[data-intervention-month]:last-child::before{content:"›"}.nori-intervention-nav:hover,.nori-intervention-nav:focus,.nori-intervention-nav:focus-visible,.nori-intervention-nav:active{background:#f36f00!important;background-image:none!important;border-color:#f36f00!important;color:#fff!important;outline:none!important;box-shadow:0 0 0 3px rgba(243,111,0,.14)!important}.nori-intervention-nav:hover::before,.nori-intervention-nav:focus::before,.nori-intervention-nav:focus-visible::before,.nori-intervention-nav:active::before{color:#fff!important}.nori-intervention-nav::-moz-focus-inner{border:0!important;padding:0!important}.nori-calendar-week,.nori-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.nori-calendar-week{margin-bottom:5px}.nori-calendar-week span{text-align:center;font-size:9px;font-weight:800;color:#7d8a99;padding:4px 0}.nori-calendar-day{min-height:76px;background:#fff;border:1px solid #e5eaf0;border-radius:10px;padding:6px;overflow:hidden}.nori-calendar-day.empty{background:transparent;border:0}.nori-calendar-day>strong{display:block;font-size:11px;color:#526173;margin-bottom:4px}.nori-calendar-day.today{border-color:#f08a22;box-shadow:inset 0 0 0 1px #f08a22}.nori-calendar-event{display:block;width:100%;border:0;border-radius:6px;background:#fff1e6;color:#f36f00;font-size:9px;font-weight:700;text-align:left;padding:4px;margin:3px 0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nori-intervention-legend{font-size:10px;color:#8995a4;text-align:center;margin:12px 0 2px}.nori-intervention-detail:empty{display:none}.nori-intervention-detail-card{position:relative;background:#fff;border:1px solid #e0e7ef;border-radius:12px;padding:14px;margin-top:10px;box-shadow:0 8px 24px rgba(20,40,60,.08)}.nori-intervention-detail-card h4{margin:0 28px 10px 0;color:#213247;font-size:16px}.nori-intervention-detail-card p{margin:6px 0;font-size:12px;color:#566577;line-height:1.45}.nori-detail-close{position:absolute;right:9px;top:8px;border:0;background:#f3f5f7;border-radius:50%;width:26px;height:26px;font-size:20px;line-height:22px;color:#6d7884;cursor:pointer}
@media(max-width:600px){.nori-interventions{padding:9px;border-radius:14px}.nori-calendar-grid,.nori-calendar-week{gap:3px}.nori-calendar-day{min-height:58px;padding:4px;border-radius:7px}.nori-calendar-day>strong{font-size:10px}.nori-calendar-event{font-size:8px;padding:3px}.nori-interventions-head h3{font-size:17px}.nori-intervention-nav{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;line-height:1!important;flex:0 0 34px!important}.nori-intervention-nav::before{font-size:22px!important;line-height:34px!important}}

/* v1.7.4 - calendario interventi: neutralizza completamente gli stili blu del tema */
button.nori-intervention-nav,
button.nori-intervention-nav:hover,
button.nori-intervention-nav:focus,
button.nori-intervention-nav:focus-visible,
button.nori-intervention-nav:active,
button.nori-intervention-nav:focus-within,
button.nori-intervention-nav:visited {
    background-color:#fff !important;
    background-image:none !important;
    border-color:#dfe6ee !important;
    color:#f36f00 !important;
    -webkit-text-fill-color:#f36f00 !important;
    outline:none !important;
    box-shadow:none !important;
}
button.nori-intervention-nav:hover,
button.nori-intervention-nav:focus,
button.nori-intervention-nav:focus-visible,
button.nori-intervention-nav:active {
    background-color:#f36f00 !important;
    border-color:#f36f00 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    box-shadow:0 0 0 3px rgba(243,111,0,.14) !important;
}
button.nori-intervention-nav::before,
button.nori-intervention-nav:hover::before,
button.nori-intervention-nav:focus::before,
button.nori-intervention-nav:focus-visible::before,
button.nori-intervention-nav:active::before {
    color:#f36f00 !important;
    -webkit-text-fill-color:#f36f00 !important;
}
button.nori-intervention-nav:hover::before,
button.nori-intervention-nav:focus::before,
button.nori-intervention-nav:focus-visible::before,
button.nori-intervention-nav:active::before {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}


/* v1.8.1 - interventi arancioni e dettaglio in popup */
.nori-calendar-event,
button.nori-calendar-event {
    background:#fff1e6 !important;
    color:#f36f00 !important;
    border:1px solid #ffd1ad !important;
    box-shadow:none !important;
    -webkit-text-fill-color:#f36f00 !important;
}
.nori-calendar-event:hover,
.nori-calendar-event:focus,
.nori-calendar-event:focus-visible,
.nori-calendar-event:active {
    background:#f36f00 !important;
    color:#fff !important;
    border-color:#f36f00 !important;
    -webkit-text-fill-color:#fff !important;
    outline:none !important;
    box-shadow:0 0 0 3px rgba(243,111,0,.14) !important;
}
.nori-intervention-popup {
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.nori-intervention-popup.is-open { display:flex; }
.nori-intervention-popup-backdrop {
    position:absolute;
    inset:0;
    background:rgba(20,32,47,.62);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.nori-intervention-popup-card {
    position:relative;
    z-index:1;
    width:min(560px,100%);
    max-height:min(82vh,720px);
    overflow:auto;
    box-sizing:border-box;
    background:#fff;
    border:1px solid #e7ebf0;
    border-radius:20px;
    padding:24px;
    box-shadow:0 24px 70px rgba(20,32,47,.28);
    text-align:left;
}
.nori-intervention-popup-close {
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#f5f6f8 !important;
    color:#6d7884 !important;
    font-size:25px !important;
    line-height:34px !important;
    font-family:Arial,sans-serif !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:none !important;
    cursor:pointer;
}
.nori-intervention-popup-close:hover,
.nori-intervention-popup-close:focus,
.nori-intervention-popup-close:active {
    background:#f36f00 !important;
    color:#fff !important;
    outline:none !important;
    box-shadow:none !important;
}
.nori-intervention-popup-label {
    color:#f36f00;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.5px;
    margin-bottom:5px;
}
.nori-intervention-popup-card h4 {
    margin:0 50px 18px 0;
    color:#203247;
    font-size:22px;
    line-height:1.2;
}
.nori-intervention-popup-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.nori-intervention-popup-grid>div {
    background:#f8f9fb;
    border:1px solid #edf0f4;
    border-radius:12px;
    padding:11px 13px;
    min-width:0;
}
.nori-intervention-popup-grid>div.full { grid-column:1 / -1; }
.nori-intervention-popup-grid span {
    display:block;
    color:#8793a1;
    font-size:9px;
    font-weight:900;
    letter-spacing:.6px;
    margin-bottom:4px;
}
.nori-intervention-popup-grid strong,
.nori-intervention-popup-grid p {
    display:block;
    margin:0;
    color:#20344c;
    font-size:13px;
    line-height:1.45;
    word-break:break-word;
}
.nori-intervention-popup-grid p { color:#566577; }
@media(max-width:600px){
    .nori-intervention-popup { padding:12px; }
    .nori-intervention-popup-card { padding:20px 16px; border-radius:17px; max-height:86vh; }
    .nori-intervention-popup-card h4 { font-size:19px; margin-right:42px; }
    .nori-intervention-popup-grid { grid-template-columns:1fr 1fr; gap:8px; }
    .nori-intervention-popup-grid>div { padding:9px 10px; border-radius:10px; }
    .nori-intervention-popup-grid strong, .nori-intervention-popup-grid p { font-size:12px; }
}
