@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";:root{--navy-950: #0a1626;--navy-900: #0e1f36;--navy-800: #16304f;--navy-700: #1f4068;--accent: #e2772e;--accent-soft: #fdf0e5;--gold: #c9974c;--bg: #f4f6f9;--surface: #ffffff;--border: #e3e8ef;--border-strong: #cdd5e0;--text: #16202e;--text-muted: #67738a;--text-faint: #94a0b4;--state-open: #1d5fbf;--state-open-bg: #e8f0fc;--state-won: #15803d;--state-won-bg: #e7f5ec;--state-lost: #6b7686;--state-lost-bg: #eef0f4;--error: #b3372b;--error-bg: #fbeae8;--radius: 10px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(14, 31, 54, .06);--shadow-md: 0 8px 24px -8px rgba(14, 31, 54, .14), 0 2px 6px rgba(14, 31, 54, .05);--font-body: "Poppins", system-ui, -apple-system, sans-serif;font-family:var(--font-body);color:var(--text);font-size:15px;line-height:1.55}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);overflow-x:hidden}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-body);font-weight:600;color:var(--navy-900);letter-spacing:-.01em}a{color:var(--navy-700)}.app-header{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-950) 100%);color:#fff;border-bottom:3px solid var(--accent);position:relative;z-index:100}.brand{display:flex;align-items:center;gap:.7rem}.brand-logo{width:38px;height:38px;flex-shrink:0}.brand-text strong{display:block;font-family:var(--font-body);font-size:1.05rem;letter-spacing:.18em}.brand-text span{display:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;margin-left:auto;background:transparent;border:none;padding:8px;min-height:42px;width:42px;cursor:pointer;flex-shrink:0}.nav-toggle span{display:block;width:22px;height:2px;background:#ffffffd9;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.menu-is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-is-open .nav-toggle span:nth-child(2){opacity:0}.menu-is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--navy-950);border-top:1px solid rgba(255,255,255,.08);padding:.5rem 0 1rem;gap:0}.main-nav.open{display:flex}.main-nav a{color:#ffffffc7;text-decoration:none;font-size:1rem;font-weight:500;padding:.85rem 1.25rem;border-bottom:none;border-left:3px solid transparent;transition:color .15s ease,background .15s ease,border-color .15s ease;display:block}.main-nav a:hover{color:#fff;background:#ffffff0f}.main-nav a.router-link-active{color:#fff;border-left-color:var(--accent);background:#ffffff0d}.main-nav .nav-account{margin-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.main-nav .nav-logout{background:transparent;border-radius:0;min-height:auto;text-align:left;font-size:1rem;color:#ffffff8c;padding:.85rem 1.25rem;letter-spacing:normal}.app-header .user{display:none;align-items:center;gap:.6rem;margin-left:auto}.user-chip{display:flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none;border-radius:999px;padding:.2rem;transition:background .15s ease}.user-chip:hover{background:#ffffff1a}.user-initials{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:34px;height:34px;padding:0 1px 0 0;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);font-size:.8rem;font-weight:600;text-align:center;line-height:1}.user-info{display:none;flex-direction:column;gap:.2rem}.user-name{font-size:.88rem;color:#ffffffe0;font-weight:600}.user-firm{font-size:.75rem;color:#fff9}.app-main{flex:1;width:100%;padding:1.25rem .75rem 2rem}.app-footer{padding:.9rem 1rem;background:var(--navy-950);color:#ffffff8c;font-size:.78rem;text-align:center;letter-spacing:.03em}button{cursor:pointer;border:none;border-radius:var(--radius-sm);min-height:42px;padding:.55rem 1.1rem;background:var(--navy-800);color:#fff;font-family:var(--font-body);font-size:.88rem;font-weight:600;letter-spacing:.02em;transition:background .15s ease,transform .1s ease}button:hover{background:var(--navy-700)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-head{margin-bottom:1.25rem}.page-head h2{margin:0 0 .25rem;font-size:1.35rem}.page-head p{margin:0;color:var(--text-muted);font-size:.92rem}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1.25rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem;box-shadow:var(--shadow-sm);text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:0;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.stat:hover{background:#fbfcfe;border-color:var(--border-strong)}.stat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat .stat-value{font-family:var(--font-body);font-size:1.3rem;font-weight:700;color:var(--navy-900);line-height:1.2}.stat .stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.stat .stat-label:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;background:var(--stat-color, var(--text-faint));vertical-align:0}.stat--open{--stat-color: var(--state-open);--stat-bg: var(--state-open-bg)}.stat--won{--stat-color: var(--state-won);--stat-bg: var(--state-won-bg)}.stat--lost{--stat-color: var(--state-lost);--stat-bg: var(--state-lost-bg)}.stat--all{--stat-color: var(--navy-800);--stat-bg: #eef2f7}.stat--active{border-color:var(--stat-color, var(--accent));background:var(--stat-bg, var(--accent-soft));box-shadow:var(--shadow-md)}.stat--active .stat-label,.stat--active .stat-value{color:var(--stat-color, var(--accent))}.toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;margin-bottom:1rem}.search-input,.filter-select{padding:.6rem .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-family:var(--font-body);font-size:1rem;color:var(--text)}.filter-select{cursor:pointer}.search-input::placeholder{color:var(--text-faint)}.search-input:focus,.filter-select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.toolbar-count{font-size:.84rem;color:var(--text-muted);white-space:nowrap}.table-card{background:none;border:none;box-shadow:none}table.opportunities{display:block;width:100%;border-collapse:collapse}table.opportunities thead{display:none}table.opportunities tbody{display:flex;flex-direction:column;gap:.65rem}table.opportunities tbody tr{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:.95rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer}table.opportunities tbody tr:active{background:#f6f8fb}table.opportunities td{display:block;padding:0;border:none;text-align:left}table.opportunities td.cell-ref a{font-weight:600;font-size:1rem;color:var(--navy-800);text-decoration:none}table.opportunities td.cell-date{color:var(--text-muted);font-size:.82rem;white-space:nowrap}table.opportunities td.cell-date:before{content:attr(data-label) " · ";color:var(--text-muted);font-size:.78rem;font-weight:500}table.opportunities td.cell-amount{font-variant-numeric:tabular-nums}table.opportunities td.cell-amount:before{content:"Montant : ";color:var(--text-muted)}table.opportunities th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.opportunities th.sortable:hover{color:var(--navy-800)}.sort-arrow{display:inline-block;min-width:.8em;color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge--open{color:var(--state-open);background:var(--state-open-bg)}.badge--won{color:var(--state-won);background:var(--state-won-bg)}.badge--refused{color:#92400e;background:#fef3c7}.badge--lost{color:var(--state-lost);background:var(--state-lost-bg)}.placeholder{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:2.25rem 1.25rem;text-align:center;color:var(--text-muted)}.placeholder strong{display:block;font-family:var(--font-body);font-size:1.1rem;color:var(--navy-900);margin-bottom:.35rem}.error{background:var(--error-bg);border:1px solid #efc6c0;border-radius:var(--radius);color:var(--error);padding:.9rem 1.2rem}.login-wrap{flex:1;display:grid;place-items:center;padding:2rem 1rem}.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:2rem 1.4rem 1.75rem;text-align:center}.login-card .brand-logo{margin:0 auto 1.2rem;width:52px;height:52px;display:block}.login-card h2{margin:0 0 .4rem;font-size:1.35rem}.login-card>p{margin:0 0 1.6rem;color:var(--text-muted);font-size:.94rem}.login-card button{width:100%;padding:.8rem 1rem;font-size:.95rem;background:var(--accent)}.login-card button:hover{background:#c9651f}.login-note{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-faint)}.back{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1rem;padding:.3rem 0;color:var(--text-muted);font-size:.88rem;font-weight:500;text-decoration:none}.back:hover{color:var(--accent)}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.detail-card+.detail-card{margin-top:1.25rem}.detail-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:1rem 1.1rem;background:#f8fafc;border-bottom:1px solid var(--border)}.detail-head h2{margin:0;font-size:1.15rem}.detail{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:.4rem 1.1rem .9rem}.detail dt{padding:.7rem 0 0;color:var(--text-faint);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.detail dd{margin:0;padding:.1rem 0 .65rem;border-bottom:1px solid var(--border)}.detail dd:last-of-type{border-bottom:none}.pre-line{white-space:pre-line}.account-actions{display:flex;flex-direction:column;align-items:stretch;gap:.9rem;padding:1rem 1.1rem;background:#f8fafc}.account-hint{margin:0;font-size:.84rem;color:var(--text-muted)}@media(min-width:720px){.app-header{gap:2rem;padding:.9rem 2rem}.brand-text span{display:block}.nav-toggle{display:none}.main-nav{display:flex;position:static;flex-direction:row;background:transparent;border:none;padding:0;gap:1.5rem}.main-nav a{font-size:.92rem;padding:.35rem 0;border-left:none;border-bottom:2px solid transparent;display:inline;background:transparent!important}.main-nav a.router-link-active{border-left:none;border-bottom-color:var(--accent);background:transparent}.app-header .main-nav .nav-account{display:none}.user-info,.app-header .user{display:flex}.user-chip{padding:.2rem .6rem .2rem .2rem}.app-main{padding:2rem 2rem 3rem}.app-footer{padding:1.1rem 2rem}.page-head h2{font-size:1.55rem}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-bottom:1.5rem}.stat{padding:.9rem 1.1rem}.stat .stat-value{font-size:1.45rem}.stat .stat-label{font-size:.74rem}.toolbar{flex-direction:row;align-items:center;gap:1rem}.search-input{flex:1;max-width:360px}.search-input,.filter-select{font-size:.9rem}.toolbar-count{margin-left:auto}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow-x:auto}table.opportunities{display:table}table.opportunities thead{display:table-header-group}table.opportunities tbody{display:table-row-group}table.opportunities tbody tr{display:table-row;padding:0;background:none;border:none;border-radius:0;box-shadow:none;transition:background .12s ease}table.opportunities tbody tr:hover{background:#f6f8fb}table.opportunities th,table.opportunities td{display:table-cell;text-align:left;padding:.75rem .85rem;border-bottom:1px solid var(--border)}table.opportunities tbody tr:last-child td{border-bottom:none}table.opportunities th{background:#f8fafc;color:var(--text-faint);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-strong);vertical-align:bottom;white-space:nowrap}table.opportunities td.cell-ref a{font-size:inherit}table.opportunities td.cell-ref a:hover{color:var(--accent);text-decoration:underline}table.opportunities td.cell-date{font-size:.86rem}table.opportunities td.cell-date:before,table.opportunities td.cell-amount:before{content:none}table.opportunities th.cell-amount,table.opportunities td.cell-amount{text-align:right}.placeholder,.login-wrap{padding:3rem 1.5rem}.login-card{padding:2.75rem 2.5rem 2.25rem}.login-card h2{font-size:1.45rem}.detail-head{padding:1.4rem 1.75rem;gap:.75rem}.detail-head h2{font-size:1.3rem}.detail{grid-template-columns:180px 1fr;padding:.5rem 1.75rem 1rem}.detail dt{padding:.8rem 0;border-bottom:1px solid var(--border)}.detail dd{padding:.72rem 0}.detail dt:nth-last-of-type(1),.detail dd:nth-last-of-type(1){border-bottom:none}.detail-card+.detail-card{margin-top:1.4rem}.account-actions{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.75rem}}
