:root{--loft-terracotta: #c1572e;--loft-moutarde: #d99a2b;--loft-avocat: #6b8e23;--loft-creme: #f4ecd8;--loft-noyer: #4a3526;--loft-noyer-2: #6b5440;--loft-card: #fbf6ea;--loft-line: #e3d6bd}.loft{min-height:100vh;color:var(--loft-noyer);background:var(--loft-creme);font-family:Rubik,system-ui,sans-serif;position:relative;overflow-x:hidden;padding-bottom:60px}.loft-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:radial-gradient(120% 120% at 10% 0%,#f7efda,#efe2c6 55%,#e7d6b4)}.loft-blob{position:absolute;border-radius:50%;filter:blur(48px);opacity:.55;mix-blend-mode:multiply;will-change:transform}.loft-blob.b1{width:46vw;height:46vw;left:-8vw;top:-6vw;background:radial-gradient(circle,var(--loft-moutarde),transparent 70%);animation:loftDrift1 26s ease-in-out infinite}.loft-blob.b2{width:40vw;height:40vw;right:-6vw;top:18vh;background:radial-gradient(circle,var(--loft-terracotta),transparent 70%);animation:loftDrift2 32s ease-in-out infinite}.loft-blob.b3{width:38vw;height:38vw;left:22vw;bottom:-10vw;background:radial-gradient(circle,var(--loft-avocat),transparent 70%);animation:loftDrift3 38s ease-in-out infinite}.loft-grain{position:absolute;inset:0;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes loftDrift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6vw,4vh) scale(1.12)}}@keyframes loftDrift2{0%,to{transform:translate(0) scale(1.05)}50%{transform:translate(-5vw,6vh) scale(.92)}}@keyframes loftDrift3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(4vw,-5vh) scale(1.1)}}@media(prefers-reduced-motion:reduce){.loft-blob{animation:none!important}}.loft-shell{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:22px 5% 0}.loft-head{display:flex;align-items:center;gap:18px;background:var(--loft-card);border:2px solid var(--loft-noyer);border-radius:22px;padding:18px 22px;box-shadow:6px 6px 0 var(--loft-noyer);flex-wrap:wrap}.loft-ava{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid var(--loft-noyer);background:var(--loft-creme);box-shadow:0 0 0 4px var(--loft-moutarde);flex-shrink:0}.loft-head h1{font-size:1.9rem;font-weight:900;line-height:1;margin:0 0 4px;letter-spacing:-.5px}.loft-head .loft-role{color:var(--loft-noyer-2);font-size:.92rem}.loft-head .loft-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.loft-switch{margin-left:auto}.loft-switch select{font-family:inherit;font-weight:700;border:2px solid var(--loft-noyer);border-radius:12px;background:var(--loft-creme);color:var(--loft-noyer);padding:8px 12px;cursor:pointer}.loft-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:22px 0}.loft-room{background:var(--loft-card);border:2px solid var(--loft-noyer);border-radius:20px;padding:16px 18px;box-shadow:4px 4px 0 var(--loft-noyer);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease;text-align:left}.loft-room:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--loft-noyer)}.loft-room.active{box-shadow:7px 7px 0 var(--loft-moutarde)}.loft-room-top{display:flex;align-items:center;gap:12px}.loft-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;flex-shrink:0}.loft-room h3{font-size:1.02rem;font-weight:800;margin:0}.loft-count{margin-left:auto;font-weight:900;font-size:1.3rem}.loft-room-prev{color:var(--loft-noyer-2);font-size:.82rem;margin-top:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loft-panel{background:var(--loft-card);border:2px solid var(--loft-noyer);border-radius:20px;box-shadow:6px 6px 0 var(--loft-noyer);padding:18px 20px;margin-bottom:28px}.loft-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.loft-panel-head h2{font-size:1.25rem;font-weight:900;margin:0}.loft-filters{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.loft-filters input,.loft-filters select{font-family:inherit;border:2px solid var(--loft-line);border-radius:10px;padding:6px 10px;font-size:.85rem;background:#fff}.loft-list{display:flex;flex-direction:column;gap:10px}.loft-item{border:1.5px solid var(--loft-line);border-radius:14px;padding:12px 14px;background:#fff}.loft-item h4{margin:0 0 4px;font-size:.95rem;font-weight:800}.loft-item .loft-sub{color:var(--loft-noyer-2);font-size:.8rem}.loft-item .loft-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.loft-badge{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 10px;color:#fff}.loft-badge.ok,.loft-badge.resolved{background:var(--loft-avocat)}.loft-badge.progress,.loft-badge.open{background:var(--loft-moutarde);color:var(--loft-noyer)}.loft-badge.alert,.loft-badge.ko{background:var(--loft-terracotta)}.loft-badge.flat{background:var(--loft-noyer)}.loft-chip{font-size:.72rem;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--loft-creme);border:1.5px solid var(--loft-line);color:var(--loft-noyer-2)}.loft-btn{font-family:inherit;font-weight:800;font-size:.82rem;border:2px solid var(--loft-noyer);border-radius:11px;padding:7px 13px;cursor:pointer;background:var(--loft-moutarde);color:var(--loft-noyer);display:inline-flex;align-items:center;gap:6px;box-shadow:2px 2px 0 var(--loft-noyer)}.loft-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--loft-noyer)}.loft-btn.ghost{background:#fff}.loft-btn:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.loft-modal{position:fixed;inset:0;z-index:30;background:#4a352673;display:grid;place-items:center;padding:18px}.loft-modal-box{background:var(--loft-card);border:2px solid var(--loft-noyer);border-radius:20px;box-shadow:8px 8px 0 var(--loft-noyer);padding:22px;width:min(460px,96vw)}.loft-modal-box h3{margin:0 0 12px;font-weight:900}.loft-modal-box select,.loft-modal-box label{width:100%;font-family:inherit}.loft-modal-box select{border:2px solid var(--loft-noyer);border-radius:12px;padding:9px 12px;margin-bottom:12px;background:#fff}.loft-empty{color:var(--loft-noyer-2);font-size:.9rem;padding:16px;text-align:center}.loft-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:40;background:var(--loft-noyer);color:var(--loft-creme);padding:11px 20px;border-radius:999px;font-weight:700;box-shadow:4px 4px #00000040}
