:root{--blue:#0d9fd7;--blue-dark:#153a5b;--blue-2:#23b4e7;--gray:#59616b;--light:#f4f8fb;--ink:#17212b;--line:#dfe8ef}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#eef7fb,#f8fbfd);color:var(--ink)}.app-bg{position:fixed;inset:0;background:url('logo.png') center center/560px no-repeat;opacity:.055;pointer-events:none;z-index:0}.hidden{display:none!important}.app{display:flex;min-height:100vh;position:relative;z-index:1}aside{width:285px;background:linear-gradient(180deg,#ffffff,#edf7fb);border-right:1px solid var(--line);padding:22px;position:sticky;top:0;height:100vh;box-shadow:8px 0 30px #0c3c5d12}.brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.side-logo{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;box-shadow:0 10px 24px #0d9fd72b}.brand h2{font-size:16px;line-height:1.2;color:var(--blue-dark);margin:0}.brand small{color:var(--blue);font-weight:bold}nav button{width:100%;margin:8px 0;text-align:left;background:white;color:var(--blue-dark);border:1px solid #dcebf3;border-radius:14px;padding:13px 15px;box-shadow:0 6px 15px #07334d0a}nav button:hover{border-color:var(--blue);color:var(--blue);transform:translateX(2px)}button,.primary{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:white;font-weight:bold}.primary{box-shadow:0 10px 22px #0d9fd72b}main{flex:1;padding:26px;position:relative;overflow:hidden}main:before{content:'';position:absolute;right:8%;top:180px;width:520px;height:520px;background:url('logo.png') center/contain no-repeat;opacity:.035;pointer-events:none}.topbar{height:74px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 30px #0b375812;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;margin-bottom:26px;backdrop-filter:blur(8px)}.topbar div{display:flex;align-items:center;gap:12px;font-weight:bold;color:var(--blue-dark)}.top-logo{width:50px;height:50px;object-fit:contain}.topbar small{color:var(--gray);font-weight:bold}.page{position:relative;z-index:2}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px}h1{color:var(--blue-dark);margin:6px 0 18px;font-size:30px}h2{color:var(--blue-dark)}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:18px}.cards div,.panel,.grid .client-card{background:rgba(255,255,255,.95);border-radius:22px;padding:22px;box-shadow:0 12px 28px #0b375812;border:1px solid var(--line);position:relative;overflow:hidden}.cards div:after,.panel:after,.client-card:after{content:'';position:absolute;right:-45px;bottom:-55px;width:150px;height:150px;background:url('logo.png') center/contain no-repeat;opacity:.045}.cards div{cursor:pointer;min-height:130px}.cards b{display:block;font-size:36px;color:var(--blue)}.cards span{color:var(--blue-dark);font-weight:bold}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:18px}.client-card{cursor:pointer;transition:.18s}.client-card:hover{transform:translateY(-3px);border-color:var(--blue)}.client-card h3{margin:0 0 7px;color:var(--blue-dark)}.client-card p{margin:5px 0;color:var(--gray)}.tag{display:inline-block;padding:6px 11px;border-radius:999px;background:#eaf7fd;color:var(--blue-dark);font-weight:bold;border:1px solid #cceaf7}table{width:100%;border-collapse:separate;border-spacing:0;background:white;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px #0b375812;margin-top:18px;border:1px solid var(--line)}th{background:linear-gradient(135deg,var(--blue-dark),var(--blue));color:white;text-align:left;padding:13px}td{padding:12px;border-bottom:1px solid #eef3f7}tr:last-child td{border-bottom:0}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.panel input,.panel select,.panel textarea{width:100%;padding:13px;border:1px solid #d4e3ec;border-radius:12px;margin:7px 0;background:white;font-size:14px}.panel textarea{min-height:80px;resize:vertical}.line{display:grid;grid-template-columns:2.2fr .7fr 1fr .7fr auto;gap:8px;align-items:center;background:#f8fbfd;border:1px solid #e0edf4;border-radius:14px;padding:8px;margin-bottom:8px}.line:before{content:'Désignation / Quantité / Prix unitaire HT / TVA';grid-column:1/-1;color:var(--gray);font-size:12px;font-weight:bold}.document{background:white;padding:38px;border-radius:14px;position:relative;min-height:100vh}.document:before{content:'';position:absolute;inset:0;background:url('logo.png') center/420px no-repeat;opacity:.065}.document>*{position:relative}.letterhead{width:100%;max-height:170px;object-fit:contain;margin-bottom:20px}@media print{aside,.topbar,.primary,button,.app-bg{display:none!important}main{padding:0}.panel,table{box-shadow:none}.document{border:0}.app{display:block}}@media(max-width:900px){.app{display:block}aside{width:100%;height:auto;position:relative}.brand{justify-content:center}nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cards{grid-template-columns:1fr}.row,.line{grid-template-columns:1fr}.topbar{height:auto;display:block}.topbar small{display:block;margin-top:8px}}

/* V3 LOGO FIX - chemins racine LWS */
.brand:before{content:'';position:absolute;inset:auto;display:none}
body:after{content:'';position:fixed;left:50%;top:54%;width:560px;height:560px;transform:translate(-50%,-50%);background:url('logo.png') center/contain no-repeat;opacity:.045;pointer-events:none;z-index:0}
.app, main, aside{position:relative;z-index:1}
.side-logo,.top-logo{display:block!important;visibility:visible!important;opacity:1!important}
