:root{--primary:#4f46e5;--primary-hover:#4338ca;--secondary:#0ea5e9;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg-app:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--text-main:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--input-bg:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-glow:0 0 15px #4f46e526;--font-title:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);color:var(--text-main);font-weight:700}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.app-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:50;background:#fffc;transition:all .3s;position:sticky;top:0}.app-main{flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}@media (width<=768px){.app-main{padding:1rem .75rem}}.premium-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:20px;padding:2.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.premium-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary));opacity:0;width:100%;height:4px;transition:opacity .3s;position:absolute;top:0;left:0}.premium-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-2px)}.premium-card:hover:before{opacity:1}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-main);font-size:.875rem;font-weight:600;font-family:var(--font-title);margin-bottom:.5rem;display:block}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border);background-color:var(--input-bg);width:100%;color:var(--text-main);font-family:var(--font-body);border-radius:12px;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 0 0 4px #4f46e51a}.checkbox-card{border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.checkbox-card:hover{border-color:var(--primary);background-color:#4f46e505}.checkbox-card.active{border-color:var(--primary);background-color:#4f46e50d;box-shadow:0 0 0 4px #4f46e50d}.checkbox-circle{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.checkbox-card.active .checkbox-circle{border-color:var(--primary);background-color:var(--primary)}.checkbox-dot{background-color:#fff;border-radius:50%;width:8px;height:8px;transition:transform .2s;transform:scale(0)}.checkbox-card.active .checkbox-dot{transform:scale(1)}.btn{font-family:var(--font-title);cursor:pointer;border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;box-shadow:0 4px 10px #4f46e533}.btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 6px 14px #4f46e54d}.btn-secondary{color:#334155;border:1px solid var(--border);background-color:#f1f5f9}.btn-secondary:hover{background-color:#e2e8f0;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.badge{font-size:.75rem;font-weight:600;font-family:var(--font-title);border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .75rem;display:inline-flex}.badge-primary{color:var(--primary);background-color:#4f46e51a}.badge-success{color:var(--success);background-color:#10b9811a}.badge-warning{color:var(--warning);background-color:#f59e0b1a}.steps-container{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex;position:relative}.steps-bar{background-color:var(--border);z-index:1;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.steps-bar-progress{background:linear-gradient(90deg, var(--primary), var(--secondary));height:100%;transition:width .3s;position:absolute;top:0;left:0}.step-node{z-index:2;background-color:var(--bg-card);border:2.5px solid var(--border);width:40px;height:40px;font-weight:700;font-family:var(--font-title);color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative}.step-node.active{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-glow);transform:scale(1.1)}.step-node.completed{border-color:var(--success);background-color:var(--success);color:#fff}.signature-canvas-container{border:2px dashed var(--border);cursor:crosshair;background-color:#fafafa;border-radius:12px;height:180px;position:relative;overflow:hidden}.signature-canvas{width:100%;height:100%;position:absolute;top:0;left:0}@media print{header,footer,nav,button,.btn,.no-print,.steps-container,.dashboard-tabs,.login-container{display:none!important}@page{size:A4;margin:1.6cm 1.4cm!important;@bottom-right{content:"Page " counter(page) " / " counter(pages);font-family:Times New Roman,Times,serif;font-size:9pt;color:#64748b}}body{color:#000!important;background-color:#fff!important;margin:0!important;padding:0!important;font-size:10.5pt!important;line-height:1.4!important}html{background-color:#fff!important;margin:0!important;padding:0!important}.app-main{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.premium-card{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;transform:none!important}.lease-document{padding:0!important;font-family:Times New Roman,Times,serif!important}.lease-document h1{text-align:center!important;text-transform:uppercase!important;border-bottom:2px solid #000!important;margin-bottom:20px!important;padding-bottom:10px!important;font-size:18pt!important}.lease-document h2{border-bottom:1px solid #666!important;margin-top:25px!important;margin-bottom:10px!important;padding-bottom:3px!important;font-size:14pt!important}.lease-document h3{margin-top:15px!important;margin-bottom:5px!important;font-size:12pt!important}.lease-document h1,.lease-document h2,.lease-document h3{page-break-after:avoid!important;break-after:avoid!important}.lease-section{margin-bottom:20px!important}.lease-grid{grid-template-columns:1fr 1fr!important;gap:15px!important;margin-bottom:10px!important;display:grid!important}.lease-document table{border-collapse:collapse!important;width:100%!important;margin-top:10px!important;margin-bottom:15px!important}.lease-document th,.lease-document td{text-align:left!important;border:1px solid #000!important;padding:6px 8px!important;font-size:8.5pt!important}.lease-document th{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background-color:#f1f5f9!important;font-weight:700!important}.lease-document tr{page-break-inside:avoid!important;break-inside:avoid!important}.page-break{page-break-before:always!important}.proof-seal{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background-color:#f9f9f9!important;border:1px solid #000!important;margin-top:20px!important;padding:10px!important;font-family:monospace!important;font-size:8.5pt!important}.print-only-inline{display:inline!important}.lease-document table input{display:none!important}}.print-only-inline,.mobile-bottom-nav,.inventory-list-mobile{display:none}@media (width<=768px){.app-header-desktop nav{display:none!important}.mobile-bottom-nav{-webkit-backdrop-filter:blur(16px);z-index:999;height:70px;padding-bottom:env(safe-area-inset-bottom,0px);background:#ffffffd9;border-top:1px solid #e2e8f0cc;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000d}.mobile-nav-item{color:var(--text-muted);font-family:var(--font-title);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;max-width:90px;padding:.4rem .5rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.mobile-nav-item:active{transform:scale(.93)}.mobile-nav-item.active{color:var(--primary)}body{padding-bottom:90px!important}.inventory-table-desktop{display:none!important}.inventory-list-mobile{flex-direction:column;gap:1.25rem;width:100%;margin-top:.5rem;display:flex!important}.inventory-mobile-card{background:var(--bg-card);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;padding:1.25rem;transition:all .25s}.inventory-mobile-card:hover{border-color:var(--secondary);box-shadow:var(--shadow-md)}.inventory-card-header{border-bottom:1px solid var(--border);margin-bottom:.85rem;padding-bottom:.5rem}.inventory-card-element-name{color:var(--text-main);font-size:.95rem;font-weight:700}.inventory-card-states{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.state-btn{border:1.5px solid var(--border);background-color:var(--bg-app);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:.6rem .2rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.state-btn:active{transform:scale(.95)}.state-badge{color:var(--text-main);margin-bottom:.1rem;font-size:.95rem;font-weight:800}.state-label{color:var(--text-muted);font-size:.6rem;font-weight:600}.state-btn.active{transform:scale(1.05);box-shadow:0 4px 10px #0000001a;color:#fff!important}.state-btn.active .state-badge{color:#fff!important}.state-btn.active .state-label{color:#ffffffd9!important}.state-btn-TB.active{background-color:#059669!important;border-color:#059669!important}.state-btn-B.active{background-color:#2563eb!important;border-color:#2563eb!important}.state-btn-U.active{background-color:#d97706!important;border-color:#d97706!important}.state-btn-M.active{background-color:#dc2626!important;border-color:#dc2626!important}.inventory-card-observations{width:100%}.inventory-card-observations .form-input{background-color:var(--bg-app);border-radius:10px;padding:.6rem .85rem;font-size:.875rem}.observation-view-text{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;font-style:italic;display:block}}@media print{.inventory-table-desktop{display:table!important}.inventory-list-mobile,.mobile-bottom-nav{display:none!important}body{padding-bottom:0!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px #4f46e51a}50%{box-shadow:0 0 20px #4f46e540}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.pulse-glow{animation:2s ease-in-out infinite pulseGlow}.dashboard-tab-btn{font-family:var(--font-title);cursor:pointer;color:var(--text-muted);background-color:#0000;border:none;border-radius:14px;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.dashboard-tab-btn.active{background-color:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e533}.dashboard-tabs{border:1px solid var(--border);background-color:#e2e8f080;border-radius:18px;gap:.25rem;width:fit-content;margin-bottom:2rem;padding:.35rem;display:flex}.detail-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.85rem 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-muted);font-weight:500}.detail-value{color:var(--text-main);text-align:right;font-weight:600}.certificate-badge{color:#f1f5f9;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:1.25rem;font-family:monospace;font-size:.825rem;box-shadow:inset 0 2px 4px #0006}.canvas-clear-btn{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background-color:#fffffff2;border-radius:6px;padding:.35rem .65rem;font-size:.75rem;font-weight:600;transition:all .2s;position:absolute;bottom:12px;right:12px}.canvas-clear-btn:hover{background-color:var(--danger);color:#fff;border-color:var(--danger)}.signature-stamp{text-transform:uppercase;text-align:center;border:2.5px solid #000;border-radius:6px;width:fit-content;margin:8px 0;padding:8px 12px;font-family:monospace;font-size:9pt;font-weight:800;line-height:1.1}.signature-stamp-bailleur{border-color:var(--primary);color:var(--primary)}.signature-stamp-locataire{border-color:var(--secondary);color:var(--secondary)}.dashboard-layout{grid-template-columns:1fr;align-items:start;gap:2rem;display:grid}@media (width>=992px){.dashboard-layout{grid-template-columns:340px 1fr}}.dashboard-layout-full{grid-template-columns:1fr;align-items:start;gap:2rem;display:grid}
