:root{color-scheme:dark;--bg:#080f1d;--panel:#111c2d;--border:#223047;--text:#f2f5fc;--muted:#96a6bd;--blue:#63b8ff;--green:#5ce0b0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#0b1423;border-right:1px solid var(--border);padding:36px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:13px;font-size:14px;font-weight:800;letter-spacing:2px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:3px;margin-top:2px}.brand-mark{font-size:32px;font-weight:900;letter-spacing:-4px;color:white}.brand-mark>span{font-size:9px;vertical-align:top;letter-spacing:0}.nav-caption{font-size:10px;letter-spacing:2px;color:#71849f;margin:58px 16px 15px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{padding:12px 16px;color:#9badc6;border:1px solid transparent;border-radius:9px;display:flex;gap:14px;align-items:center}.sidebar nav a>span{font-size:20px;line-height:1}.sidebar nav a:hover{background:#132139;color:white}.sidebar nav a.active{color:#8dcfff;background:linear-gradient(100deg,#173450,#13223b);border-color:#254665;box-shadow:inset 3px 0 #6ac6ff}.sidebar-bottom{margin-top:auto}.studio-note{padding:22px 8px;font-size:11px;color:#ccd7e9}.studio-note small{display:block;margin-left:14px;color:var(--muted);margin-top:5px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.profile{border-top:1px solid var(--border);padding:23px 0 0;display:flex;align-items:center;gap:10px;font-size:12px}.profile small,.person small{display:block;color:var(--muted);font-size:11px}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#21334e;border:1px solid #354966;border-radius:12px;font-weight:700;color:#a0d2fc;flex-shrink:0}.workspace{margin-left:244px}.topbar{min-height:82px;border-bottom:1px solid var(--border);padding:18px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#0b1322}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:#45566d}.top-actions{display:flex;align-items:center;gap:20px}.demo-label{font-size:9px;color:#9dacbf;letter-spacing:1.4px;border:1px solid var(--border);padding:5px 9px;border-radius:5px;white-space:nowrap}main{max-width:1570px;margin:auto;padding:39px 42px 22px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 30px}.eyebrow{color:#8eb3d4;font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:10px}h1,h2,h3,p{margin:0}h1{font-size:clamp(27px,2.5vw,38px);letter-spacing:-1.3px;font-weight:650;line-height:1.2}h2{font-size:20px;font-weight:600;letter-spacing:-.5px}h3{font-size:18px;font-weight:600;line-height:1.4}.page-heading p,.section-heading p{color:var(--muted);margin-top:9px;font-size:13px}.blue{color:var(--blue)}.green{color:var(--green)}.button{border:1px solid transparent;color:white;background:linear-gradient(110deg,#329fdf,#4066ec);border-radius:8px;padding:11px 19px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;box-shadow:0 6px 22px #1478ff19;transition:filter .15s,transform .15s}.button:hover{filter:brightness(1.15);transform:translateY(-1px)}.button.secondary{border-color:#30425c;background:#152239;color:#d6e4f7;box-shadow:none}.button.small{padding:8px 13px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:26px}.stat{background:linear-gradient(120deg,#142137,#101b2c);border:1px solid var(--border);border-radius:12px;padding:20px 23px;box-shadow:0 8px 24px #00000010}.stat>span{display:flex;justify-content:space-between;color:#b5c3d8;font-size:12px}.stat i{font-size:19px;font-style:normal;color:var(--blue)}.stat strong{display:block;font-size:35px;font-weight:600;letter-spacing:-1px;margin:6px 0 2px}.stat small{font-size:10px;color:var(--muted)}.feature{display:flex;justify-content:space-between;position:relative;overflow:hidden;min-height:260px;padding:30px 36px;background:linear-gradient(105deg,#152f4a,#172747 55%,#102033);border:1px solid #284465;border-radius:14px;margin-bottom:32px}.feature h2{font-size:29px;line-height:1.2;letter-spacing:-1px}.feature p{color:#a4b9d2;font-size:12px;margin:14px 0}.text-link{color:#83c6ff;font-size:12px;font-weight:600}.text-link:hover{text-decoration:underline}.feature-art{position:relative;width:40%;display:flex;align-items:center;justify-content:center;isolation:isolate}.feature-art>span{font-size:110px;font-weight:900;font-style:italic;letter-spacing:-14px;color:#c3e8ff;transform:rotate(-9deg);text-shadow:6px 7px #467db940}.feature-art small{position:absolute;bottom:0;font-size:8px;letter-spacing:3px;color:#87aaca}.orbit{position:absolute;width:280px;height:150px;border:1px solid #66a7e452;border-radius:50%;transform:rotate(-30deg);z-index:-1;box-shadow:0 0 80px #308eff26,inset 0 0 80px #308eff16}.orbit:after{content:"";position:absolute;inset:-20px 20px;border:1px solid #66a7e425;border-radius:50%}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 18px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card{border:1px solid var(--border);border-radius:12px;background:#111c2d;overflow:hidden;transition:transform .2s,border-color .2s;min-width:0}.project-card:hover{transform:translateY(-4px);border-color:#496786;box-shadow:0 12px 32px #0003}.art{height:180px;position:relative;overflow:hidden;padding:18px 22px;display:flex;flex-direction:column;justify-content:space-between;background:#18385b;isolation:isolate}.art:before,.art:after{content:"";position:absolute;z-index:-1;pointer-events:none}.art:before{inset:-80% -10%;background:repeating-conic-gradient(from 30deg at 50% 100%,transparent 0 10deg,#8ecaff25 12deg 13deg,transparent 15deg 23deg);transform:rotate(-20deg)}.art:after{width:300px;height:160px;right:-90px;top:0;border:35px solid #98b8ff22;border-radius:50%;transform:rotate(-30deg);box-shadow:0 0 60px #bddcff11}.art-1{background:radial-gradient(ellipse at 20% 80%,#87347a,transparent 65%),linear-gradient(125deg,#1b142e,#234580)}.art-2{background:linear-gradient(110deg,#453229,#101b2a 70%)}.art-2:before{background:repeating-linear-gradient(115deg,transparent 0 40px,#d7ab7724 41px 43px,transparent 44px 90px)}.art-3{background:linear-gradient(125deg,#25363f,#52696f)}.art-0{background:linear-gradient(135deg,#4b4542,#252c32)}.art-label{font-size:9px;letter-spacing:2px;color:#d8e9f0}.art-word{font-weight:800;font-size:clamp(30px,4vw,56px);letter-spacing:-2px;line-height:1;color:#ffffffce}.art-index{position:absolute;right:20px;bottom:20px;font-size:12px;color:#d4e6fc}.project-body{padding:20px 23px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.card-meta>span:first-child{font-size:9px;letter-spacing:1.6px;color:#8298b4}.project-body h3{margin-top:10px}.project-body p{font-size:12px;color:var(--muted);margin:6px 0 19px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;font-size:10px;white-space:nowrap;background:#273449;color:#b6c9e2;border:1px solid #35435a}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.success{background:#0e342f;color:#6be3b6;border-color:#215247}.badge.working{background:#142e4c;color:#7dbdfd;border-color:#244770}.badge.review{background:#3b3022;color:#efc786;border-color:#55452d}.badge.large{padding:9px 14px;font-size:12px}.card-footer{border-top:1px solid var(--border);padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9bb0c9}.arrow{margin-left:12px;color:#95cffd;font-size:18px}.panel{padding:25px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:24px}.panel .section-heading:first-child{margin-top:0}.upcoming{margin-top:30px}.schedule-row{display:flex;align-items:center;gap:17px;padding:16px 0;border-top:1px solid var(--border)}.schedule-row>div{flex:1}.schedule-row small{display:block;font-size:11px;color:var(--muted)}.schedule-row strong{font-weight:600}.date-tile{text-align:center;min-width:46px;border:1px solid #32435d;border-radius:8px;padding:4px 8px;font-size:9px;text-transform:uppercase;color:#abc6e3}.date-tile strong{display:block;font-size:18px;line-height:1.2;color:white}.muted{color:var(--muted);font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;color:#71839e;font-size:10px;margin-top:42px;padding-top:20px;border-top:1px solid #1b293e}.filters{display:flex;align-items:end;gap:12px;background:#111c2d;border:1px solid var(--border);border-radius:12px;padding:18px}.filters>div{flex:1;min-width:0}.filters .search-field{flex:2}label{display:block;font-size:11px;color:#b3c4da;margin:0 0 7px}input,select,textarea{width:100%;border:1px solid #304159;background:#0c1626;color:#e5edf9;border-radius:7px;padding:11px 12px;min-height:42px;font-size:12px}input::placeholder,textarea::placeholder{color:#7e92ac}select{cursor:pointer}textarea{resize:vertical}.reset{font-size:11px;color:#a4bbd5;padding:12px 4px}.count{display:inline-block;font-size:11px;color:#a9c4e0;background:#23364e;border-radius:6px;padding:2px 8px;margin-left:8px;vertical-align:middle}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;color:#8fa3bd;font-weight:500;letter-spacing:1px;padding:14px 14px 14px 0;border-bottom:1px solid var(--border)}td{padding:21px 18px 21px 0;border-bottom:1px solid var(--border);font-size:12px;color:#bdcbe0}tbody tr:last-child td{border-bottom:0}.person,.row-actions{display:flex;align-items:center;gap:14px}.person strong{color:#e9f1ff;font-size:13px}.back{display:inline-block;color:#9db9d6;font-size:12px;margin-bottom:24px}.edit-form{max-width:780px;padding:30px}.edit-form label{margin-top:19px}.edit-form>label:first-of-type{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-hint{font-size:12px;color:var(--muted);margin-top:22px}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);padding-top:24px;margin-top:25px}.validation{color:#ffa6aa;font-size:12px}.validation ul{padding-left:18px}.validation-summary-valid{display:none}.input-validation-error{border-color:#e97e87}.notice{background:#11382f;border:1px solid #28624f;color:#92e8c4;padding:14px 20px;border-radius:8px;margin-bottom:24px}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#152740;border:1px solid #2b4464;border-radius:9px;padding:12px 16px;margin-bottom:30px;font-size:11px;color:#9eb4d1}.preview-bar strong{color:#cee6ff}.preview-bar form{display:flex;align-items:center;gap:10px}.preview-bar label{margin:0;white-space:nowrap}.preview-bar select{width:auto;min-height:35px;padding:6px 10px}.client-signature{color:#8dabc9;font-size:9px;letter-spacing:2px;text-align:right}.client-signature strong{color:white;font-size:14px}.client-banner{display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:35px 40px;background:linear-gradient(115deg,#193f5d,#1c2d52 60%,#292854);border:1px solid #335072;border-radius:14px}.client-banner h2{font-size:32px;line-height:1.2}.client-banner p{color:#b0c1db;font-size:12px;margin-top:18px}.banner-symbol{font-size:140px;line-height:1;color:#88c9ff69}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}.description{color:#a8b9d0;font-size:13px;line-height:1.9;margin:14px 0 25px;white-space:pre-line;overflow-wrap:anywhere}.project-facts{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:20px}.project-facts small{display:block;font-size:9px;color:#849bb7;letter-spacing:1px}.project-facts strong{display:block;font-size:12px;font-weight:500;margin-top:6px}.delivery-panel{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.delivery-icon{display:grid;place-items:center;width:44px;height:44px;color:#6de2b9;background:#163b36;border:1px solid #2b6256;border-radius:50%;font-size:23px;margin-bottom:12px}.delivery-panel p{color:#9caec6;font-size:11px;margin:7px 0 12px}.file-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:18px;overflow-x:auto}.tab{color:#9db1cc;background:transparent;border:1px solid transparent;border-radius:7px;padding:9px 12px;font-size:11px;white-space:nowrap}.tab.active{background:#1c3856;border-color:#315676;color:#a6d8ff}.tab span{margin-left:6px;opacity:.7}.file-row{display:flex;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border)}.file-icon{width:42px;height:46px;flex-shrink:0;display:grid;place-items:center;background:#213550;border:1px solid #314e6f;color:#8bc7ff;border-radius:8px;font-size:25px}.file-info{flex:1;min-width:0}.file-info strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.file-info small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.file-notice{font-size:10px;color:#94aac3;margin-top:18px}.upload-panel{display:grid;grid-template-columns:1fr 1.3fr;gap:30px}.upload-panel p{color:var(--muted);font-size:12px;margin:8px 0 18px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:160px;border:1px dashed #416388;border-radius:10px;color:#9acdf7;background:#102137;padding:22px}.dropzone:hover{background:#17304a}.dropzone>span{font-size:26px}.dropzone small{color:#91a8c2;font-size:10px}.empty{text-align:center;padding:50px 20px;background:#111c2d;border:1px dashed #2f415c;border-radius:10px;color:#a9bdd6}.empty>span{font-size:30px}.empty p{font-size:12px;margin:10px 0}.empty .button{margin-top:15px}.files-panel .empty{margin-top:20px}.toast{position:fixed;bottom:26px;right:26px;z-index:100;background:#1c3b52;color:#ddf0ff;border:1px solid #4b7799;border-radius:10px;box-shadow:0 10px 40px #0007;padding:18px 24px;max-width:440px;font-size:13px}.skip{position:fixed;top:-100px;left:15px;padding:12px;background:#21476e;z-index:200}.skip:focus{top:10px}
@media(min-width:1500px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.sidebar{width:210px;padding:30px 16px}.workspace{margin-left:210px}main{padding:30px 25px}.topbar{padding:18px 25px}.stats{gap:12px}.stat{padding:17px}.stat small{font-size:9px}.card-meta{align-items:flex-start;flex-direction:column}.filters{flex-wrap:wrap}.filters .search-field{flex-basis:100%}.detail-grid{grid-template-columns:1fr}.project-facts{flex-wrap:wrap}.preview-bar{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.sidebar{position:relative;width:100%;padding:17px 20px 10px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:12px}.brand-mark{font-size:26px}.brand small{font-size:8px}.nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px;margin-top:18px;overflow-x:auto}.sidebar nav a{flex:1;justify-content:center;padding:9px 10px;font-size:11px;white-space:nowrap}.sidebar nav a>span{font-size:16px}.workspace{margin-left:0}.topbar{min-height:65px;padding:14px 20px}.breadcrumb{font-size:10px;max-width:48%;overflow-wrap:anywhere}.breadcrumb span{margin:0 5px}.top-actions{gap:0}.top-actions .demo-label{display:none}main{padding:27px 20px 20px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:19px;margin-bottom:25px}h1{font-size:30px}.eyebrow{font-size:8px}.stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:15px}.stat strong{font-size:30px}.stat small{font-size:9px}.feature{padding:26px;min-height:245px}.feature h2{font-size:25px}.feature-art{width:28%;opacity:.6}.feature-art>span{font-size:65px;letter-spacing:-9px}.feature-art small{display:none}.orbit{width:170px;height:100px}.feature>div:first-child{z-index:1}.feature p{max-width:230px}.project-grid{grid-template-columns:1fr;gap:19px}.art{height:180px}.art-word{font-size:52px}.card-meta{flex-direction:row;align-items:center}.section-heading{gap:12px}.section-heading>.muted{display:none}.section-heading h2{font-size:18px}.panel{padding:20px}.schedule-row{gap:12px;font-size:11px}.schedule-row>.badge{font-size:8px}.schedule-row>span:last-child{display:none}footer{font-size:9px}footer span{display:none}.filters{gap:12px}.filters>div{flex-basis:42%}.filters .search-field{flex-basis:100%}.form-grid{grid-template-columns:1fr;gap:0}.edit-form{padding:23px}.preview-bar{padding:15px}.preview-bar form{flex-wrap:wrap;width:100%}.preview-bar select{flex:1;min-width:0}.preview-bar label{width:100%}.client-signature{display:none}.client-banner{padding:27px}.client-banner h2{font-size:28px}.banner-symbol{font-size:80px}.project-facts{gap:20px 25px}.upload-panel{grid-template-columns:1fr;gap:20px}.file-tabs{margin:0 -4px}.tab{padding:9px;font-size:10px}.file-row{gap:10px}.file-row .button{padding:8px}.file-row .button span{display:none}.file-info strong{font-size:11px}.toast{left:20px;right:20px;bottom:20px;max-width:none}.detail-grid{gap:0}.page-heading .badge.large{font-size:10px}.row-actions{gap:12px}.empty{padding:35px 15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Accesso: stessi colori e componenti del portale, senza navigazione amministrativa. */
.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 10%,#16395b66,transparent 50%),radial-gradient(ellipse at 90% 90%,#263d763d,transparent 45%),var(--bg)}
.auth-shell{width:100%;max-width:500px;padding:38px 22px;margin:auto}.auth-brand{justify-content:center;margin-bottom:30px}.auth-card{padding:38px;background:linear-gradient(145deg,#142237,#101a2b);border:1px solid #293c56;border-radius:18px;box-shadow:0 25px 90px #0005}.auth-card h1{font-size:34px}.auth-intro{color:var(--muted);font-size:13px;margin:15px 0 25px;line-height:1.8}.auth-card label{margin:20px 0 8px;font-size:12px}.auth-card input{padding:13px 14px;font-size:14px;min-height:48px}.auth-submit{width:100%;margin-top:25px;padding:14px;font-size:13px;justify-content:space-between}.auth-note{border-top:1px solid var(--border);padding-top:21px;margin-top:26px;color:#9db1c9;font-size:10px;text-align:center}.auth-footer{text-align:center;color:#7f94ae;font-size:10px;margin-top:25px}.auth-validation.validation-summary-errors{padding:12px 16px;border:1px solid #743f4d;background:#44243155;border-radius:8px}.auth-validation ul{margin:0;padding-left:15px}.auth-logout{text-align:center;margin-top:18px}.top-actions form{margin:0}
@media(max-width:520px){.auth-shell{padding:28px 18px}.auth-card{padding:28px 23px}.auth-card h1{font-size:30px}.auth-brand{margin-bottom:24px}.auth-card input{font-size:16px}.auth-footer{font-size:9px}}
/* Logo originale bianco, trasparente: nessun filtro o ricolorazione. */
.brand-image{display:block;object-fit:contain;max-width:100%;flex-shrink:0}
.sidebar .portal-logo{justify-content:center}
.sidebar .brand-image{width:124px;height:124px}
.sidebar .portal-logo + .nav-caption{margin-top:28px}
.auth-brand .brand-image{width:152px;height:152px}
@media(max-width:760px){.sidebar .portal-logo{justify-content:flex-start}.sidebar .brand-image{width:64px;height:64px}.auth-brand .brand-image{width:124px;height:124px}}
