.iportal-wrap{--ip-primary:#173f6b;--ip-primary-2:#0d2d50;--ip-accent:#d7a53d;--ip-ink:#172033;--ip-muted:#697386;--ip-line:#e3e8ef;--ip-soft:#f6f8fb;color:var(--ip-ink);font-family:inherit;line-height:1.55;margin:24px auto;max-width:1200px}.iportal-wrap *{box-sizing:border-box}.iportal-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:42px;border-radius:24px;background:linear-gradient(135deg,var(--ip-primary-2),var(--ip-primary));color:#fff;box-shadow:0 18px 50px rgba(13,45,80,.16)}.iportal-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-120px;background:rgba(255,255,255,.07)}.iportal-hero h2{color:#fff!important;font-size:clamp(28px,4vw,44px);line-height:1.08;margin:4px 0 10px}.iportal-hero p{margin:0;max-width:680px;color:rgba(255,255,255,.86)}.iportal-eyebrow{display:block;color:var(--ip-accent);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.iportal-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--ip-primary);border:0;border-radius:12px;color:#fff!important;cursor:pointer;font:inherit;font-weight:750;padding:12px 18px;text-decoration:none!important;transition:.2s ease}.iportal-button:hover{background:var(--ip-primary-2);transform:translateY(-1px)}.iportal-button-light{position:relative;z-index:1;background:#fff;color:var(--ip-primary-2)!important}.iportal-tabs{position:sticky;top:12px;z-index:10;display:flex;gap:6px;flex-wrap:wrap;margin:18px 0;padding:7px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid var(--ip-line);border-radius:15px;box-shadow:0 8px 30px rgba(15,35,60,.06)}.iportal-tabs a{padding:9px 13px;border-radius:10px;color:var(--ip-primary)!important;font-weight:750;text-decoration:none!important}.iportal-tabs a:hover{background:var(--ip-soft)}.iportal-section{margin:18px 0;padding:clamp(20px,3vw,32px);background:#fff;border:1px solid var(--ip-line);border-radius:20px;box-shadow:0 10px 35px rgba(17,32,51,.045)}.iportal-section h3{margin:0 0 20px;color:var(--ip-primary-2)!important;font-size:22px}.iportal-card-grid,.iportal-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:15px}.iportal-card{padding:20px;background:linear-gradient(180deg,#fff,var(--ip-soft));border:1px solid var(--ip-line);border-radius:16px;transition:.2s}.iportal-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,32,51,.07)}.iportal-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.iportal-badge{padding:5px 9px;border-radius:999px;background:#e9f1fb;color:var(--ip-primary);font-size:11px;font-weight:800;text-transform:uppercase}.iportal-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 15px;margin:18px 0 0}.iportal-card dt{color:var(--ip-muted);font-size:13px}.iportal-card dd{margin:0;text-align:right;font-weight:700}.iportal-note{padding:11px 13px;border-left:3px solid var(--ip-accent);border-radius:7px;background:#fff8e8}.iportal-empty{margin:0;padding:18px;border:1px dashed #cfd7e3;border-radius:13px;background:var(--ip-soft);color:var(--ip-muted)}.iportal-table-scroll{overflow:auto;border:1px solid var(--ip-line);border-radius:14px}.iportal-table{width:100%;min-width:680px;border-collapse:collapse}.iportal-table th,.iportal-table td{padding:14px 13px;border-bottom:1px solid var(--ip-line);text-align:left}.iportal-table th{background:var(--ip-soft);color:var(--ip-muted);font-size:11px;text-transform:uppercase}.iportal-table a{color:var(--ip-primary)!important;font-weight:750}.iportal-claim{margin:10px 0;border:1px solid var(--ip-line);border-radius:14px;overflow:hidden}.iportal-claim summary{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:16px 18px;cursor:pointer}.iportal-claim summary span{padding:5px 9px;border-radius:999px;background:#edf3fa;color:var(--ip-primary);font-size:12px;font-weight:800}.iportal-claim summary time{color:var(--ip-muted);font-size:13px}.iportal-claim-body{padding:18px;border-top:1px solid var(--ip-line);background:#fcfdff}.iportal-timeline{margin:20px 0 0 7px;padding-left:20px;border-left:2px solid var(--ip-line);list-style:none}.iportal-timeline li{position:relative;margin-bottom:16px}.iportal-timeline li:before{content:"";position:absolute;left:-26px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--ip-accent)}.iportal-timeline time{display:block;color:var(--ip-muted);font-size:12px}.iportal-form-section{border-top:4px solid var(--ip-accent)}.iportal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.iportal-form label,.iportal-conditional label{display:block}.iportal-form label>span,.iportal-conditional label>span{display:block;margin-bottom:6px;font-size:13px;font-weight:750}.iportal-form input,.iportal-form select,.iportal-form textarea{width:100%;padding:12px 13px;border:1px solid #cbd4df;border-radius:11px;background:#fff;font:inherit}.iportal-form input:focus,.iportal-form select:focus,.iportal-form textarea:focus{outline:0;border-color:var(--ip-primary);box-shadow:0 0 0 4px rgba(23,63,107,.09)}.iportal-field-wide{grid-column:1/-1}.iportal-conditional{margin:16px 0;padding:17px;border:1px solid var(--ip-line);border-radius:14px;background:var(--ip-soft)}.iportal-upload{display:block;margin:16px 0;padding:18px;border:1.5px dashed #aebaca;border-radius:14px;background:#fafcff}.iportal-upload small{display:block;margin-top:6px;color:var(--ip-muted)}.iportal-notice{margin:16px 0;padding:13px 15px;border-left:4px solid var(--ip-primary);border-radius:10px;background:#eef4fb}.iportal-notice-success{background:#edf9f2;border-color:#198754}.iportal-notice-error{background:#fff1f0;border-color:#c0392b}.iportal-client-card{display:block;padding:17px;border:1px solid var(--ip-line);border-radius:14px;background:#fff;color:var(--ip-ink)!important;text-decoration:none!important}.iportal-client-card span{display:block;color:var(--ip-muted);font-size:13px}.iportal-client-card:hover,.iportal-client-card.is-active{border-color:#9eb4cb;background:var(--ip-soft)}.iportal-login-card{max-width:520px;margin:40px auto;padding:36px;border:1px solid var(--ip-line);border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(17,32,51,.09)}.iportal-login-card h2,.iportal-login-card h3{margin:5px 0 8px;color:var(--ip-primary-2)!important}.iportal-login-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:15px;background:linear-gradient(135deg,var(--ip-primary-2),var(--ip-primary));color:#fff;font-weight:900}.iportal-login-card label{display:block;margin:14px 0 6px;font-weight:700}.iportal-login-card input[type=text],.iportal-login-card input[type=password]{width:100%;padding:12px;border:1px solid #cbd4df;border-radius:11px}.iportal-login-card .login-submit input{width:100%;margin-top:10px;padding:12px;border:0;border-radius:11px;background:var(--ip-primary);color:#fff;font-weight:800}.iportal-login-help{display:block;margin-top:14px;text-align:center;color:var(--ip-primary)!important}.iportal-action-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid var(--ip-line);border-radius:20px;background:linear-gradient(135deg,#fff,var(--ip-soft))}.iportal-action-card h3{margin:5px 0;color:var(--ip-primary-2)!important}@media(max-width:700px){.iportal-hero{align-items:flex-start;flex-direction:column;padding:28px 22px}.iportal-fields{grid-template-columns:1fr}.iportal-field-wide{grid-column:auto}.iportal-claim summary{grid-template-columns:1fr}.iportal-action-card{align-items:flex-start;flex-direction:column}.iportal-action-card .iportal-button{width:100%}.iportal-login-card{margin:20px auto;padding:24px}}
/* Web-app layout v0.3 */
.iportal-app{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start;max-width:1320px}.iportal-app-sidebar{position:sticky;top:22px}.iportal-app-main{min-width:0}.iportal-app-nav{display:flex;flex-direction:column;min-height:calc(100vh - 44px);padding:18px;border-radius:22px;background:linear-gradient(180deg,var(--ip-primary-2),#08233e);color:#fff;box-shadow:0 18px 45px rgba(13,45,80,.16)}.iportal-app-user{display:flex;align-items:center;gap:12px;padding:7px 4px 20px;border-bottom:1px solid rgba(255,255,255,.11)}.iportal-app-user strong,.iportal-app-user small{display:block;min-width:0}.iportal-app-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.iportal-app-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.62);font-size:11px}.iportal-avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--ip-accent),#f0c76d);color:#13253b;font-weight:900}.iportal-avatar-small{width:38px;height:38px;border-radius:11px}.iportal-app-links{display:flex;flex-direction:column;gap:5px;margin-top:20px}.iportal-app-links a,.iportal-app-logout{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:rgba(255,255,255,.83)!important;text-decoration:none!important;font-size:13px;font-weight:750;transition:.18s}.iportal-app-links a span,.iportal-app-logout span{display:grid;place-items:center;width:20px;color:var(--ip-accent);font-size:16px}.iportal-app-links a:hover{background:rgba(255,255,255,.08);color:#fff!important}.iportal-app-logout{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);border-radius:0;padding-top:18px}.iportal-app-topbar,.iportal-page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:9px 4px 22px}.iportal-app-topbar h2,.iportal-page-head h2{margin:3px 0 7px;color:var(--ip-primary-2)!important;font-size:clamp(27px,3vw,38px);line-height:1.1}.iportal-app-topbar p:last-child{margin:0;color:var(--ip-muted)}.iportal-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.iportal-kpi-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.iportal-kpi{display:flex;align-items:center;gap:13px;padding:17px;background:#fff;border:1px solid var(--ip-line);border-radius:17px;box-shadow:0 8px 26px rgba(17,32,51,.035)}.iportal-kpi-icon{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:11px;background:#edf3fa;color:var(--ip-primary);font-size:17px;font-weight:900}.iportal-kpi strong,.iportal-kpi span{display:block}.iportal-kpi strong{color:var(--ip-primary-2);font-size:24px;line-height:1}.iportal-kpi div>span{margin-top:5px;color:var(--ip-muted);font-size:11px;line-height:1.3}.iportal-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.iportal-section-head h3{margin:2px 0 0!important}.iportal-count-pill{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:#edf3fa;color:var(--ip-primary);font-weight:850}.iportal-policy-card .iportal-card-head>div small,.iportal-company-line small{display:block;color:var(--ip-muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.iportal-policy-card .iportal-card-head>div strong{display:block;margin-top:2px}.iportal-company-line{display:flex;align-items:center;gap:10px;margin:16px 0;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--ip-line)}.iportal-company-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ip-primary-2);color:#fff;font-weight:900}.iportal-company-line strong{display:block;color:var(--ip-primary-2)}.iportal-status-active,.iportal-status-received,.iportal-status-in_progress{background:#eaf7ef!important;color:#18794e!important}.iportal-status-expired,.iportal-status-closed{background:#f0f2f5!important;color:#667085!important}.iportal-status-cancelled{background:#fff0ef!important;color:#b42318!important}.iportal-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.iportal-document-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--ip-line);border-radius:14px;background:#fff}.iportal-doc-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:11px;background:#edf3fa;color:var(--ip-primary);font-size:10px;font-weight:900;letter-spacing:.05em}.iportal-doc-content{min-width:0;flex:1}.iportal-doc-content strong,.iportal-doc-content span,.iportal-doc-content small{display:block}.iportal-doc-content strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ip-primary-2)}.iportal-doc-content span,.iportal-doc-content small{color:var(--ip-muted);font-size:11px}.iportal-icon-button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--ip-primary);color:#fff!important;text-decoration:none!important;font-weight:900}.iportal-claim-title small,.iportal-claim-title strong{display:block}.iportal-claim-title small{color:var(--ip-muted);font-size:10px}.iportal-claim-title strong{color:var(--ip-primary-2)}.iportal-claim-meta,.iportal-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:15px}.iportal-claim-meta>div,.iportal-profile-grid>div{padding:12px;border-radius:11px;background:var(--ip-soft)}.iportal-claim-meta span,.iportal-profile-grid span{display:block;color:var(--ip-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.iportal-claim-meta strong,.iportal-profile-grid strong{display:block;margin-top:3px}.iportal-attachments{display:flex;flex-direction:column;gap:6px;margin:16px 0}.iportal-attachments>a{padding:8px 10px;border-radius:8px;background:var(--ip-soft);color:var(--ip-primary)!important;text-decoration:none!important;font-size:12px}.iportal-attachments small{color:var(--ip-muted)}.iportal-selected-client{display:flex;align-items:center;gap:10px;margin:12px 0;padding:12px 15px;border-radius:12px;background:#edf3fa;color:var(--ip-primary)}.iportal-selected-client span{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.iportal-company-code{display:inline-flex;padding:6px 9px;border-radius:8px;background:#edf3fa;color:var(--ip-primary-2);font-weight:900;letter-spacing:.04em}.iportal-client-card{display:flex;align-items:center;gap:11px}.iportal-client-card>div{min-width:0;flex:1}.iportal-client-card>b{color:var(--ip-primary)}.iportal-empty-action{display:flex;flex-direction:column;gap:3px}.iportal-empty-action strong{color:var(--ip-primary-2)}.iportal-profile-card{max-width:760px}.iportal-profile-card .iportal-button{margin-top:18px}.iportal-button-secondary{background:#fff;color:var(--ip-primary)!important;border:1px solid var(--ip-line);box-shadow:none}.iportal-button-secondary:hover{background:var(--ip-soft);color:var(--ip-primary-2)!important}.iportal-menu-only{margin:0}.iportal-menu-only .iportal-app-nav.is-compact{min-height:0;display:flex;flex-direction:row;align-items:center;padding:7px 9px;border-radius:14px}.iportal-menu-only .iportal-app-nav.is-compact .iportal-app-links{flex:1;flex-direction:row;flex-wrap:wrap;margin:0}.iportal-menu-only .iportal-app-nav.is-compact .iportal-app-logout{margin:0;padding:10px 12px;border:0}.iportal-section-view{max-width:1120px}.iportal-section-view .iportal-page-head{padding-bottom:5px}
@media(max-width:1000px){.iportal-app{grid-template-columns:1fr}.iportal-app-sidebar{position:static}.iportal-app-nav{min-height:0;display:flex;flex-direction:row;align-items:center;gap:8px;padding:9px 10px;border-radius:15px}.iportal-app-user{display:none}.iportal-app-links{flex:1;flex-direction:row;overflow:auto;margin:0;padding-bottom:2px}.iportal-app-links a{flex:0 0 auto;padding:9px 10px}.iportal-app-logout{flex:0 0 auto;margin:0;padding:9px 10px;border:0}.iportal-app-logout{font-size:0}.iportal-app-logout span{font-size:17px}.iportal-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.iportal-app{gap:12px}.iportal-app-topbar,.iportal-page-head{align-items:flex-start;flex-direction:column;padding:4px 2px 14px}.iportal-app-topbar .iportal-button{width:100%}.iportal-kpi-grid,.iportal-kpi-grid-three{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.iportal-kpi{padding:13px;gap:10px}.iportal-kpi-icon{width:34px;height:34px}.iportal-kpi strong{font-size:20px}.iportal-document-grid{grid-template-columns:1fr}.iportal-claim-meta,.iportal-profile-grid{grid-template-columns:1fr}.iportal-menu-only .iportal-app-nav.is-compact{overflow:auto}.iportal-menu-only .iportal-app-nav.is-compact .iportal-app-logout{display:none}.iportal-section-head{align-items:flex-start}.iportal-section-head .iportal-count-pill{margin-top:3px}}
@media(max-width:430px){.iportal-kpi-grid,.iportal-kpi-grid-three{grid-template-columns:1fr}.iportal-app-links a{font-size:12px}.iportal-app-links a span{display:none}.iportal-claim summary{gap:6px}}

.iportal-app-links a.is-active{background:rgba(255,255,255,.12);color:#fff!important}.iportal-section-view{scroll-margin-top:100px}

.iportal-menu-content{margin-top:18px}.iportal-dashboard-standalone{max-width:1200px;margin-top:18px}.iportal-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:18px}.iportal-quick-grid a{display:flex;flex-direction:column;gap:5px;padding:20px;border:1px solid var(--ip-line);border-radius:17px;background:#fff;color:var(--ip-ink)!important;text-decoration:none!important;box-shadow:0 8px 26px rgba(17,32,51,.035);transition:.18s}.iportal-quick-grid a:hover{transform:translateY(-2px);border-color:#9eb4cb}.iportal-quick-grid a>span{display:grid;place-items:center;width:39px;height:39px;margin-bottom:5px;border-radius:11px;background:#edf3fa;color:var(--ip-primary);font-weight:900}.iportal-quick-grid strong{color:var(--ip-primary-2);font-size:15px}.iportal-quick-grid small{color:var(--ip-muted);font-size:11px}@media(max-width:900px){.iportal-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.iportal-quick-grid{grid-template-columns:1fr}}

/* Anagrafiche cliente e piattaforme collaboratore v0.4 */
.iportal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.iportal-form-grid .wide{grid-column:1/-1}.iportal-platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.iportal-platform-card{padding:20px;border:1px solid var(--ip-line);border-radius:16px;background:linear-gradient(180deg,#fff,var(--ip-soft))}.iportal-platform-card h4{margin:0 0 2px;color:var(--ip-primary-2)!important;font-size:17px}.iportal-platform-host{margin:0 0 14px;color:var(--ip-muted);font-size:12px;overflow-wrap:anywhere}.iportal-credentials{margin-top:16px;padding-top:13px;border-top:1px solid var(--ip-line)}.iportal-credentials summary,.iportal-profile-edit summary{color:var(--ip-primary);cursor:pointer;font-weight:800}.iportal-credentials code{display:inline-block;max-width:100%;padding:2px 6px;border-radius:6px;background:#edf3fa;color:var(--ip-ink);overflow-wrap:anywhere;user-select:all}.iportal-birthday-alert{margin:0 0 18px;padding:14px 16px;border:1px solid #efd28b;border-left:5px solid var(--ip-accent);border-radius:12px;background:#fff8e8}.iportal-birthday-alert ul{display:inline-flex;flex-wrap:wrap;gap:5px 16px;margin:0 0 0 10px;padding:0;list-style:none}.iportal-birthday-alert a{color:var(--ip-primary-2)!important;font-weight:800}.iportal-birthday-none{margin-left:10px;color:var(--ip-muted)}.iportal-profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.iportal-profile-summary>div{padding:13px;border-radius:12px;background:var(--ip-soft)}.iportal-profile-summary span{display:block;color:var(--ip-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.iportal-profile-summary strong{display:block;margin-top:3px;overflow-wrap:anywhere}.iportal-profile-edit{margin-top:18px;padding-top:16px;border-top:1px solid var(--ip-line)}.iportal-profile-edit .iportal-client-form{margin-top:16px}.iportal-client-card small{display:block;margin-top:3px;color:var(--ip-muted);font-size:11px}.iportal-client-form>p{margin:16px 0}.iportal-client-form>p label{display:flex;align-items:center;gap:8px}.iportal-client-form>p input[type=checkbox]{width:auto}.iportal-platform-card .iportal-notice{font-size:12px}
@media(max-width:700px){.iportal-form-grid{grid-template-columns:1fr}.iportal-form-grid .wide{grid-column:auto}.iportal-birthday-alert ul{display:flex;margin:8px 0 0}.iportal-birthday-none{display:block;margin:6px 0 0}}
