:root{--brick:#9d271d;--brick-dark:#7a1d15;--brick-soft:#f6e4e1;--cream:#fbf7f2;--paper:#fff;--ink:#2a1a17;--muted:#7a6a66;--line:#e9dfd8;--ok:#2f7a4a;--ok-soft:#e3f2e8;--warn:#9a6a00;--warn-soft:#fbf0d6;--radius:10px;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}h1{font-family:var(--serif);margin:0 0 .4rem;font-size:1.8rem;font-weight:400}h2{margin:0 0 .8rem;font-size:1.05rem}a{color:var(--brick)}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{letter-spacing:.04em;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.05rem}.stack{flex-direction:column;gap:.9rem;display:flex}.row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.row-buttons{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:2rem;display:flex}.logo{display:flex}.logo img{width:auto;height:46px;display:block}.logo-lg{justify-content:center;margin-bottom:1.4rem}.logo-lg img{height:92px}.mobile-head .logo img{height:36px}.field{flex-direction:column;gap:.3rem;display:flex}.field-label{font-size:.85rem;font-weight:600}.field-hint{color:var(--muted);font-size:.78rem}input[type=text],input[type=email],input[type=password]{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.65rem .75rem;font-size:16px}input:focus{outline:2px solid var(--brick);outline-offset:-1px;border-color:#0000}.check{align-items:center;gap:.5rem;display:flex}.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:center;border-radius:8px;padding:.65rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--brick)}.btn-primary{background:var(--brick);border-color:var(--brick);color:#fff}.btn-primary:hover{background:var(--brick-dark)}.btn:disabled{opacity:.6;cursor:wait}.btn-link{font:inherit;text-align:left;color:var(--brick);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link.light{color:var(--cream);opacity:.85}.alert{border-radius:8px;padding:.65rem .8rem;font-size:.9rem}.alert-error{background:var(--brick-soft);color:var(--brick-dark)}.alert-success{background:var(--ok-soft);color:var(--ok)}.alert-info{color:#34485e;background:#eef2f7}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:1.2rem}.badge{background:var(--brick-soft);color:var(--brick-dark);vertical-align:middle;border-radius:99px;margin-left:.4rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.badge-muted{color:var(--muted);background:#eee}.badge-warn{background:var(--warn-soft);color:var(--warn)}.auth-screen{background:var(--brick);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--cream);border-radius:14px;width:100%;max-width:420px;padding:2rem 1.6rem;box-shadow:0 20px 50px #00000040}.auth-card h1{text-align:center;font-size:1.4rem}.auth-card>.muted{text-align:center;margin-top:0}.admin{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-nav{background:var(--brick);color:var(--cream);flex-direction:column;height:100vh;padding:1.4rem .9rem;display:flex;position:sticky;top:0}.admin-brand{padding:0 .6rem 1.4rem}.admin-nav nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.admin-nav nav a{color:var(--cream);opacity:.88;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .7rem;text-decoration:none;display:flex}.admin-nav nav a:hover{opacity:1;background:#ffffff14}.admin-nav nav a.active{background:var(--cream);color:var(--brick);opacity:1;font-weight:600}.nav-icon{text-align:center;width:1.2rem}.admin-user{border-top:1px solid #fff3;flex-direction:column;gap:.35rem;padding:1rem .6rem 0;font-size:.88rem;display:flex}.admin-user a{color:var(--cream)}.admin-user-name{font-weight:600}.admin-main{width:100%;max-width:1100px;padding:2rem 2.4rem}.page-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.steps{flex-direction:column;gap:.5rem;max-width:640px;margin:1.4rem 0;padding:0;list-style:none;display:flex}.steps li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.9rem;padding:.75rem 1rem;display:flex}.steps li div{flex-direction:column;display:flex}.step-num{background:var(--cream);border:1px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:flex}.steps li.current{border-color:var(--brick)}.steps li.current .step-num{background:var(--brick);color:#fff;border-color:var(--brick)}.steps li.done .step-num{background:var(--ok);color:#fff;border-color:var(--ok)}.soon ul{margin:.4rem 0 0;padding-left:1.2rem}.soon .badge{margin-left:0}.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-top:1rem;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:.7rem 1rem;font-size:.75rem}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.75rem 1rem}.table tr:last-child td{border-bottom:none}.table tr.archived td{color:var(--muted)}.table .actions{flex-wrap:wrap;justify-content:flex-end;gap:.9rem;font-size:.85rem;display:flex}.temp-card{border-color:var(--brick)}.temp-creds{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:1rem 0;display:grid}.temp-creds dt{color:var(--muted)}.temp-creds dd{margin:0;font-weight:600}.mobile{background:var(--cream);flex-direction:column;max-width:560px;min-height:100vh;margin:0 auto;display:flex}.mobile-head{background:var(--brick);padding:calc(.9rem + env(safe-area-inset-top)) 1.1rem .9rem;z-index:2;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-admin-link{color:var(--cream);font-size:.85rem}.mobile-main{flex:1;padding:1.4rem 1.1rem 6rem}.tabbar{background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{max-width:280px;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.55rem 0 .6rem;font-size:.78rem;text-decoration:none;display:flex}.tabbar a span{font-size:1.3rem;line-height:1}.tabbar a.active{color:var(--brick);font-weight:600}.tile{background:var(--paper);border:1px solid var(--line);border-radius:14px;align-items:center;gap:1rem;margin-top:1rem;padding:1.1rem;display:flex}.tile div{flex-direction:column;gap:.15rem;display:flex}.tile-icon{background:var(--brick);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;display:flex}.tile-disabled .tile-icon{background:var(--brick-soft);color:var(--brick)}.install-hint{margin-top:2rem}@media (width<=760px){.admin{grid-template-columns:1fr}.admin-nav{height:auto;padding:.9rem;position:static}.admin-brand{padding:0 .3rem .7rem}.admin-nav nav{flex-direction:row;gap:.3rem;overflow-x:auto}.admin-nav nav a{white-space:nowrap;font-size:.9rem}.admin-user{flex-flow:wrap;gap:.8rem;margin-top:.7rem;padding-top:.7rem}.admin-main{padding:1.4rem 1rem}.row{grid-template-columns:1fr}}input[type=date],input[type=tel],select{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.6rem .7rem;font-size:16px}select:focus{outline:2px solid var(--brick);outline-offset:-1px;border-color:#0000}h3{margin:0;font-size:.95rem}.stack-tight{flex-direction:column;gap:.5rem;display:flex}.nowrap{white-space:nowrap}.back{margin-bottom:.6rem;font-size:.9rem;text-decoration:none;display:inline-block}.btn-small{padding:.4rem .8rem;font-size:.88rem}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-info{color:#34485e;background:#eef2f7}.badge.no-margin{margin-left:0}.card-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.card-head h2{margin:0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;display:flex}.segmented{background:var(--paper);border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:7px;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.9rem;display:inline-flex}.segmented button.on{background:var(--brick);color:#fff;font-weight:600}.segmented .count{opacity:.7;font-size:.75rem}.segmented .dot{border-radius:50%;width:.55rem;height:.55rem}.segmented button.on .dot{box-shadow:0 0 0 1.5px #fff}.chips{flex-wrap:wrap;gap:.3rem;display:flex}.team-chip{--team:#888;color:var(--team);background:color-mix(in srgb, var(--team) 13%, white);border:1px solid color-mix(in srgb, var(--team) 35%, white);border-radius:99px;padding:.12rem .55rem;font-size:.75rem;font-weight:600}.team-picker{flex-wrap:wrap;gap:.5rem;display:flex}.team-toggle{--team:#888;font:inherit;cursor:pointer;border:1.5px solid color-mix(in srgb, var(--team) 45%, white);background:var(--paper);color:var(--team);border-radius:99px;padding:.45rem .95rem;font-weight:600}.team-toggle.on{background:var(--team);border-color:var(--team);color:#fff}.table-click tbody tr{cursor:pointer}.table-click tbody tr:hover td{background:#fdf9f6}.row-link{color:var(--ink);font-weight:600;text-decoration:none}.fiche{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:0 1.2rem;display:grid}.contracts{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.contract{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.7rem .85rem;display:flex}.contract-current{border-left-color:var(--ok)}.contract-future{border-left-color:#34485e}.contract-past{opacity:.75}.contract-main{flex-direction:column;gap:.15rem;display:flex}.contract .actions{white-space:nowrap;gap:.8rem;display:flex}.contract-form{border:1px solid var(--brick);background:#fffdfb;border-radius:8px;margin-bottom:.6rem;padding:.9rem}@media (width<=1000px){.fiche{grid-template-columns:1fr}}.narrow{max-width:680px}.stack-tight p,.card.stack-tight>p{margin:0}.row>*{min-width:0}.field input,.field select{width:100%;min-width:0}.field .segmented{flex-wrap:nowrap;display:flex}.field .segmented button{flex:1;justify-content:center}
