:root{--paper: #f4eedd;--paper-raised: #fffbf2;--paper-alt: #e8dfc4;--ink: #211d16;--ink-soft: #56503f;--brand: #00677e;--brand-dark: #004151;--brand-contrast: #ffffff;--rust: #c1622d;--rust-dark: #8f4300;--danger: #a6291f;--vivid-green: #3f8f5c;--vivid-yellow: #f0b429;--font-display: "Oswald", sans-serif;--font-body: "Work Sans", sans-serif;--radius-sm: 3px;--radius-md: 6px;--border-w: 2px;--shadow-off: 4px;--shadow-hard: var(--shadow-off) var(--shadow-off) 0 var(--ink);--shadow-hard-sm: 2px 2px 0 var(--ink);--content-max-width: 1160px;--header-height: 76px;--transition-fast: .15s ease;--transition-base: .18s cubic-bezier(.2, .7, .3, 1)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background-color:var(--paper);background-image:radial-gradient(circle at 1px 1px,rgba(33,29,22,.05) 1px,transparent 0);background-size:7px 7px;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;color:var(--ink)}h1{font-size:clamp(2rem,4vw,2.75rem);font-weight:700}h2{font-size:1.7rem}h3{font-size:1.3rem}h4{font-size:1.05rem;letter-spacing:.03em}p{margin:0 0 1em}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}ul,ol{padding-left:1.3em}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}::selection{background:var(--brand);color:var(--brand-contrast)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid var(--paper)}.container{max-width:var(--content-max-width);margin:0 auto;padding:0 24px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}.eyebrow:before{content:"";width:18px;height:2px;background:var(--rust)}.muted{color:var(--ink-soft)}.center-row{display:flex;justify-content:center;padding:32px 0}.checker-strip{height:12px;background-image:conic-gradient(var(--ink) 90deg,transparent 90deg 180deg,var(--ink) 180deg 270deg,transparent 270deg);background-size:24px 24px;background-color:var(--paper)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);background:var(--paper-raised);color:var(--ink);font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-hard);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.btn mat-icon{font-size:18px;width:18px;height:18px}.btn:hover{text-decoration:none;transform:translate(2px,2px);box-shadow:var(--shadow-hard-sm)}.btn:active{transform:translate(var(--shadow-off),var(--shadow-off));box-shadow:0 0 0 var(--ink)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-hard)}.btn--primary{background:var(--brand);color:var(--brand-contrast);border-color:var(--ink)}.btn--danger{background:var(--danger);color:#fff}.btn--paper{background:var(--paper-raised);color:var(--ink);border-color:var(--ink)}.btn--on-dark{background:transparent;border-color:var(--paper-raised);color:var(--paper-raised);box-shadow:var(--shadow-off) var(--shadow-off) 0 #00000059}.btn--ghost{border-color:transparent;background:transparent;box-shadow:none;padding:10px 12px;color:var(--ink-soft)}.btn--ghost:hover{transform:none;box-shadow:none;color:var(--ink);text-decoration:none;background:var(--paper-alt)}.btn--block{width:100%}.btn--icon{display:inline-flex;align-items:center;justify-content:center;padding:0;width:38px;height:38px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.btn--icon:hover{text-decoration:none;background:var(--paper-alt)}.btn--icon mat-icon{font-size:20px;width:20px;height:20px}.btn--icon.btn--danger-hover:hover{color:var(--danger);background:var(--paper-alt)}.panel{background:var(--paper-raised);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);padding:22px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.article-card{display:flex;flex-direction:column;background:var(--paper-raised);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);padding:20px;overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.article-card:hover{transform:translate(2px,2px);box-shadow:var(--shadow-hard-sm)}.article-card .card-cover{margin:-20px -20px 16px}.article-card .card-cover img{width:100%;height:160px;object-fit:cover;display:block;border-bottom:var(--border-w) solid var(--ink)}.article-card .card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.85rem}.article-card .card-title{margin-bottom:4px;font-size:1.15rem}.article-card .card-subtitle{color:var(--ink-soft);margin-bottom:12px;font-family:var(--font-body);text-transform:none}.article-card .card-link{margin-top:auto;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--brand)}.article-card .card-link mat-icon{font-size:18px;width:18px;height:18px}.tag{display:inline-flex;align-items:center;padding:3px 10px;border:1px solid var(--ink);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--rust);color:#fff}.tag--publie{background:var(--vivid-green);color:#fff}.tag--brouillon{background:var(--vivid-yellow);color:var(--ink)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;color:var(--ink-soft);text-align:center}.empty-state mat-icon{font-size:40px;width:40px;height:40px;opacity:.5}.spinner{width:38px;height:38px;border-radius:50%;border:4px solid var(--paper-alt);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);background:var(--paper-raised);color:var(--ink);font-family:var(--font-body);font-size:1rem}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23211d16' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:34px}.field textarea{resize:vertical;font-family:var(--font-body)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00677e2e}.field input:disabled{background:var(--paper-alt);color:var(--ink-soft)}.field-hint{font-size:.82rem;color:var(--ink-soft)}.field-error{font-size:.82rem;color:var(--danger);font-weight:500}.field-row{display:flex;gap:16px;flex-wrap:wrap}.field-row .field{flex:1;min-width:200px}.back-link{margin-left:-12px;margin-bottom:8px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 24px}.page-head h1{margin:0}.form-card{max-width:720px;margin-bottom:24px}.table-wrap--narrow{max-width:720px}.form-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.table-wrap{overflow-x:auto;border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard)}table.data-table{width:100%;border-collapse:collapse;background:var(--paper-raised)}table.data-table th,table.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--paper-alt)}table.data-table th{font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-alt)}table.data-table tbody tr:hover{background:var(--paper-alt)}table.data-table td.actions{display:flex;gap:4px;white-space:nowrap}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:var(--ink)!important;border-radius:var(--radius-sm)!important;border:var(--border-w) solid var(--ink)!important;box-shadow:var(--shadow-hard)!important}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--paper)!important;font-family:var(--font-body)!important}.mat-mdc-snack-bar-container .mat-mdc-button .mdc-button__label{color:var(--rust)!important;font-family:var(--font-display)!important;font-weight:600!important;text-transform:uppercase}.article-content{font-family:var(--font-body);font-size:1.05rem;line-height:1.75}.article-content>*:first-child{margin-top:0}.article-content h1,.article-content h2,.article-content h3{margin-top:1.4em}.article-content a{font-weight:600}.article-content img{border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);margin:12px 0}.article-content blockquote{margin:16px 0;padding:4px 20px;border-left:4px solid var(--rust);color:var(--ink-soft);font-style:italic}
