@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink:#12161c;--ink-soft:#2c333c;--muted:#5b6472;--paper:#f5f4f0;--paper-raised:#fff;--azure-deep:#0f5a80;--azure:#1f86b4;--azure-soft:#dcecf3;--gold:#a97f2e;--gold-soft:#ece0c4;--line:#dcdfe3;--shadow:0 18px 40px -24px #12161c59}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#eef1f4;--ink-soft:#cfd6dc;--muted:#9aa4b1;--paper:#0e1116;--paper-raised:#161b21;--azure-deep:#7fc4e6;--azure:#56aad4;--azure-soft:#16303c;--gold:#d9b975;--gold-soft:#33291a;--line:#262c34;--shadow:0 18px 40px -20px #0009}}:root[data-theme=dark]{--ink:#eef1f4;--ink-soft:#cfd6dc;--muted:#9aa4b1;--paper:#0e1116;--paper-raised:#161b21;--azure-deep:#7fc4e6;--azure:#56aad4;--azure-soft:#16303c;--gold:#d9b975;--gold-soft:#33291a;--line:#262c34;--shadow:0 18px 40px -20px #0009}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Public Sans,system-ui,sans-serif}h1,h2,h3{margin:0;font-family:Fraunces,serif;font-weight:600}button{cursor:pointer;font-family:inherit}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--paper-raised);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:12px;padding:40px 32px}.auth-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 4px;font-family:IBM Plex Mono,monospace;font-size:.75rem}.auth-card h1{margin-bottom:28px;font-size:1.75rem}.auth-card form{flex-direction:column;gap:16px;display:flex}.auth-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:.875rem;display:flex}.auth-card input{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:10px 12px;font-size:1rem}.auth-card input:focus{outline:2px solid var(--azure);outline-offset:1px}.auth-card button[type=submit]{background:var(--azure-deep);color:#fff;border:none;border-radius:6px;margin-top:8px;padding:11px 16px;font-size:.95rem;font-weight:600}.auth-card button[type=submit]:disabled{opacity:.6;cursor:default}.auth-hint{color:var(--muted);margin:0;font-size:.875rem}.auth-error{color:#b3261e;margin:0;font-size:.875rem}.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--line);background:var(--paper-raised);justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.app-title{font-family:Fraunces,serif;font-size:1.1rem;font-weight:600}.app-user{color:var(--muted);align-items:center;gap:16px;font-size:.875rem;display:flex}.app-user button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:6px;padding:6px 14px;font-size:.875rem}.app-main{max-width:720px;margin:0 auto;padding:48px 24px}.app-main p{color:var(--muted);line-height:1.6}.app-main-wide{max-width:1000px}.page-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-head button,.filters button,.contact-form button[type=submit]{border:1px solid var(--azure-deep);background:var(--azure-deep);color:#fff;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:600}.contact-form{background:var(--paper-raised);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px;padding:20px;display:grid}.contact-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.contact-form input,.contact-form select,.filters input,.filters select{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:8px 10px}.contact-form button[type=submit]{align-self:end}.filters{gap:10px;margin-bottom:20px;display:flex}.filters input{flex:1}.contact-table{border-collapse:collapse;width:100%;font-size:.9rem}.contact-table th,.contact-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}.contact-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.7rem}.contact-table button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:6px;padding:5px 10px;font-size:.8rem}.status-pill{background:var(--azure-soft);color:var(--azure-deep);border-radius:999px;padding:3px 10px;font-size:.75rem;display:inline-block}.status-pill.status-client{background:var(--gold-soft);color:var(--gold)}.status-pill.status-perdu{background:var(--line);color:var(--muted)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--azure-soft)}.link-button{color:var(--azure-deep);background:0 0;border:none;padding:0;font-size:.875rem}.status-pill.status-dossier-en_cours{background:var(--azure-soft);color:var(--azure-deep)}.status-pill.status-dossier-ouvert{background:var(--gold-soft);color:var(--gold)}.status-pill.status-dossier-cloture{background:var(--line);color:var(--muted)}.status-pill.status-dossier-en_attente{background:var(--line);color:var(--ink-soft)}.priorite-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:inline-block}.priorite-pill.priorite-urgente{color:#b3261e;border-color:#b3261e}.priorite-pill.priorite-haute{border-color:var(--gold);color:var(--gold)}.detail-grid{background:var(--paper-raised);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0 32px;padding:20px;display:grid}.detail-grid>div{flex-direction:column;gap:4px;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.7rem}.timeline{border-left:2px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{padding:4px 0 20px 20px;position:relative}.timeline li:before{content:"";background:var(--azure-deep);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:-6px}.timeline-date{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.75rem;display:block}.timeline-type{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin:2px 0 4px;font-size:.75rem;display:inline-block}.timeline li p{color:var(--ink-soft);margin:4px 0 0}.status-pill.status-cession{background:var(--azure-soft);color:var(--azure-deep)}.workflow-stepper{flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none;display:flex}.workflow-stepper li{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.75rem}.workflow-stepper li:hover{border-color:var(--azure)}.workflow-stepper li.done{background:var(--gold-soft);color:var(--gold);border-color:#0000}.workflow-stepper li.current{background:var(--azure-deep);color:#fff;border-color:#0000;font-weight:600}.document-category{margin-bottom:28px}.document-category h3{color:var(--muted);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:.9rem}.doc-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.doc-actions a,.doc-actions button{color:var(--azure-deep);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.doc-history{color:var(--muted);margin:0;padding:8px 0;font-size:.8rem;list-style:none}.doc-history li{padding:2px 0}.agenda-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.agenda-nav{align-items:center;gap:10px;display:flex}.agenda-nav button{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);border-radius:6px;padding:6px 12px;font-size:.85rem}.agenda-period-label{margin-left:8px;font-family:Fraunces,serif;font-weight:600}.agenda-view-toggle{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.agenda-view-toggle button{background:var(--paper-raised);color:var(--muted);border:none;border-right:1px solid var(--line);padding:6px 14px;font-size:.8rem}.agenda-view-toggle button:last-child{border-right:none}.agenda-view-toggle button.active{background:var(--azure-deep);color:#fff}.agenda-month-grid{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.agenda-weekday{background:var(--paper-raised);text-align:center;color:var(--muted);text-transform:uppercase;padding:8px;font-family:IBM Plex Mono,monospace;font-size:.7rem}.agenda-day-cell{background:var(--paper-raised);cursor:pointer;flex-direction:column;gap:3px;min-height:90px;padding:6px;display:flex}.agenda-day-cell:hover{background:var(--azure-soft)}.agenda-day-cell.outside{opacity:.4}.agenda-day-number{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.75rem}.agenda-entry-chip{background:var(--azure-soft);color:var(--azure-deep);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 6px;font-size:.7rem;overflow:hidden}.agenda-entry-chip.kind-tache{background:var(--gold-soft);color:var(--gold)}.agenda-entry-chip.kind-dossier_penal{color:#b3261e;background:#fbe4e1}.agenda-more{color:var(--muted);font-size:.65rem}.agenda-list-view{flex-direction:column;gap:20px;display:flex}.agenda-day-block h3{margin-bottom:8px;font-size:1rem}.agenda-empty{color:var(--muted);font-size:.85rem}.agenda-entry-list{margin:0;padding:0;list-style:none}.agenda-entry-list li{border-left:3px solid var(--azure);background:var(--paper-raised);border-radius:4px;align-items:center;gap:10px;margin-bottom:4px;padding:6px 10px;font-size:.875rem;display:flex}.agenda-entry-list li.kind-tache{border-left-color:var(--gold)}.agenda-entry-list li.kind-dossier_penal{border-left-color:#b3261e}.agenda-entry-time{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.75rem}.agenda-entry-type{text-transform:uppercase;color:var(--muted);font-size:.7rem}.invoice-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.invoice-actions a{color:var(--azure-deep);font-size:.875rem}.time-summary{color:var(--muted);margin-top:8px;font-size:.85rem}.app-nav{border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;gap:20px;padding:10px 32px;display:flex}.app-nav a{color:var(--muted);font-size:.85rem;text-decoration:none}.app-nav a:hover{color:var(--azure-deep)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-tile{background:var(--paper-raised);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat-tile.warn{border-color:#b3261e}.stat-value{color:var(--ink);font-family:Fraunces,serif;font-size:1.6rem;font-weight:600}.stat-tile.warn .stat-value{color:#b3261e}.stat-label{color:var(--muted);font-size:.75rem}.dashboard-columns{grid-template-columns:1fr 1fr;gap:32px;margin:24px 0 32px;display:grid}.dashboard-columns h2{margin-bottom:10px;font-size:1rem}.dashboard-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dashboard-list li{background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:.85rem}.dashboard-list a{color:var(--ink);text-decoration:none;display:block}.dashboard-list a:hover{color:var(--azure-deep)}.dashboard-list-date{color:var(--gold);text-transform:capitalize;margin-right:8px;font-family:IBM Plex Mono,monospace;font-size:.7rem;display:inline-block}.dashboard-list-kind{text-transform:uppercase;color:var(--muted);margin-right:6px;font-size:.65rem;display:inline-block}@media (width<=700px){.dashboard-columns{grid-template-columns:1fr}}.app-loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;display:flex}
