:root{--bg:#f6f7fb;--panel:#fff;--text:#101828;--muted:#667085;--line:#e4e7ec;--primary:#0f766e;--primary-dark:#115e59;--danger:#b42318;--warning:#b54708;--success:#027a48;--shadow:0 12px 30px #10182814}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,100% - 32px);margin:0 auto}.header{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.logo{letter-spacing:-.03em;font-size:22px;font-weight:800}.logo span{color:var(--primary)}.nav-links{color:var(--muted);align-items:center;gap:18px;font-size:14px;display:flex}.btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{color:var(--danger)}.hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding:72px 0 48px;display:grid}.hero h1{letter-spacing:-.06em;margin:0 0 18px;font-size:clamp(38px,6vw,64px);line-height:1}.hero p{color:var(--muted);margin:0 0 26px;font-size:18px;line-height:1.65}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:24px}.grid{gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:48px 0}.section h2{letter-spacing:-.04em;margin:0 0 12px;font-size:34px}.muted{color:var(--muted)}.kpi{flex-direction:column;gap:8px;display:flex}.kpi strong{font-size:30px}.badge{color:var(--success);background:#ecfdf3;border:1px solid #abefc6;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.warn{color:var(--warning);background:#fffaeb;border-color:#fedf89}.badge.danger{color:var(--danger);background:#fef3f2;border-color:#fecdca}.badge.neutral{color:#344054;background:#f2f4f7;border-color:#eaecf0}.form{gap:14px;display:grid}label{gap:7px;font-size:14px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:11px 12px}textarea{min-height:100px}.auth-shell{place-items:center;width:100%;min-height:100vh;padding:32px;display:grid;overflow-x:hidden}.auth-card{overflow-wrap:anywhere;width:calc(100vw - 64px);min-width:0;max-width:480px}.dashboard-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0b1220;padding:22px}.sidebar-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-toggle{width:auto!important;display:none!important}.sidebar .logo{margin-bottom:28px}.sidebar a,.sidebar button{color:#cbd5e1;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;padding:11px 12px;display:flex}.sidebar a:hover,.sidebar button:hover{color:#fff;background:#ffffff14}.main{padding:28px;overflow-x:auto}.page-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-title h1{letter-spacing:-.04em;margin:0;font-size:30px}.table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:13px 14px;font-size:14px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:12px}.table tr:last-child td{border-bottom:0}.table-wrap{width:100%;overflow-x:auto}.import-sections{gap:24px}.import-report{min-width:0}.import-stats{margin:14px 0}.import-stats>div{border:1px solid var(--line);background:#fff;border-radius:12px;gap:4px;padding:12px;display:grid}.import-stats strong{font-size:20px}.import-actions{flex-wrap:wrap;gap:10px;display:flex}.import-preview-table{min-width:940px}.import-preview-table td{vertical-align:top;white-space:normal}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.print-contract{color:#111;background:#fff;border:1px solid #ddd;width:min(900px,100%);margin:24px auto;padding:42px}.print-contract h1{margin-top:0}@media (max-width:900px){.hero,.grid-3,.grid-2,.stat-grid,.dashboard-shell{grid-template-columns:1fr}.sidebar{padding:14px 18px;position:static}.sidebar .logo{margin-bottom:0}.sidebar-toggle{display:inline-flex!important}.sidebar>.muted,.sidebar>.language-select,.sidebar-navigation{display:none}.sidebar.sidebar-open>.muted,.sidebar.sidebar-open>.language-select,.sidebar.sidebar-open .sidebar-navigation{display:grid}.sidebar.sidebar-open>.muted{display:block}.sidebar-navigation{margin-top:14px}.nav{flex-direction:column;align-items:flex-start;height:auto;padding:18px 0}}@media print{body{background:#fff}.sidebar,.header,.no-print,.page-title .actions{display:none!important}.dashboard-shell{display:block}.main{padding:0}.print-contract{border:0;width:100%;margin:0;padding:0}}.contract-header{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;padding-bottom:18px;display:flex}.contract-title-block{text-align:right}.contract-title-block h1{margin-bottom:8px}.contract-logo{object-fit:contain;max-width:190px;max-height:95px}.contract-logo-placeholder{border:2px solid #111;place-items:center;width:96px;height:96px;font-size:28px;font-weight:800;display:grid}.contract-boxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.contract-box{border:1px solid #ddd;min-height:170px;padding:16px}.contract-box h2{margin-top:0;font-size:18px}.contract-box p{overflow-wrap:anywhere;word-break:break-word;margin:6px 0}.contract-intro{background:#f8f8f8;border-left:4px solid #111;padding:10px 14px}.contract-table{margin-bottom:20px}.contract-terms{white-space:pre-line;border:1px solid #ddd;padding:16px;font-size:13px;line-height:1.45}.signature-grid{margin-top:36px}.signature-box{border:1px solid #999;height:120px;margin-top:12px}.contract-footer{color:#555;white-space:pre-line;border-top:1px solid #ddd;margin-top:28px;padding-top:12px;font-size:12px}@media print{.contract-header,.contract-boxes,.signature-grid{break-inside:avoid}.contract-terms{font-size:11px}}.price-summary{background:#f0fdfa;border:1px solid #99f6e4;border-radius:14px;gap:8px;padding:16px;display:grid}.price-summary span{color:#115e59}.price-total{font-size:18px;font-weight:800}.soft-card{box-shadow:none;background:#f9fafb}.signature-canvas{border:1px solid var(--line);touch-action:none;background:#fff;border-radius:12px;width:100%;height:180px;margin:10px 0}.signature-image{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-height:180px;margin-top:10px;display:block}.signature-print{object-fit:contain;width:100%;height:100%}@media (max-width:900px){.signature-canvas{height:150px}}.language-select{color:#e5e7eb;border:1px solid #94a3b840;border-radius:12px;gap:6px;margin:14px 0;padding:10px;display:grid}.language-select span{font-size:13px;font-weight:700}.language-select select{color:#fff;background:#0f172a;border:1px solid #94a3b859;border-radius:10px;width:100%;padding:8px}.language-select small{color:#94a3b8;line-height:1.3}.structured-json{white-space:pre-wrap;color:#e2e8f0;background:#0f172a;border-radius:14px;padding:16px;font-size:12px;line-height:1.45;overflow-x:auto}.totals-table{max-width:520px;margin-left:auto}.compact-label{color:#475569;gap:4px;min-width:110px;font-size:12px;display:grid}.compact-label input{color:#0f172a;border:1px solid #dbe3ef;border-radius:10px;padding:8px 10px;font-weight:700}.checkbox-line{align-items:center;gap:10px;display:flex!important}.checkbox-line input{width:auto}.invoice-create-form{flex-wrap:wrap;align-items:end}.upload-panel{border:1px dashed var(--line);background:#f9fafb;border-radius:14px;gap:10px;padding:14px;display:grid}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.document-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-height:280px}.doc-title{font-weight:800;text-decoration:underline}.card,.grid>*,.upload-panel,.table,form,label{min-width:0}.upload-panel,.upload-panel *{max-width:100%}.file-preview-name,.doc-title,.table td,.muted strong{overflow-wrap:anywhere;word-break:break-word}.upload-panel .actions{width:100%}.upload-panel .btn{white-space:normal;min-width:0}input[type=file]{max-width:100%}@media (max-width:1100px){.main,.card{padding:18px}.grid-2{grid-template-columns:1fr}}@media (max-width:700px){.auth-shell{padding:16px}.auth-card{width:calc(100vw - 32px)}.main{padding:12px}.page-title{flex-direction:column;align-items:flex-start}.table{white-space:normal;display:block;overflow-x:auto}.table:not(.documents-table){min-width:760px}.table th,.table td{overflow-wrap:anywhere;word-break:normal}.table th:last-child,.table td:last-child{white-space:nowrap;min-width:72px}.print-contract{margin:12px auto;padding:18px}.contract-header{grid-template-columns:88px minmax(0,1fr);gap:14px;display:grid}.contract-logo-placeholder{width:84px;height:84px}.contract-title-block h1{overflow-wrap:anywhere;font-size:28px;line-height:1.05}.contract-boxes{grid-template-columns:1fr}.contract-box{min-height:0}.upload-panel .actions{flex-direction:column;align-items:stretch}.upload-panel .btn{width:100%}}.verification-box{background:#fff7ed;border:1px solid #f4c27a;border-radius:16px;margin-top:14px;padding:16px}.verification-box h3{margin:0 0 8px}.verification-box ul{margin:10px 0;padding-left:20px}.checkbox-line{flex-direction:row;align-items:flex-start;gap:10px;font-weight:700;display:flex}.checkbox-line input{width:auto;margin-top:4px}.selected-files{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;flex-direction:column;gap:6px;padding:12px;display:flex}.footer{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:28px 0 42px;font-size:14px;display:flex}.footer a{text-decoration:underline}.legal-page h1{margin-top:0}.legal-text{white-space:pre-line;color:#334155;font-size:15px;line-height:1.7}.document-row-title,.table .doc-title{text-overflow:ellipsis;vertical-align:top;max-width:260px;display:inline-block;overflow:hidden}.table .btn{white-space:nowrap}@media (max-width:720px){.footer{justify-content:flex-start;align-items:flex-start}.document-row-title,.table .doc-title{max-width:180px}}.documents-table{table-layout:fixed;width:100%}.documents-table th:first-child,.documents-table td:first-child{width:42%}.documents-table th:nth-child(2),.documents-table td:nth-child(2){width:25%}.documents-table th:nth-child(3),.documents-table td:nth-child(3){width:17%}.documents-table th:nth-child(4),.documents-table td:nth-child(4){text-align:right;width:16%}.documents-table td{vertical-align:middle}.documents-table .doc-title,.documents-table .document-row-title{white-space:nowrap;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal;max-width:100%;line-height:1.25;display:block;overflow:hidden}.documents-table .muted{margin-top:3px;line-height:1.25;display:block}.document-attachment{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.document-open-btn{white-space:nowrap;min-width:82px}@media (max-width:760px){.documents-table,.documents-table thead,.documents-table tbody,.documents-table tr,.documents-table th,.documents-table td{display:block;width:100%!important}.documents-table thead{display:none}.documents-table tr{border-bottom:1px solid var(--line);padding:12px 0}.documents-table td{border-bottom:0;padding:6px 0;text-align:left!important}.document-open-btn{width:100%}}.documents-list{gap:12px;display:grid}.document-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(130px,190px) auto;align-items:center;gap:14px;padding:14px;display:grid}.document-card-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;text-decoration:underline;display:block;overflow:hidden}.document-card-type{color:var(--muted);margin-top:4px;line-height:1.25;display:block}.document-card-meta{color:#0f172a;gap:6px;min-width:0;display:grid}.document-card-meta span{text-overflow:ellipsis;white-space:nowrap;gap:2px;min-width:0;display:grid;overflow:hidden}.document-card-meta strong{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.document-open-btn{text-align:center;justify-content:center;width:auto;min-width:86px}.payment-confirm-card{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:12px}.payment-confirm-line{font-weight:800}@media (max-width:900px){.document-card{grid-template-columns:1fr;align-items:stretch}.document-card-title,.document-card-meta span{white-space:normal;overflow-wrap:anywhere}.document-open-btn{width:100%}}.badge.info{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.badge.success{color:var(--success);background:#ecfdf3;border-color:#abefc6}.calendar-card{overflow:hidden}.calendar-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.legend-dot{border-radius:999px;width:10px;height:10px;margin-left:8px;display:inline-block}.legend-dot.start{background:#2563eb}.legend-dot.return{background:#059669}.legend-dot.late{background:#dc2626}.legend-dot.vgp{background:#7c3aed}.legend-dot.maintenance{background:#64748b}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-weekdays{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900}.calendar-weekdays>div{text-align:center;padding:8px 6px}.calendar-day{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:128px;padding:9px;overflow:hidden}.calendar-day.empty{background:#f8fafc;border-style:dashed}.calendar-day.today{outline-offset:-2px;outline:2px solid #14b8a6}.calendar-day-number{color:#0f172a;margin-bottom:8px;font-size:12px;font-weight:900}.calendar-events{gap:5px;display:grid}.event{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:5px 7px;font-size:12px;font-weight:800;line-height:1.15;text-decoration:none;display:block;overflow:hidden}.event-start{color:#1d4ed8;background:#dbeafe}.event-return{color:#047857;background:#d1fae5}.event-rented{color:#334155;background:#f1f5f9}.event-late{color:#b91c1c;background:#fee2e2}.event-vgp{color:#6d28d9;background:#ede9fe}.event-maintenance{color:#475569;background:#e2e8f0}.invoice-list{gap:14px;display:grid}.invoice-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:18px}.invoice-card-main{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.invoice-card-main h3{margin:0;font-size:20px}.invoice-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.invoice-card-grid>div{min-width:0}.tiny-label{letter-spacing:.04em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:900;display:block}.invoice-actions{justify-content:flex-end;margin-top:16px}@media (max-width:1100px){.invoice-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{gap:6px}.calendar-day{min-height:106px;padding:7px}.event{font-size:11px}}@media (max-width:720px){.calendar-grid{grid-template-columns:1fr}.calendar-weekdays,.calendar-day.empty{display:none}.calendar-day{min-height:auto}.event{white-space:normal}.invoice-card-main{flex-direction:column}.invoice-card-grid{grid-template-columns:1fr}.invoice-actions .btn{text-align:center;justify-content:center;width:100%}}.asset-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.asset-info-grid p{border:1px solid var(--line);background:#f8fafc;border-radius:12px;gap:4px;margin:0;padding:10px 12px;display:grid}.asset-info-grid strong{text-transform:uppercase;letter-spacing:.04em;color:#667085;font-size:12px}.asset-info-grid span{color:var(--text);overflow-wrap:anywhere;font-weight:800}.asset-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.asset-photo-card{color:inherit;border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:8px;padding:10px;text-decoration:none;display:grid}.asset-photo-card img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%}.asset-photo-card span{color:#475569;font-size:12px;font-weight:800}@media (max-width:900px){.asset-info-grid{grid-template-columns:1fr}.asset-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.asset-photo-grid{grid-template-columns:1fr}}.assets-list{gap:14px;display:grid}.asset-card-row{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(220px,330px) minmax(260px,auto);align-items:center;gap:18px;padding:18px;display:grid}.asset-card-main{grid-template-columns:minmax(82px,.6fr) minmax(180px,1.5fr) minmax(120px,.8fr) minmax(95px,.7fr) minmax(105px,.7fr);align-items:start;gap:14px;min-width:0;display:grid}.asset-card-main h3,.asset-card-main p{margin:0}.asset-card-main strong,.asset-card-dates strong{overflow-wrap:anywhere;display:block}.asset-card-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.asset-card-dates>div{align-content:start;gap:6px;display:grid}.asset-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.asset-status-form{flex-wrap:nowrap}.asset-status-form select{min-width:150px}.asset-kpi-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-top:14px;display:grid}.asset-kpi{border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:6px;min-width:0;padding:12px;display:grid}.asset-kpi span{color:var(--muted);font-weight:700;line-height:1.2}.asset-kpi strong{overflow-wrap:anywhere;font-size:clamp(20px,2.4vw,28px);line-height:1.1}@media (max-width:1280px){.asset-card-row{grid-template-columns:1fr;align-items:stretch}.asset-card-actions{justify-content:flex-start}}@media (max-width:900px){.asset-card-main,.asset-card-dates,.asset-kpi-grid{grid-template-columns:1fr}.asset-status-form,.asset-card-actions{flex-direction:column;align-items:stretch}.asset-card-actions .btn,.asset-status-form select,.asset-status-form .btn{width:100%}}.asset-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:14px!important;display:grid!important}.asset-kpi{align-content:start!important;min-width:0!important;display:grid!important;overflow:hidden!important}.asset-kpi span{min-height:32px!important;font-size:14px!important;line-height:1.25!important;display:block!important}.asset-kpi strong{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;max-width:100%!important;font-size:clamp(22px,1.8vw,30px)!important;line-height:1.05!important;display:block!important}@media (min-width:1500px){.asset-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media (max-width:700px){.asset-kpi-grid{grid-template-columns:1fr!important}.asset-kpi strong{font-size:24px!important}}.asset-card-row{overflow:hidden!important}.asset-card-main,.asset-card-main>div,.asset-card-dates>div{min-width:0!important}.badge{box-sizing:border-box!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important;max-width:100%!important;line-height:1.15!important}.asset-money-list{gap:10px!important;margin-top:14px!important;display:grid!important}.asset-money-row{border:1px solid var(--line)!important;background:#f8fafc!important;border-radius:14px!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;min-width:0!important;padding:12px 14px!important;display:flex!important}.asset-money-row span{color:var(--muted)!important;min-width:115px!important;font-weight:800!important;line-height:1.2!important}.asset-money-row strong{text-align:right!important;white-space:nowrap!important;max-width:100%!important;font-size:clamp(20px,1.6vw,26px)!important;line-height:1.1!important;display:block!important}@media (max-width:760px){.asset-money-row{grid-template-columns:1fr!important;gap:6px!important;display:grid!important}.asset-money-row strong{text-align:left!important;white-space:normal!important}}.form-alert{border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:4px;padding:14px 16px;display:grid}.form-alert strong{font-size:16px}.form-alert span{color:var(--muted);line-height:1.4}.form-alert-danger{background:#fef3f2;border-color:#fecdca}.form-alert-danger strong{color:var(--danger)}.form-alert-danger span{color:#7a271a}.client-summary-list{gap:10px;margin-top:12px;display:grid}.client-summary-list>div{border:1px solid var(--line);background:#f8fafc;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.client-summary-list span{color:var(--muted);font-weight:800}.client-summary-list strong{text-align:right;overflow-wrap:anywhere;font-size:clamp(20px,2vw,28px)}@media (max-width:560px){.client-summary-list>div{flex-direction:column;align-items:flex-start}.client-summary-list strong{text-align:left}}
