/* Tousuniques – Propositions : formulaire public (thème Immersif sombre) */
.tup{--tup-bg:#161922;--tup-bg2:#1B2433;--tup-line:#2A3242;--tup-text:#F2F4F8;--tup-muted:#A9B3C4;--tup-accent:#6287C4;--tup-accent-d:#3D63A8;--tup-link:#9FB8E8;max-width:760px;margin:0 auto;font-size:1rem;color:var(--tup-text)}
.tup h2{font-family:"Space Grotesk",Inter,sans-serif;font-size:1.35rem;font-weight:700;margin:0 0 .5em;color:#fff}
.tup a{color:var(--tup-link)}
.tup-notice{padding:14px 18px;border-radius:12px;margin:0 0 24px;font-weight:600}
.tup-ok{background:#12301E;color:#B8EBC6;border:1px solid #2E6B44}
.tup-info{background:#18243A;color:#C9D9F5;border:1px solid #2D4C82;font-weight:500}
.tup-err{background:#3A1A1E;color:#FFC9CF;border:1px solid #7A3038}
.tup-guest{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.tup-box{background:var(--tup-bg);border:1px solid var(--tup-line);border-radius:16px;padding:24px}
.tup-box-accent{background:var(--tup-bg2);border-color:#2D4C82}
.tup-box p{margin:.4em 0}
.tup-box form p{margin:0 0 12px}
.tup-box label,.tup-field label,.tup-field legend{display:block;font-weight:600;margin-bottom:6px;color:#fff}
.tup-box input[type=text],.tup-box input[type=password]{width:100%}
.tup input[type=text],.tup input[type=url],.tup input[type=password],.tup input[type=email],.tup textarea,.tup select{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid #3A4458;border-radius:10px;background:#0E0F13;font:inherit;color:var(--tup-text)}
.tup input::placeholder,.tup textarea::placeholder{color:#7D889B}
.tup input[type=file]{color:var(--tup-muted);font:inherit}
.tup input[type=file]::file-selector-button{background:var(--tup-bg2);color:#fff;border:1.5px solid #3A4458;border-radius:999px;padding:8px 16px;margin-right:12px;font:inherit;font-weight:600;cursor:pointer}
.tup input:focus,.tup textarea:focus,.tup select:focus{outline:3px solid var(--tup-accent);outline-offset:1px;border-color:var(--tup-accent)}
.tup .login-remember label{display:inline;font-weight:400}
.tup .login-submit input,.tup-btn{display:inline-block;background:var(--tup-accent-d);color:#fff !important;border:0;border-radius:999px;padding:12px 24px;font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none}
.tup .login-submit input:hover,.tup-btn:hover{background:#fff;color:#0E0F13 !important}
.tup-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.tup-btn:disabled{opacity:.7;cursor:wait}
.tup-hello{margin:0 0 20px;color:var(--tup-muted)}
.tup-form{background:var(--tup-bg);border:1px solid var(--tup-line);border-radius:18px;padding:clamp(18px,4vw,32px)}
.tup-field{margin:0 0 22px;border:0;padding:0}
.tup-field legend{padding:0}
.tup-radio{display:flex !important;align-items:center;gap:10px;font-weight:500 !important;margin:0 0 8px;cursor:pointer}
.tup-radio input,.tup-check input{width:20px;height:20px;accent-color:var(--tup-accent);flex:none}
.tup-check label{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.tup-help{display:block;font-size:.85rem;color:var(--tup-muted);margin:-2px 0 8px;font-weight:400}
.tup-src{display:block;margin-top:14px;padding:16px;background:var(--tup-bg2);border-radius:12px}
.tup-src[hidden]{display:none}
.tup-src .tup-help{margin:8px 0 0}
.tup-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tup-actions{margin:8px 0 10px}
.tup-small{font-size:.85rem;color:var(--tup-muted)}
.tup-mine{margin-top:40px}
.tup-mine ul{list-style:none;padding:0;margin:0;border:1px solid var(--tup-line);border-radius:14px;overflow:hidden;background:var(--tup-bg)}
.tup-mine li{padding:14px 18px;border-bottom:1px solid var(--tup-line);display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.tup-mine li:last-child{border-bottom:0}
.tup-date{color:var(--tup-muted);font-size:.85rem}
.tup-status{margin-left:auto;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:999px;background:var(--tup-bg2);color:#fff}
.tup-status-pending{background:#3A2E12;color:#FFDB8A}
.tup-status-tu_accepted{background:#1B2A4A;color:#BFD2F5}
.tup-status-tu_broadcast{background:#12301E;color:#B8EBC6}
.tup-status-tu_refused{background:#262A33;color:#B7BDC8}

/* Espace compte : inscription / connexion */
.tup-auth{background:var(--tup-bg);border:1px solid var(--tup-line);border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden;position:relative}
.tup-tabs{display:flex;gap:6px;padding:10px;background:#11141B;border-bottom:1px solid var(--tup-line);position:relative}
.tup-tabs button{flex:1;border:0;background:transparent;padding:12px 14px;border-radius:12px;font:inherit;font-family:"Space Grotesk",Inter,sans-serif;font-weight:600;font-size:.98rem;color:var(--tup-muted);cursor:pointer}
.tup-tabs button[aria-selected=true]{background:var(--tup-bg2);color:#fff;box-shadow:inset 0 -3px 0 var(--tup-accent)}
.tup-tabs button:hover{color:#fff}
.tup-tabs button:focus-visible{outline:3px solid var(--tup-accent);outline-offset:2px}
.tup-panel{padding:clamp(22px,5vw,40px);position:relative}
.tup-panel[hidden]{display:none}
.tup-panel h2{font-size:clamp(1.5rem,3vw,1.9rem);letter-spacing:-.02em;margin:0 0 .3em;padding-left:0 !important}
.tup-panel h2::before{display:none !important}
.tup-lead{color:var(--tup-muted);margin:0 0 24px;max-width:46ch}
.tup-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:600px){.tup-row{grid-template-columns:1fr}}
.tup-pass{display:flex;position:relative}
.tup-pass input{padding-right:92px !important}
.tup-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--tup-bg2);border-radius:8px;padding:6px 10px;font:inherit;font-size:.8rem;font-weight:600;color:#fff;cursor:pointer}
.tup-eye:hover{background:#2D4C82}
.tup-split{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.tup-split a{color:var(--tup-link);font-weight:600}
.tup-inline{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}
.tup-inline input{width:18px;height:18px;accent-color:var(--tup-accent)}
.tup-btn-lg{width:100%;padding:15px 24px;font-size:1.05rem}
