:root{font-family:Segoe UI,Arial,sans-serif;line-height:1.5;font-weight:400;color:#1c1c1c;background-color:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;background-color:#f7f8fb}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}:root{color-scheme:light;--blue-900: #0a2c52;--blue-800: #0f3e73;--blue-700: #13508f;--blue-100: #e8f0fa;--gray-900: #1c1c1c;--gray-700: #4a4a4a;--gray-400: #b8b8b8;--gray-200: #e6e6e6;--white: #ffffff}.single-page{min-height:100vh;background:#fff}.container{max-width:1100px;margin:0 auto;padding:0 24px}.container-wide{max-width:100%;padding:0 10px}.section{padding:24px 0 12px}.section-header{margin-bottom:32px}.section-header.centered{text-align:center}.section-header h1{color:var(--blue-900);font-size:34px;margin:10px 0 12px}.section-header p{color:var(--gray-700)}.eyebrow{font-weight:700;color:var(--blue-700);text-transform:uppercase;font-size:12px;letter-spacing:.12em}.request-form{background:var(--white);padding:32px;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 10px 30px #0a2c5214}.request-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--blue-900);margin-bottom:16px}.request-form input,.request-form select,.request-form textarea{border:1px solid var(--gray-200);padding:12px 14px;border-radius:6px;background:#fafafa}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.span-2{grid-column:span 2}.form-title{color:var(--blue-900);font-size:22px;margin:24px 0 16px}.note{font-size:14px;color:var(--gray-700);margin:4px 0 20px}.note.virtual-tour{background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;padding:12px;color:#2e7d32;font-weight:500;margin-top:12px}.lotto{padding:16px;border:1px solid var(--gray-200);border-radius:10px;margin-bottom:20px;background:#fbfcff}.lotto h3{color:var(--blue-900);margin-bottom:12px}.radio-group{display:grid;gap:10px;margin-bottom:20px}.radio{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--gray-700)}.form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.lotto-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--gray-200);border-radius:8px;background:#fafafa}.lotto-label{font-weight:600;color:var(--blue-900)}.lotto-stepper{display:flex;align-items:center;gap:8px}.lotto-stepper input{width:80px;text-align:center}.stepper-button{width:36px;height:36px;border-radius:6px;border:1px solid var(--gray-200);background:var(--white);color:var(--blue-900);font-weight:700;cursor:pointer}.checkbox{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--gray-700)}.primary{background:var(--blue-700);color:var(--white);border:none;padding:12px 22px;border-radius:6px;font-weight:600;cursor:pointer}.home-hero{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8faff,#e0e9f5)}.home-hero .container{max-width:800px;transform:translateY(-20px)}.hero-description{font-size:18px;line-height:1.6;max-width:600px;margin:0 auto 40px;color:var(--gray-700)}.home-cta{display:flex;justify-content:center;gap:20px;margin-top:40px}.cta-button{text-decoration:none;padding:16px 32px;border-radius:8px;font-weight:700;font-size:16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;min-width:220px;box-shadow:0 4px 6px #0a2c521a}.cta-button.primary{background:var(--blue-700);color:#fff}.cta-button.primary:hover{background:var(--blue-900);transform:translateY(-2px);box-shadow:0 8px 15px #0a2c5233}.cta-button.secondary{background:#fff;color:var(--blue-700);border:2px solid var(--blue-700)}.cta-button.secondary:hover{background:var(--blue-100);transform:translateY(-2px);box-shadow:0 8px 15px #0a2c521a}@media(max-width:600px){.home-cta{flex-direction:column;align-items:center;gap:16px}}.box-selector{display:flex;gap:12px;margin-top:8px}.box-option{min-width:80px;height:44px;border:2px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--gray-700);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0 16px;white-space:nowrap}.box-option:hover{border-color:var(--blue-700);background:var(--blue-100)}.box-option.selected{background:var(--blue-700);color:var(--white);border-color:var(--blue-700)}.documenti-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-200)}.legal-flags a,.legal-inline-link{color:var(--blue-700)}.legal-inline-link{display:inline;margin:0;padding:0;border:0;background:none;font:inherit;font-weight:600;text-align:left;text-decoration:underline;cursor:pointer}.documenti-section label{font-weight:600;color:var(--blue-900);margin-bottom:12px;display:block}.drag-drop-area{border:2px dashed var(--gray-200);border-radius:8px;padding:32px;text-align:center;background:#fafafa;transition:all .3s;cursor:pointer}.drag-drop-area.drag-active{border-color:var(--blue-700);background:var(--blue-100)}.drag-drop-label{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;color:var(--gray-700)}.drag-icon{font-size:32px}.file-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}.file-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--white);border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.file-name{flex:1;color:var(--gray-900);font-weight:500}.file-size{color:var(--gray-700);font-size:12px}.remove-file{width:24px;height:24px;border:none;background:var(--gray-200);color:var(--gray-700);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.remove-file:hover{background:#dc3545;color:var(--white)}.request-summary{margin-bottom:22px;padding:22px;border:1px solid var(--gray-200);border-radius:10px;background:#fbfcff}.request-summary .form-title{margin-top:6px}.summary-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--gray-200)}.summary-section h3{margin:0 0 14px;color:var(--blue-900);font-size:17px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0}.summary-grid>div{padding:12px 14px;border-radius:8px;background:var(--white)}.summary-grid dt{margin-bottom:6px;color:var(--blue-900);font-weight:700}.summary-grid dd{display:flex;flex-direction:column;gap:4px;margin:0;color:var(--gray-700);overflow-wrap:anywhere}.summary-span{grid-column:1 / -1}.summary-lots{display:grid;gap:14px}.summary-lot{padding:14px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white)}.summary-lot>div{padding:8px 10px;background:#f8fafc}.summary-files{display:flex;flex-direction:column;gap:8px;color:var(--gray-700)}.legal-flags{display:grid;gap:16px}.legal-flag{padding:18px;border:1px solid var(--gray-200);border-radius:10px}.legal-flag h3{margin:0 0 14px;color:var(--blue-900);font-size:17px}.request-form .legal-flag .checkbox{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-bottom:10px;color:var(--gray-700);font-weight:500;line-height:1.55}.request-form .legal-flag .checkbox input{width:18px;height:18px;margin-top:3px}.legal-flag p{margin:0 0 0 30px;color:var(--gray-700);font-size:13px;line-height:1.55}.legal-submit{justify-content:flex-end;margin-top:18px}.review-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.secondary-button{padding:12px 18px;border:1px solid var(--blue-700);border-radius:6px;background:var(--white);color:var(--blue-700);font-weight:600;cursor:pointer}.legal-document-page{padding:48px 20px;background:#f4f7fb}.legal-document{position:relative;max-width:900px;margin:0 auto;padding:40px;border:1px solid var(--gray-200);border-radius:12px;background:var(--white);box-shadow:0 10px 30px #0a2c5214}.legal-modal-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f1e37ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.legal-modal-panel{width:min(960px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:12px}.legal-modal-panel .legal-document{max-width:none;margin:0}.legal-document-close{position:sticky;top:0;float:right;width:38px;height:38px;margin:-12px -12px 12px 20px;border:1px solid var(--gray-200);border-radius:50%;background:var(--white);color:var(--blue-900);font-size:18px;cursor:pointer;box-shadow:0 3px 10px #0a2c5224}.legal-document-back{display:inline-block;margin-bottom:28px;color:var(--blue-700);font-weight:600;text-decoration:none}.legal-document h1{margin:0;color:var(--blue-900);font-size:clamp(27px,4vw,38px);line-height:1.2}.legal-document-subtitle{margin:10px 0 4px;color:var(--gray-700);font-size:18px;font-weight:600}.legal-document-meta{margin:0 0 32px;color:var(--blue-700);font-size:14px;font-weight:600}.legal-document h2{margin:32px 0 12px;color:var(--blue-900);font-size:21px}.legal-document p{color:var(--gray-700);line-height:1.75}.tabs{margin-top:16px;display:inline-flex;gap:8px}.tab-button{border-radius:999px;border:1px solid var(--gray-200);padding:6px 16px;background:var(--white);color:var(--blue-900);font-weight:500;cursor:pointer;font-size:14px}.tab-button.active{background:var(--blue-700);color:var(--white);border-color:var(--blue-700)}.table-card,.invoice-card{background:var(--white);border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 10px 30px #0a2c5214;padding:24px;margin-top:24px;overflow-x:auto}.table-scroll-viewport{max-height:calc(100vh - 220px);overflow:auto;border:1px solid #c9d6ea;border-radius:8px;position:relative}.table-scroll-viewport .requests-table{margin-top:0}.table-scroll-viewport .requests-table thead th{position:sticky;top:0;z-index:3}.requests-table,.invoice-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.requests-table th,.requests-table td,.invoice-table th,.invoice-table td{border:1px solid #c9d6ea;padding:6px 8px;text-align:left;white-space:normal;word-break:break-word;vertical-align:middle}.requests-table thead,.invoice-table thead{background:var(--blue-700)}.requests-table thead th{background:var(--blue-700);color:var(--white);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.02em}.requests-table tr.selected{outline:2px solid var(--blue-700)}.requests-table tbody tr:nth-child(2n){background:#f3f7ff}.requests-table tbody tr:nth-child(odd){background:#fff}.requests-table{table-layout:fixed}.requests-table th{position:relative;overflow:hidden}.requests-table-resizable th .col-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.requests-table-resizable th .col-resizer:hover,.requests-table-resizable th .col-resizer.is-resizing{background:#ffffff59}body.table-col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.table-col-resizing *{cursor:col-resize!important}.secondary.small{padding:6px 10px;font-size:13px}.details-button{padding:4px 8px;font-size:11px;border-radius:4px;border:1px solid #c9d6ea;background:#f7f9fc;color:#13508f;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:70px;transition:background .15s ease,color .15s ease,border-color .15s ease}.details-button:hover{background:#e4edf9;border-color:#13508f;color:#0b365f}.details-button:active{background:#d6e2f5}.error-text{color:#dc3545;margin-bottom:8px}.ok-text{color:#2e7d32;margin-bottom:8px;font-weight:600}.cell-input{width:100%;border:1px solid var(--gray-200);border-radius:4px;padding:4px 6px;font-size:11px}.cell-select{width:100%;border:1px solid var(--gray-200);border-radius:4px;padding:4px 6px;font-size:11px;background:#fff}.cell-multiselect{width:100%;border:1px solid var(--gray-200);border-radius:4px;padding:2px 4px;font-size:11px;background:#fff}.siti-checkboxes{display:flex;flex-wrap:wrap;gap:4px 8px}.sito-option{display:flex;align-items:center;gap:4px;font-size:11px}.siti-cell{position:relative;cursor:pointer}.siti-display{display:flex;flex-wrap:wrap;gap:4px}.sito-pill{background:var(--blue-100);color:var(--blue-800);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;white-space:nowrap}.sito-empty{font-size:11px;color:var(--gray-400)}.siti-popover{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:10;margin-top:4px;background:#fff;border:1px solid var(--gray-200);border-radius:6px;padding:6px 8px;box-shadow:0 4px 12px #00000014;width:420px;max-width:90vw;max-height:160px;overflow:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pdf-buttons{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.pdf-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.pdf-button.riepilogo{background:linear-gradient(135deg,var(--blue-700),var(--blue-800));color:#fff}.pdf-button.riepilogo:hover{background:linear-gradient(135deg,var(--blue-800),var(--blue-900));transform:translateY(-2px);box-shadow:0 4px 12px #0f3e734d}.pdf-button.proforma{background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff}.pdf-button.proforma:hover{background:linear-gradient(135deg,#1b5e20,#0d3d0d);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d324d}.empty-pratiche{text-align:center;padding:28px 16px 12px}.empty-pratiche-title{margin:0 0 8px;font-size:22px;font-weight:800;color:var(--blue-900)}.empty-pratiche p{margin:0 0 20px;color:var(--gray-700)}a.primary-button.empty-pratiche-cta{display:inline-block;text-decoration:none;color:#fff;min-width:240px}@media(max-width:700px){.section-header h1{font-size:28px}.request-form{padding:24px}.pdf-buttons{flex-direction:column}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8faff,#e0e9f5);padding:40px 20px}.auth-card{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0a2c521a;padding:40px;width:100%;max-width:480px;animation:fadeInUp .5s ease-out}.auth-card h1{color:var(--blue-900);font-size:24px;margin:0 0 10px;text-align:center}.auth-main-title{color:var(--blue-900);font-size:20px;font-weight:800;text-align:center;margin-bottom:16px;line-height:1.3;text-transform:uppercase}.auth-logo{display:block;width:min(220px,70%);height:auto;margin:0 auto 14px}.auth-logo-caption{margin:0 0 30px;color:var(--blue-900);font-size:16px;font-weight:700;line-height:1.1;text-align:center}.auth-logo-caption span{display:block;color:var(--blue-700);font-size:22px;font-weight:800}.auth-toggle{display:flex;background:#e9eff7;padding:6px;border-radius:12px;margin-bottom:40px}.toggle-btn{flex:1;border:none;background:none;padding:12px;font-weight:700;font-size:14px;cursor:pointer;border-radius:8px;transition:all .3s ease;color:var(--blue-900);text-transform:uppercase;letter-spacing:.05em}.toggle-btn.active{background:var(--blue-900);color:#fff;box-shadow:0 4px 12px #0a2c5233}.auth-card h2{color:var(--gray-900);font-size:28px;margin:0 0 24px;text-align:left;font-weight:800}.auth-card form{display:flex;flex-direction:column;gap:20px}.auth-card label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--blue-900)}.auth-card input{padding:14px;border:2px solid #e9eff7;border-radius:10px;font-size:15px;transition:all .2s;background:#fcfdfe}.auth-card input:focus{outline:none;border-color:var(--blue-700);background:#fff}.auth-card input:disabled{background:#f5f5f5;cursor:not-allowed}.password-field{display:flex;align-items:center;position:relative}.password-field input{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:2;border:1px solid #d6e2f2;background:#fff;cursor:pointer;font-size:14px;line-height:1;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--blue-900)}.password-toggle svg{display:block}.password-toggle:focus{outline:none}.password-toggle:hover{background:#f3f7fd;border-color:#c3d5ee}.auth-card small{font-size:12px;color:var(--gray-400);margin-top:-4px}.primary-button,a.primary-button{padding:16px;background:var(--blue-900);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;margin-top:10px;box-shadow:0 4px 12px #0a2c5226}.primary-button:hover:not(:disabled){background:#072242;transform:translateY(-2px);box-shadow:0 8px 20px #0a2c5240}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.error-message{padding:14px;background:#fff5f5;border-left:4px solid #f56565;border-radius:4px;color:#c53030;font-size:14px;margin-bottom:5px;font-weight:500}.ok-message{padding:14px;background:#f0f9f4;border-left:4px solid #2e7d32;border-radius:4px;color:#2e7d32;font-size:14px;margin-bottom:5px;font-weight:600}.auth-link{text-align:center;margin-top:24px;color:var(--gray-700);font-size:14px}.auth-link span{color:var(--blue-700);cursor:pointer;font-weight:700}.auth-link span:hover{text-decoration:underline}.secondary-button{padding:12px;background:#e9eff7;color:var(--blue-900);border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer}.secondary-button:hover:not(:disabled){background:#d6e2f2}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.password-strength{display:flex;flex-direction:column;gap:8px;margin-top:4px}.password-strength-header{display:flex;align-items:center;gap:10px}.password-strength-track{flex:1;height:8px;background:#e9eff7;border-radius:99px;overflow:hidden}.password-strength-bar{height:100%;border-radius:99px;transition:width .25s ease,background-color .25s ease}.password-strength-bar.weak{background:#e53935}.password-strength-bar.medium{background:#fb8c00}.password-strength-bar.strong{background:#2e7d32}.password-strength-label{min-width:58px;font-size:12px;font-weight:700;color:var(--gray-400);text-align:right}.password-strength-label.weak{color:#c62828}.password-strength-label.medium{color:#ef6c00}.password-strength-label.strong{color:#2e7d32}.password-strength-rules{list-style:none;margin:0;padding:0;display:grid;gap:4px}.password-strength-rules li{font-size:12px;font-weight:500;color:var(--gray-400)}.password-strength-rules li:before{content:"○ "}.password-strength-rules li.met{color:#2e7d32}.password-strength-rules li.met:before{content:"● "}.account-page{display:grid;gap:8px}.account-card h2{margin:0 0 8px;color:var(--blue-900)}.account-hint{margin:0 0 20px;color:var(--gray-700);font-size:14px}.account-form{display:flex;flex-direction:column;gap:16px}.account-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--blue-900)}.account-form input{padding:12px 14px;border:2px solid #e9eff7;border-radius:10px;font-size:15px;background:#fcfdfe}.account-form input:focus{outline:none;border-color:var(--blue-700);background:#fff}.account-form input:disabled{background:#f5f5f5;cursor:not-allowed}.account-form .primary-button{align-self:flex-start;min-width:200px}.account-email-block{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.account-email-block label{margin:0}.account-email-action{height:46px;padding:0 18px;margin:0;white-space:nowrap}@media(max-width:640px){.account-email-block{grid-template-columns:1fr}.account-email-action{width:100%}}.empty-pratiche-cta{min-width:240px}.app-header{background:var(--blue-900);color:#fff;padding:16px 0;box-shadow:0 2px 8px #0000001a}.header-content{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.header-left h1{margin:0;font-size:20px;font-weight:700}.user-info{margin:4px 0 0;font-size:12px;opacity:.9}.header-nav{display:flex;align-items:center;gap:16px}.nav-link{color:#fff;text-decoration:none;padding:8px 16px;border-radius:6px;transition:background .2s;font-size:14px;font-weight:500}.nav-link:hover{background:#ffffff1a}.logout-button{padding:8px 16px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.logout-button:hover{background:#ffffff4d}@media(max-width:768px){.header-content{flex-direction:column;align-items:flex-start}.header-nav{width:100%;flex-wrap:wrap}}
