/* Extension UX — inscription / connexion et espace couple. Maquette seule. */
:root{--tv-gold:#c5a45e;--tv-gold-dark:#92753e;--tv-charcoal:#141413;--tv-cream:#faf9f6;--tv-border:#e6e0d5}
.top .navright{gap:10px}
.top .navright .tv-header-login,.top .navright .tv-header-signup,.top .navright .tv-header-space,.top .navright .tv-header-logout{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 13px;border:1px solid #927c4d;border-radius:6px;color:#eee7d8;font-size:12px;font-weight:650;white-space:nowrap;line-height:1.1}
.top .navright .tv-header-signup{color:#171612;background:var(--tv-gold);border-color:var(--tv-gold);font-weight:750}
.top .navright .tv-header-space{color:#19160f;background:var(--tv-gold);border-color:var(--tv-gold)}
.top .navright .tv-header-logout{border-color:#564d3a;color:#c6bba5}
.top .navright .outlineGold{padding:9px 10px;font-size:11px}
.nav .tv-mobile-signup{color:#d5b671!important;font-weight:750}
/* On desktop .mobileOnly is never visible. On mobile these links are inside the menu. */
.tv-overlay[hidden]{display:none!important}
.tv-overlay{position:fixed;inset:0;z-index:10000;background:rgba(9,9,8,.8);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.tv-dialog{position:relative;width:min(100%,460px);max-height:min(92vh,780px);overflow-y:auto;background:#1c1c1b;color:#f6f2ea;border:1px solid rgba(197,164,94,.37);border-radius:13px;box-shadow:0 27px 95px rgba(0,0,0,.6);padding:39px 39px 31px;font-family:Inter,Arial,sans-serif}
.tv-dialog *{box-sizing:border-box}
.tv-dialog .tv-close{position:absolute;top:15px;right:15px;border:0;background:transparent;color:#bdb8b0;font-size:25px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%}
.tv-dialog .tv-close:hover,.tv-dialog .tv-close:focus-visible{background:#30302e;color:#fff}
.tv-modal-kicker{color:#bda066!important;font-size:10px!important;letter-spacing:2.2px;text-transform:uppercase;font-weight:750;margin:0 0 9px!important}
.tv-dialog h2{font-family:Gar,Georgia,serif;font-size:35px;line-height:1.15;letter-spacing:-.3px;font-weight:500;margin:0 0 11px;color:#d1af70}
.tv-dialog p.tv-modal-intro{color:#c8c4be;font-size:13px;line-height:1.6;margin:0 0 23px}
.tv-dialog .tv-field{margin-bottom:15px}
.tv-dialog label{display:block;font-size:12px;font-weight:700;color:#eeeae3;margin:0 0 7px}
.tv-dialog .tv-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tv-dialog input:not([type=checkbox]){width:100%;height:46px;color:#f8f5f0;background:#282826;border:1px solid #625846;border-radius:7px;padding:0 13px;font-family:inherit;font-size:14px;outline:none;transition:border-color .16s,box-shadow .16s}
.tv-dialog input::placeholder{color:#aaa69f}
.tv-dialog input:focus{border-color:#dbb773;box-shadow:0 0 0 3px rgba(197,164,94,.18)}
.tv-dialog .tv-pass-wrap{position:relative}
.tv-dialog .tv-pass-wrap input{padding-right:74px}
.tv-dialog .tv-show-pass{position:absolute;right:6px;top:5px;height:36px;padding:0 10px;border:0;background:transparent;color:#d7b671;font-size:12px;font-weight:700;cursor:pointer}
.tv-dialog .tv-hint{font-size:11px;color:#b8b2a7;line-height:1.5;margin:6px 0 0}
.tv-dialog .tv-legal{font-size:11px;color:#b8b2a7;line-height:1.65;margin:14px 0 0}
.tv-dialog .tv-legal a{color:#e0be7c;text-decoration:underline;text-underline-offset:2px}
.tv-dialog .tv-primary{width:100%;min-height:46px;border:0;border-radius:7px;background:var(--tv-gold);color:#17140d;font-size:14px;font-weight:800;cursor:pointer;margin:12px 0 0}
.tv-dialog .tv-primary:hover{background:#dcb974}
.tv-dialog .tv-primary:focus-visible,.tv-dialog .tv-action:focus-visible,.tv-dialog button:focus-visible{outline:2px solid #efd49e;outline-offset:3px}
.tv-dialog .tv-error{color:#ffc0ac;font-size:12px;margin-top:9px;line-height:1.5;min-height:0}
.tv-dialog .tv-foot{border-top:1px solid #39362f;padding-top:17px;margin-top:23px;text-align:center;color:#c6c1b7;font-size:13px;line-height:1.8}
.tv-dialog .tv-link{appearance:none;border:0;background:none;color:#d7b671;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:650;padding:3px}
.tv-dialog .tv-forgot-row{display:flex;justify-content:end;margin-top:-2px}
.tv-dialog .tv-forgot-row .tv-link{font-size:12px}
.tv-modal-back{display:inline-flex;align-items:center;gap:7px;color:#c3baab;background:transparent;border:0;padding:0;margin:0 0 25px;font-size:12px;cursor:pointer}
.tv-modal-options{display:grid;gap:10px;margin:22px 0 6px}
.tv-modal-option{border:1px solid #655638;background:#242320;border-radius:9px;padding:17px 18px;text-align:left;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.tv-modal-option strong{display:block;font-size:15px;color:#f4ead6}
.tv-modal-option small{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#bfb8ab}
.tv-modal-option span:last-child{color:#d6b66c;font-size:23px}
.tv-modal-option:hover{border-color:#c5a45e;background:#302c24}
.tv-demo-tag{font-size:11px;color:#9a7d4d;letter-spacing:.03em}
body.tv-modal-open{overflow:hidden}
/* Espace personnel */
.tv-personal{min-height:72vh;background:#f7f5f1;padding:0 0 88px;color:#292722}
.tv-shell{width:min(1170px,calc(100% - 64px));margin:0 auto}
.tv-space-hero{background:#141413;color:#f5f1e9;padding:50px 0 44px;border-top:1px solid #292720}
.tv-space-hero .tv-shell{display:flex;justify-content:space-between;align-items:center;gap:24px}
.tv-space-hero h1{color:#fff;font:500 clamp(34px,4vw,51px)/1.1 Gar,Georgia,serif;letter-spacing:-.5px;margin:8px 0 12px}
.tv-space-hero p{font-size:14px;color:#b7b2aa;margin:0;line-height:1.6}
.tv-overline{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:#c5a45e;font-weight:800}
.tv-space-status{border:1px solid #4c422f;border-radius:100px;color:#d4c4a1;padding:9px 14px;font-size:11px;white-space:nowrap}
.tv-space-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;padding-top:34px;align-items:start}
.tv-space-side{position:sticky;top:25px;background:#fff;border:1px solid var(--tv-border);border-radius:11px;padding:13px;box-shadow:0 5px 22px #4e3d2010}
.tv-side-label{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:750;color:#91846b;padding:13px 13px 12px}
.tv-side-button{font:600 13px Inter,Arial,sans-serif;display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:0;border-radius:7px;color:#5e5a54;background:transparent;padding:14px 12px;cursor:pointer}
.tv-side-button:hover{background:#f8f6f0;color:#2e2920}
.tv-side-button[aria-selected=true]{background:#f5f0e7;color:#806534}
.tv-side-icon{display:inline-flex;width:20px;align-items:center;justify-content:center;font-size:18px;line-height:1}
.tv-side-count{margin-left:auto;font-size:11px;color:#a0834c}
.tv-side-sep{border-top:1px solid #ebe6dd;margin:12px 7px}
.tv-side-signout{color:#827a6d;font-weight:500}
.tv-space-content{min-width:0}
.tv-space-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:5px 0 22px}
.tv-space-content h2{font:500 clamp(28px,3vw,34px)/1.2 Gar,Georgia,serif;color:#27231c;margin:0 0 9px}
.tv-space-content h3{font:500 22px/1.2 Gar,Georgia,serif;color:#27231c;margin:0 0 8px}
.tv-space-content p{color:#756f65;font-size:13px;line-height:1.7}
.tv-space-content .tv-muted{color:#77716b;margin:0}
.tv-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#a6874c;font-weight:750;margin-bottom:9px}
.tv-card{background:#fff;border:1px solid var(--tv-border);border-radius:11px;overflow:hidden;box-shadow:0 4px 19px rgba(34,26,9,.025)}
.tv-card-pad{padding:24px}
.tv-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:23px}
.tv-kpi{padding:21px 20px;border:1px solid #e7dfd2;background:#fff;border-radius:10px;cursor:pointer;text-align:left;min-height:112px}
.tv-kpi:hover{border-color:#bba275}
.tv-kpi strong{display:block;font:500 37px/1.2 Gar,Georgia,serif;color:#ab8748}
.tv-kpi span{font-size:12px;color:#514d46;font-weight:600}
.tv-split{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:17px}
.tv-quick{background:#1d1b17;border-radius:11px;color:#fff;padding:25px;display:flex;flex-direction:column;justify-content:space-between;min-height:245px}
.tv-quick h3{color:#f0dcaf;font-size:26px;margin-bottom:10px}
.tv-quick p{color:#c8c0b4;font-size:12px;line-height:1.65}
.tv-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:10px 15px;background:#c5a45e;color:#211b12!important;border:1px solid #c5a45e;border-radius:7px;font-size:12px!important;font-weight:750;text-decoration:none;cursor:pointer;line-height:1.3}
.tv-action--outline{background:transparent;border-color:#cdb984;color:#a18245!important}
.tv-action--quiet{background:#faf7ef;border-color:#eee4d2;color:#80683b!important}
.tv-card-head{padding:21px 23px 16px;border-bottom:1px solid #eee9e1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tv-card-head h3{font-size:21px;margin:0}
.tv-card-body{padding:22px 23px}
.tv-empty{text-align:center;padding:42px 25px}
.tv-empty-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #e9e0d1;border-radius:50%;margin:0 auto 16px;font-size:27px;color:#ad8c51;background:#fbf8f2}
.tv-empty h3{margin:0 0 9px;font-size:26px}
.tv-empty p{max-width:405px;margin:0 auto 20px}
.tv-fav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tv-fav-card{background:#fff;border:1px solid #e7e0d6;border-radius:11px;overflow:hidden;display:flex;flex-direction:column}
.tv-fav-image{height:180px;width:100%;object-fit:cover;display:block;background:#ddd}
.tv-fav-body{padding:17px 18px;display:flex;flex-direction:column;flex:1;gap:9px}
.tv-fav-body h3{font:500 22px Gar,Georgia,serif;margin:0}
.tv-fav-body p{font-size:12px;margin:0;color:#7c766c}
.tv-fav-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:11px}
.tv-fav-remove{appearance:none;border:0;background:transparent;color:#896d39;text-decoration:underline;cursor:pointer;font-size:12px}
.tv-demand{display:flex;gap:16px;justify-content:space-between;padding:19px 0;border-bottom:1px solid #eee9e2}
.tv-demand:last-child{border:0}
.tv-demand-type{display:inline-block;color:#9a7b41;font-size:11px;font-weight:750;background:#f7f1e6;padding:5px 9px;border-radius:20px;margin-bottom:7px}
.tv-demand strong{display:block;font-size:15px;color:#33302b;margin:0 0 7px}
.tv-demand p{font-size:12px;color:#716b62;margin:0 0 5px;white-space:pre-line;overflow-wrap:anywhere}
.tv-demand .tv-demand-note{font-size:11px;color:#a5824b}
.tv-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.tv-profile-form label{display:block;font-size:12px;font-weight:750;color:#62594e;margin-bottom:7px}
.tv-profile-form input{width:100%;border:1px solid #d8d0c4;background:#fff;border-radius:7px;height:44px;padding:0 12px;color:#343029;font:14px Inter,Arial,sans-serif}
.tv-profile-form input:focus-visible{outline:2px solid #c5a45e;outline-offset:2px}
.tv-profile-form input:disabled{background:#f5f3ef;color:#7e786f}
.tv-profile-form .tv-full{grid-column:1/-1}
.tv-profile-status{font-size:12px;color:#6c834c!important}
.tv-muted-box{padding:19px 20px;background:#f8f6f1;border-radius:8px;color:#787166;font-size:12px;line-height:1.7}
.tv-space-footer{background:#10100f;color:#9a8b70;font-size:12px;padding:24px 0}
.tv-space-footer a{color:#d0b37b}
.tv-not-auth{padding:75px 20px;text-align:center}
.tv-not-auth h1{font:500 42px Gar,Georgia,serif;color:#28241d}
.tv-not-auth p{max-width:410px;margin:12px auto 25px}
.tv-not-auth .tv-action{margin:0 5px}
/* Small screens retain the existing original menu and expose its auth links. */
@media(max-width:1100px){.top .navright{gap:5px}.top .navright .tv-header-login,.top .navright .tv-header-signup,.top .navright .tv-header-space,.top .navright .tv-header-logout{padding:10px 9px;font-size:11px}}
@media(max-width:960px) and (min-width:821px){.top .nav{gap:11px;font-size:12px}.top .brandtext{font-size:16px}.top .navright .outlineGold{display:none}}
@media(max-width:820px){.top .navright{display:none}.tv-space-hero{padding:33px 0}.tv-shell{width:calc(100% - 34px)}.tv-space-hero .tv-shell{display:block}.tv-space-status{display:inline-block;margin-top:18px}.tv-space-layout{display:block;padding-top:18px}.tv-space-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;margin-bottom:25px}.tv-side-label,.tv-side-sep,.tv-side-signout{display:none}.tv-side-button{width:100%;min-width:0;padding:11px 9px;font-size:12px;white-space:normal}.tv-side-count{display:none}.tv-space-content h2{font-size:30px}.tv-split{grid-template-columns:1fr}.tv-kpi-grid{gap:9px}.tv-kpi{padding:15px;min-height:97px}.tv-kpi strong{font-size:30px}}
@media(max-width:540px){.tv-dialog{padding:32px 22px 23px;max-height:94vh}.tv-dialog h2{font-size:31px}.tv-dialog .tv-cols,.tv-profile-form{grid-template-columns:1fr;gap:0}.tv-dialog .tv-cols{gap:0}.tv-fav-grid{grid-template-columns:1fr}.tv-kpi-grid{grid-template-columns:repeat(3,1fr)}.tv-kpi{padding:12px 8px;text-align:center}.tv-kpi strong{font-size:27px}.tv-kpi span{font-size:10px}.tv-space-hero h1{font-size:38px}.tv-space-section-head{display:block}.tv-space-section-head>.tv-action{margin-top:14px}.tv-card-pad{padding:19px}.tv-demand{display:block}.tv-demand>.tv-action{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.tv-dialog *{transition:none!important}}

.tv-side-icon .tv-side-svg{width:19px;height:19px;flex:0 0 19px;color:inherit;display:block;margin:0;stroke-width:1.8}
