:root{--color-text:#1a1712;--color-text-secondary:#6e6459;--color-bg:#faf6f0;--color-bg-element:#fff;--color-bg-selected:#f1eae0;--color-border:#eae2d6;--color-accent:#e8472e;--color-accent-secondary:#f2a93b;--color-success:#2e7d5b;--color-danger:#c0392b;--font-display:"Fraunces", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-text:#f5f1e9;--color-text-secondary:#a79c8c;--color-bg:#14120e;--color-bg-element:#1e1b16;--color-bg-selected:#2c2820;--color-border:#2c2820;--color-accent:#ff6b4a;--color-accent-secondary:#f2b84b;--color-success:#4caf7d;--color-danger:#e57373;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-accent)}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--color-border);background:var(--color-bg-element);align-items:center;gap:16px;padding:12px 24px;display:flex}.topbar-logo{object-fit:contain;width:32px;height:32px}.topbar-title{font-family:var(--font-display);margin-right:auto;font-size:18px;font-weight:600}.nav-tabs{gap:4px;display:flex}.nav-tab{color:var(--color-text-secondary);background:0 0;border:none;border-radius:8px;padding:8px 14px;font-weight:500}.nav-tab.active{background:var(--color-bg-selected);color:var(--color-text)}.logout-button{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0;border-radius:8px;padding:8px 12px}.main-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:24px}.card{background:var(--color-bg-element);border:1px solid var(--color-border);border-radius:12px;padding:20px}.button{background:var(--color-bg-selected);color:var(--color-text);border:none;border-radius:8px;padding:10px 16px;font-weight:600}.button-primary{background:var(--color-accent);color:#fff}.button-secondary{border:1px solid var(--color-border);background:0 0}.button-danger{border:1px solid var(--color-danger);color:var(--color-danger);background:0 0}.button:disabled{opacity:.5;cursor:not-allowed}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:8px;padding:10px 12px}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-draft{background:var(--color-bg-selected);color:var(--color-text-secondary)}.badge-published{background:var(--color-success);color:#fff}.badge-nouveau{background:var(--color-accent);color:#fff}.badge-traite{background:var(--color-bg-selected);color:var(--color-text-secondary)}.error-banner{background:var(--color-danger);color:#fff;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.list-row{border-bottom:1px solid var(--color-border);cursor:pointer;align-items:center;gap:12px;padding:12px 0;display:flex}.list-row:hover{background:var(--color-bg-selected)}.list-row:last-child{border-bottom:none}.spinner-text{color:var(--color-text-secondary);text-align:center;padding:24px}.login-screen{justify-content:center;align-items:center;min-height:100%;display:flex}.login-card{text-align:center;width:320px}.login-card img{width:56px;height:56px;margin-bottom:12px}.editor-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}@media (width<=900px){.editor-layout{grid-template-columns:1fr}}.source-row{gap:8px;margin-bottom:8px;display:flex}.source-row input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:8px;flex:1;padding:8px 10px}.tiptap-toolbar{border:1px solid var(--color-border);background:var(--color-bg);border-bottom:none;border-radius:8px 8px 0 0;flex-wrap:wrap;gap:4px;padding:8px;display:flex}.tiptap-toolbar button{color:var(--color-text-secondary);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 10px;font-weight:600}.tiptap-toolbar button.is-active{background:var(--color-bg-selected);color:var(--color-text)}.tiptap-editor{border:1px solid var(--color-border);background:var(--color-bg-element);border-radius:0 0 8px 8px;min-height:280px;padding:16px}.tiptap-editor .ProseMirror{outline:none;min-height:260px;line-height:1.6}.tiptap-editor .ProseMirror p{margin:0 0 1em}.phone-preview-wrapper{position:sticky;top:24px}.phone-frame{background:var(--color-bg);border:10px solid #1a1712;border-radius:36px;width:360px;height:720px;overflow-y:auto;box-shadow:0 20px 40px #0003}.phone-frame-content{color:var(--color-text);font-family:var(--font-sans);padding:20px}.phone-theme-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);margin-bottom:8px;font-size:11px;font-weight:700;display:inline-block}.phone-title{font-family:var(--font-display);margin-bottom:8px;font-size:24px;font-weight:700;line-height:1.25}.phone-date{color:var(--color-text-secondary);margin-bottom:16px;font-size:13px}.phone-image{object-fit:cover;border-radius:12px;width:100%;max-height:200px;margin-bottom:16px;display:block}.phone-image-credit{color:var(--color-text-secondary);margin-top:-12px;margin-bottom:16px;font-size:11px}.phone-body{font-size:15px;line-height:1.65}.phone-body p{margin:0 0 1em}.phone-sources{border-top:1px solid var(--color-border);color:var(--color-text-secondary);margin-top:24px;padding-top:16px;font-size:12px}.phone-sources li{margin-bottom:4px}
