:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;background:#0f172a;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%) fixed;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}:root{--navy-950:#0f172a;--navy-900:#1e293b;--navy-800:#334155;--slate-400:#94a3b8;--slate-300:#cbd5e1;--blue:#60a5fa;--blue-strong:#3b82f6;--orange:#f97316;--orange-dark:#c2410c;--red:#ef4444;--glass:#ffffff09;--glass-line:#ffffff17;--shadow:0 8px 32px #0000005e}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}aside{color:#fff;border-right:1px solid var(--glass-line);width:240px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);z-index:10;background:#0f172ae0;flex-direction:column;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{color:var(--blue);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:12px;font-size:1.1rem;font-weight:900;display:flex}.side-brand>span,.brand-mark{color:#fff;background:linear-gradient(135deg, var(--blue-strong), #2563eb);border:1px solid #fff3;border-radius:12px;place-items:center;width:44px;height:44px;font-size:1.25rem;font-weight:900;display:grid;box-shadow:0 8px 24px #2563eb59}.side-brand small{color:var(--slate-400);letter-spacing:1px;margin-top:3px;font-size:.62rem;font-weight:700;display:block}.side-brand div{line-height:1.05}.company-brand{color:var(--slate-200);border:1px solid var(--glass-line);letter-spacing:.3px;background:#ffffff09;border-radius:12px;align-items:center;gap:10px;margin-top:22px;padding:8px;font-size:.74rem;font-weight:800;line-height:1.35;display:flex}.company-logo-frame{border:1px solid #ffffff38;border-radius:9px;flex:0 0 52px;width:52px;height:52px;position:relative;overflow:hidden}.company-logo-frame img{width:50px}nav{margin-top:48px}.nav-active,aside button{color:#fff;border:0}.nav-active{text-align:left;color:#fff;width:100%;box-shadow:inset 3px 0 0 var(--blue-strong);background:#3b82f62e;border-radius:10px;padding:12px 14px;font-weight:700}.nav-active span{color:var(--blue);margin-right:9px}.aside-bottom{border-top:1px solid var(--glass-line);margin-top:auto;padding-top:18px}.aside-bottom p{color:var(--slate-400);margin:0 0 7px;font-size:.75rem}.aside-bottom button{color:var(--slate-300);background:0 0;padding:0;font-size:.82rem}.aside-bottom button:hover{color:#fff}.amservices-credit{color:var(--slate-400);letter-spacing:.15px;align-items:center;gap:7px;margin-top:12px;font-size:.66rem;font-weight:600;display:flex}.amservices-logo-frame{border-radius:5px;place-items:center;width:36px;height:27px;display:grid;overflow:hidden}.amservices-logo{width:34px;height:auto;display:block}.theme-toggle{width:100%;color:var(--slate-300);background:#ffffff0e;border:1px solid #94a3b847;border-radius:9px;justify-content:center;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;font-size:.78rem;font-weight:700;transition:background .2s,color .2s,transform .2s;display:flex}.theme-toggle:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.theme-toggle span{color:#fbbf24;font-size:1rem}.theme-toggle.compact{border-radius:50%;width:42px;height:42px;margin:0;padding:0}.login-theme{z-index:5;position:fixed;top:20px;right:22px}.workspace{grid-column:2;width:100%;max-width:1500px;margin:0 auto;padding:38px 4vw 64px}.workspace>header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.eyebrow{color:var(--orange);letter-spacing:1.4px;text-transform:uppercase;margin:0 0 6px;font-size:.68rem;font-weight:800}.workspace h1,.login-card h1{color:var(--blue);letter-spacing:1px;text-transform:uppercase;margin:0;font-size:2rem;font-weight:900}.header-actions{gap:10px;display:flex}.readonly-badge{color:#bfdbfe;text-transform:uppercase;letter-spacing:.7px;background:#3b82f624;border:1px solid #60a5fa4d;border-radius:999px;padding:8px 12px;font-size:.75rem;font-weight:800}.primary,.secondary{color:#fff;border:0;border-radius:9px;padding:10px 16px;font-size:.82rem;font-weight:800;transition:transform .2s,filter .2s}.primary{background:linear-gradient(135deg, var(--orange), #ea580c);border-bottom:3px solid var(--orange-dark)}.secondary{background:linear-gradient(135deg, var(--navy-800), var(--navy-900));border:1px solid #94a3b859;border-bottom:3px solid var(--navy-950)}.primary:hover:not(:disabled),.secondary:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}.full{width:100%;margin-top:5px}.summary{border:1px solid var(--glass-line);background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;display:grid;overflow:hidden}.summary div{border-right:1px solid var(--glass-line);align-items:baseline;gap:13px;padding:20px 23px;display:flex}.summary div:last-child{border:0}.summary strong{color:var(--blue);font-size:1.6rem;font-weight:900}.summary span{color:var(--slate-400);font-size:.8rem}.data-card,.modal,.login-card{background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(15px)}.data-card{border-radius:14px;overflow:hidden}.table-tools{border-bottom:1px solid var(--glass-line);justify-content:space-between;align-items:center;gap:20px;padding:21px 24px;display:flex}.table-tools h2,.modal h2{color:#fff;text-transform:uppercase;letter-spacing:.6px;margin:0;font-size:1.1rem}.table-tools p{color:var(--slate-400);margin:5px 0 0;font-size:.8rem}.contract-filters{border-bottom:1px solid var(--glass-line);scrollbar-width:thin;gap:8px;padding:12px 24px;display:flex;overflow-x:auto}.contract-filters button{color:var(--slate-400);background:#0f172a57;border:1px solid #94a3b838;border-radius:999px;flex:none;padding:7px 11px;font-size:.72rem;font-weight:750;transition:all .18s}.contract-filters button:hover{color:#fff;border-color:#60a5fa73}.contract-filters button.active{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;box-shadow:0 4px 14px #2563eb4d}.search{height:40px;color:var(--slate-400);background:#0f172a99;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:7px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #60a5fa29}.search input{color:#fff;background:0 0;border:0;outline:0;width:220px}.search input::placeholder{color:#64748b}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:790px}th,td{border-bottom:1px solid var(--glass-line)}th{text-align:left;color:var(--slate-400);letter-spacing:.8px;text-transform:uppercase;background:#0f172af2;padding:12px 19px;font-size:.68rem}td{color:var(--slate-300);padding:14px 19px;font-size:.82rem}tbody tr{transition:background .15s}tbody tr:hover{background:#3b82f614}td strong{color:#fff;letter-spacing:.4px}.pdf-link{color:#bfdbfe;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;background:#3b82f629;border:1px solid #60a5fa40;border-radius:7px;max-width:230px;padding:6px 9px;overflow:hidden}.pdf-link:hover{background:#3b82f647}.pdf-list{flex-direction:column;align-items:flex-start;gap:6px;max-width:260px;display:flex}.missing{color:#64748b}.contract-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.contract-choix{color:#fed7aa;background:#f9731629;border:1px solid #f9731642}.contract-mesange{color:#bfdbfe;background:#3b82f629;border:1px solid #3b82f642}.contract-voeu{color:#ddd6fe;background:#a855f729;border:1px solid #a855f742}.contract-divers{color:#bbf7d0;background:#22c55e29;border:1px solid #22c55e42}.contract-atv{color:#fde68a;background:#eab30829;border:1px solid #eab30842}.row-actions{text-align:right;white-space:nowrap}.row-actions button{color:var(--blue);background:0 0;border:0;margin-left:10px;padding:5px;font-size:.75rem}.row-actions button:hover{color:#fff}.row-actions .danger{color:#f87171}.empty{text-align:center;color:var(--slate-400);padding:48px}.data-card footer{color:var(--slate-400);background:#0f172a8c;padding:12px 19px;font-size:.75rem}.notice{color:#dbeafe;background:#3b82f624;border:1px solid #60a5fa38;border-radius:9px;justify-content:space-between;margin:0 0 14px;padding:11px 14px;font-size:.8rem;display:flex}.notice button{color:inherit;background:0 0;border:0}.pdf-viewer-backdrop{z-index:1000;background:#020617e0;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.pdf-viewer{border:1px solid var(--glass-line);background:#0f172a;border-radius:14px;flex-direction:column;width:min(1180px,100%);height:min(900px,100vh - 36px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0000008c}.pdf-viewer>header{justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.pdf-viewer>header strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pdf-viewer-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.pdf-viewer-actions a{align-items:center;text-decoration:none;display:inline-flex}.pdf-viewer iframe{background:#fff;border:0;flex:1;width:100%;min-height:0}@media (width<=700px){.pdf-viewer>header{flex-direction:column;align-items:stretch}.pdf-viewer-actions{flex-wrap:wrap}}.login-page{background:linear-gradient(135deg, var(--navy-950) 0%, var(--navy-900) 100%);place-items:center;min-height:100vh;padding:24px;display:grid;overflow:hidden}.login-page:before,.login-page:after{content:"";filter:blur(100px);opacity:.16;pointer-events:none;border-radius:50%;width:360px;height:360px;position:fixed}.login-page:before{background:var(--blue-strong);top:-120px;left:-100px}.login-page:after{background:var(--orange);bottom:-140px;right:-120px}.login-card{text-align:center;z-index:1;border-radius:20px;width:min(420px,100%);padding:40px;position:relative}.brand-mark{margin:0 auto 24px}.login-card h1{letter-spacing:2px;font-size:1.75rem}.login-copy{color:var(--slate-400);margin:8px 0 30px;font-size:.88rem}.login-card form,.modal form{gap:18px;display:grid}label{color:var(--orange);letter-spacing:.8px;text-align:left;text-transform:uppercase;gap:8px;font-size:.72rem;font-weight:800;display:grid}label input,label select{color:#fff;text-transform:none;background:#0f172a9e;border:1px solid #ffffff1f;border-radius:10px;outline:0;width:100%;height:45px;padding:0 14px;font-size:.95rem}label input:focus,label select:focus{border-color:var(--blue);background:#0f172ad1;box-shadow:0 0 0 3px #60a5fa33}.form-error{color:#f87171;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;margin:0;padding:11px;font-size:.8rem}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;background:#000000bf;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border-radius:20px;width:min(560px,100%);padding:30px;position:relative}.modal-close{color:var(--slate-400);background:0 0;border:0;font-size:1.6rem;position:absolute;top:14px;right:17px}.modal-close:hover{color:var(--red)}.modal h2{color:var(--blue);margin-bottom:24px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.upload-zone{cursor:pointer;background:#0f172a73;border:1px dashed #94a3b873;border-radius:10px;padding:16px}.upload-zone:hover{border-color:var(--blue)}.upload-zone input{display:none}.upload-zone span{color:#dbeafe;text-transform:none;font-size:.82rem}.upload-zone small{color:var(--slate-400);letter-spacing:0;text-transform:none;font-weight:500}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-theme=light] body{color:#172033;background:linear-gradient(135deg,#e8edf5 0%,#f8fafc 100%)}html[data-theme=light] aside{color:#172033;background:#ffffffe6;border-color:#d7deea;box-shadow:0 8px 30px #33415524}html[data-theme=light] .side-brand{color:#2563eb}html[data-theme=light] .company-brand{color:#334155}html[data-theme=light] .company-logo-frame{border-color:#dbe2ec}html[data-theme=light] .company-brand{background:#f8fafc;border-color:#dbe2ec}html[data-theme=light] .side-brand small,html[data-theme=light] .aside-bottom p{color:#64748b}html[data-theme=light] .aside-bottom{border-color:#dbe2ec}html[data-theme=light] .aside-bottom button{color:#475569}html[data-theme=light] .aside-bottom button:hover{color:#0f172a}html[data-theme=light] .amservices-credit{color:#64748b}html[data-theme=light] .nav-active{color:#1d4ed8;background:#dbeafe}html[data-theme=light] .theme-toggle{color:#475569;background:#f1f5f9;border-color:#cbd5e1}html[data-theme=light] .theme-toggle:hover{color:#0f172a;background:#e2e8f0}html[data-theme=light] .login-page{background:linear-gradient(135deg,#e2e8f0 0%,#f8fafc 100%)}html[data-theme=light] .login-page:before{opacity:.1}html[data-theme=light] .login-page:after{opacity:.08}html[data-theme=light] .data-card,html[data-theme=light] .modal,html[data-theme=light] .login-card,html[data-theme=light] .summary{background:#ffffffd6;border-color:#d6deea;box-shadow:0 12px 34px #3341551f}html[data-theme=light] .workspace h1,html[data-theme=light] .login-card h1{color:#2563eb}html[data-theme=light] .summary div,html[data-theme=light] .table-tools,html[data-theme=light] .contract-filters,html[data-theme=light] th,html[data-theme=light] td{border-color:#e2e8f0}html[data-theme=light] .summary strong{color:#2563eb}html[data-theme=light] .summary span,html[data-theme=light] .table-tools p,html[data-theme=light] .login-copy,html[data-theme=light] .missing,html[data-theme=light] .data-card footer{color:#64748b}html[data-theme=light] .table-tools h2,html[data-theme=light] .modal h2,html[data-theme=light] td strong{color:#172033}html[data-theme=light] th{color:#475569;background:#e9eef5}html[data-theme=light] td{color:#475569}html[data-theme=light] tbody tr:hover{background:#eff6ff}html[data-theme=light] .data-card footer{background:#f1f5f9}html[data-theme=light] .search,html[data-theme=light] label input,html[data-theme=light] label select,html[data-theme=light] .upload-zone{color:#172033;background:#f8fafcf2;border-color:#cbd5e1}html[data-theme=light] .search input,html[data-theme=light] label input,html[data-theme=light] label select{color:#172033}html[data-theme=light] label input:focus,html[data-theme=light] label select:focus{background:#fff}html[data-theme=light] .upload-zone span{color:#1e40af}html[data-theme=light] .notice{color:#1e3a8a;background:#dbeafe;border-color:#bfdbfe}html[data-theme=light] .readonly-badge{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}html[data-theme=light] .contract-filters button{color:#475569;background:#f1f5f9;border-color:#cbd5e1}html[data-theme=light] .contract-filters button:hover{color:#1d4ed8;border-color:#93c5fd}html[data-theme=light] .contract-filters button.active{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6}@media (width<=850px){.app-shell{display:block}aside{flex-direction:row;align-items:center;width:auto;height:auto;padding:17px 20px;position:static}.side-brand small,nav,.company-brand{display:none}aside>.theme-toggle{width:42px;height:42px;margin:0 10px 0 auto;padding:0;font-size:0}aside>.theme-toggle span{font-size:1rem}.aside-bottom{border:0;margin:0;padding:0}.aside-bottom p,.amservices-credit{display:none}.workspace{padding:27px 18px 50px}.workspace>header{flex-direction:column;align-items:flex-start}.header-actions{flex-wrap:wrap;width:100%}.header-actions button{flex:1}.summary{grid-template-columns:1fr}.summary div{border-right:0;border-bottom:1px solid var(--glass-line)}.summary div:last-child{border:0}.table-tools{flex-direction:column;align-items:flex-start}.search,.search input{width:100%}.form-grid{grid-template-columns:1fr}.login-card{padding:34px 25px}}
