:root{--gold-light:#f2da9b;--gold:#d4ad5e;--gold-dark:#be9754;--gold-deep:#9a7a3f;--ink:#1a1714;--ink-soft:#2d2922;--warm-white:#faf8f5;--warm-cream:#f3efe8;--warm-sand:#e8e2d8;--text-primary:#1a1714;--text-secondary:#5c5549;--text-muted:#8a8179;--success:#0e8a16;--danger:#b60205;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Montserrat", system-ui, sans-serif;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--ink);color:var(--warm-white);font-family:var(--font-body);margin:0}.auth-shell{background:radial-gradient(circle at 20% 20%, #be975426 0%, transparent 45%), radial-gradient(circle at 80% 0%, #f2da9b1a 0%, transparent 50%), var(--ink);place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-panel{background:linear-gradient(145deg,#1a1714f2,#2d2922fa);border:1px solid #d4ad5e59;border-radius:16px;grid-template-columns:1.05fr 1fr;width:min(960px,100%);display:grid;overflow:hidden;box-shadow:0 20px 60px #00000059,inset 0 1px #f2da9b33}.auth-brand{border-right:1px solid #d4ad5e2e;padding:3rem}.auth-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;margin:0;font-size:.7rem;font-weight:700}.auth-brand h1{font-family:var(--font-display);color:var(--warm-white);margin:1rem 0;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:400;line-height:1}.auth-brand h1 em{color:var(--gold-light);font-style:italic}.auth-subtitle{color:#faf8f5c7;max-width:40ch;margin:0;font-size:.95rem;line-height:1.7}.auth-form{flex-direction:column;gap:.75rem;padding:3rem;display:flex}.auth-form label{color:#faf8f5db;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600}.auth-form input{color:var(--warm-white);background:#f3efe80f;border:1px solid #d4ad5e47;border-radius:8px;margin-bottom:.6rem;padding:.82rem .9rem;font-size:.95rem;transition:border-color .14s,box-shadow .14s}.auth-password-field{margin-bottom:.6rem;position:relative}.auth-password-field input{width:100%;margin-bottom:0;padding-right:2.85rem}.auth-password-toggle{color:#f2da9b8c;cursor:pointer;background:#12100e59;border:none;border-left:1px solid #d4ad5e33;border-radius:0 7px 7px 0;justify-content:center;align-items:center;width:2.55rem;margin:0;padding:0;transition:background-color .14s,color .14s,border-color .14s;display:inline-flex;position:absolute;top:1px;bottom:1px;right:1px}.auth-password-toggle svg{flex-shrink:0;width:1.125rem;height:1.125rem}.auth-password-toggle:hover{color:var(--gold-light);background:#f3efe814;border-left-color:#d4ad5e59}.auth-password-toggle:focus-visible{z-index:1;outline:none;box-shadow:inset 0 0 0 1px #d4ad5e73,0 0 0 2px #12100ee6,0 0 0 4px #d4ad5e38}.auth-password-field:has(input:focus) .auth-password-toggle:not(:focus-visible){border-left-color:#d4ad5e52}.auth-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}.auth-form input::placeholder{color:#faf8f573}.auth-form input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px #d4ad5e2e}.auth-form button{color:var(--ink);background:linear-gradient(135deg, var(--gold-light), var(--gold-dark));cursor:pointer;border:none;border-radius:8px;margin-top:.65rem;padding:.95rem 1rem;font-size:.92rem;font-weight:700;transition:transform .14s,filter .14s}.auth-form button:hover{filter:brightness(1.03);transform:translateY(-1px)}.auth-form button:disabled{opacity:.75;cursor:wait;transform:none}.auth-message{border-radius:8px;margin:.75rem 0 0;padding:.72rem .85rem;font-size:.88rem;line-height:1.45}.auth-message--error{color:#ffd8d8;background:#b6020526;border:1px solid #b6020580}.auth-message--success{color:#dfffe3;background:#0e8a1629;border:1px solid #0e8a1680}@media (width<=900px){.auth-shell{padding:1rem}.auth-panel{grid-template-columns:1fr}.auth-brand{border-bottom:1px solid #d4ad5e2e;border-right:0;padding:1.7rem}.auth-form{padding:1.7rem}}.dash-shell{color:#faf8f5eb;background:radial-gradient(circle at 12% 18%, #be975424 0%, transparent 42%), radial-gradient(circle at 88% 8%, #f2da9b1a 0%, transparent 48%), var(--ink);min-height:100vh;padding:1.4rem}.dash-header{background:linear-gradient(145deg,#1a1714f0,#2d2922fa);border:1px solid #d4ad5e59;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:1rem;max-width:1100px;margin:0 auto 1rem;padding:1.2rem 1.1rem;display:flex;box-shadow:0 16px 48px #00000052,inset 0 1px #f2da9b1f}.dash-eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--gold);margin:0 0 .4rem;font-size:.66rem;font-weight:700}.dash-header h1{font-size:clamp(1.7rem,3vw,2.3rem);font-family:var(--font-display);color:var(--warm-white);margin:0;font-weight:400}.dash-subtitle{color:#faf8f5b8;margin:.35rem 0 0;font-size:.9rem}.dash-subtitle strong{color:var(--gold-light);font-weight:600}.dash-header button{color:var(--gold-light);cursor:pointer;font-weight:700;font-family:var(--font-body);background:#f3efe80f;border:1px solid #d4ad5e73;border-radius:8px;flex-shrink:0;margin-top:.15rem;padding:.65rem .95rem;transition:border-color .14s,background-color .14s,color .14s}.dash-header button:hover{color:var(--gold-light);background:#d4ad5e1f;border-color:#d4ad5ebf}.dash-header button:focus-visible{outline:none;box-shadow:0 0 0 3px #d4ad5e38}.dash-notice,.dash-loading{color:#faf8f5e6;background:#1a1714a6;border:1px solid #d4ad5e38;border-radius:10px;max-width:1100px;margin:0 auto 1rem;padding:.75rem .9rem;font-size:.9rem}.dash-notice--ok{color:#dfffe3;background:#0e8a161f;border-color:#0e8a1673}.dash-notice--error{color:#ffd8d8;background:#b6020524;border-color:#b6020573}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1100px;margin:0 auto;display:grid}.dash-card{background:linear-gradient(145deg,#1a1714f0,#2d2922fa);border:1px solid #d4ad5e59;border-radius:12px;padding:1rem 1.05rem;box-shadow:0 16px 48px #00000052,inset 0 1px #f2da9b1f}.dash-card--full{grid-column:1/-1}.dash-grid h2{color:var(--warm-white);font-size:1.08rem;font-family:var(--font-display);margin:0 0 .45rem;font-weight:500}.dash-card-copy{color:#faf8f5b3;margin:0 0 .8rem;font-size:.9rem;line-height:1.55}.dash-form{flex-direction:column;gap:.45rem;display:flex}.dash-form label{text-transform:uppercase;letter-spacing:.1em;color:#faf8f5c7;font-size:.78rem;font-weight:600}.dash-form input,.dash-form textarea,.dash-form select{color:var(--warm-white);font-size:.92rem;font-family:var(--font-body);background:#f3efe80f;border:1px solid #d4ad5e47;border-radius:8px;padding:.62rem .72rem;transition:border-color .14s,box-shadow .14s}.dash-form input::placeholder,.dash-form textarea::placeholder{color:#faf8f566}.dash-form select{cursor:pointer}.dash-form select option{background:var(--ink-soft);color:var(--warm-white)}.dash-form textarea{resize:vertical}.dash-form input:focus,.dash-form textarea:focus,.dash-form select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d4ad5e2e}.dash-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.dash-form button{cursor:pointer;font-weight:700;font-family:var(--font-body);color:var(--ink);background:linear-gradient(135deg, var(--gold-light), var(--gold-dark));border:none;border-radius:8px;margin-top:.45rem;padding:.68rem .9rem;transition:transform .14s,filter .14s}.dash-form button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.dash-form button:disabled{opacity:.72;cursor:wait;transform:none}.dash-form-field{flex-direction:column;gap:.45rem;display:flex}.dash-dropzone{text-align:center;background:#0a090873;border:1px dashed #d4ad5e59;border-radius:8px;padding:1rem .85rem;transition:border-color .14s,background-color .14s,box-shadow .14s;position:relative}.dash-dropzone--active{background:#d4ad5e14;border-color:#d4ad5ebf;box-shadow:0 0 0 3px #d4ad5e1f}.dash-dropzone--has-preview{padding:.65rem}.dash-dropzone-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dash-dropzone-preview-wrap{border:1px solid #d4ad5e38;border-radius:6px;max-width:100%;max-height:140px;margin:0 auto .65rem;overflow:hidden}.dash-dropzone-preview{object-fit:contain;background:#0003;width:100%;max-height:140px;display:block}.dash-dropzone-hint{color:#faf8f58c;margin:0 0 .65rem;font-size:.84rem;line-height:1.45}.dash-dropzone-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.dash-dropzone-btn{color:var(--gold-light);cursor:pointer;font-size:.82rem;font-weight:700;font-family:var(--font-body);background:#f3efe814;border:1px solid #d4ad5e66;border-radius:8px;padding:.45rem .85rem;transition:border-color .14s,background-color .14s}.dash-dropzone-btn:hover:not(:disabled){background:#d4ad5e1f;border-color:#d4ad5eb3}.dash-dropzone-btn:disabled{opacity:.65;cursor:wait}.dash-dropzone-btn--ghost{color:#faf8f5a6;background:0 0;border-color:#faf8f533;font-weight:600}.dash-dropzone-btn--ghost:hover:not(:disabled){color:#faf8f5e0;border-color:#faf8f559}.dash-file{margin-bottom:.8rem;display:block}.dash-file span{color:#faf8f5ad;margin-bottom:.35rem;font-size:.84rem;display:inline-block}.dash-file input[type=file]{color:#faf8f5d9;width:100%;font-size:.86rem}.dash-muted{color:#faf8f585;margin:0 0 .7rem;font-size:.85rem}.dash-list{flex-direction:column;gap:.55rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.dash-list li{color:#faf8f5bf;background:#0a090859;border:1px solid #d4ad5e38;border-radius:8px;padding:.6rem .7rem;font-size:.86rem}.dash-list li strong{color:var(--warm-white);font-weight:600}.dash-list a{color:var(--gold-light);word-break:break-all}.dash-list a:hover{color:var(--gold)}.dash-media-row{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.dash-delete-btn{color:#ffc9c9;cursor:pointer;background:#b602051f;border:1px solid #b6020573;border-radius:6px;flex-shrink:0;padding:.28rem .55rem;font-size:.74rem;font-weight:700}.dash-delete-btn:hover:not(:disabled){background:#b6020533}.dash-delete-btn:disabled{opacity:.65;cursor:wait}.dash-article-row{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.dash-article-row strong{color:var(--warm-white);display:block}.dash-article-row span{color:#faf8f58c;margin-top:.15rem;font-size:.78rem;display:block}.dash-article-row select{color:var(--warm-white);cursor:pointer;background:#f3efe814;border:1px solid #d4ad5e47;border-radius:6px;padding:.35rem .45rem;font-size:.76rem}.dash-article-row select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #d4ad5e26}.dash-article-row select option{background:var(--ink-soft);color:var(--warm-white)}.dash-article-row-text{flex:1;min-width:0}.dash-article-row--with-thumb{align-items:center}.dash-row-thumb-link{border:1px solid #d4ad5e40;border-radius:6px;flex-shrink:0;line-height:0;display:block;overflow:hidden}.dash-row-thumb{object-fit:cover;background:#0003;width:48px;height:48px;display:block}.dash-row-thumb--placeholder{background:#faf8f50f;border:1px dashed #d4ad5e33;border-radius:6px;flex-shrink:0;width:48px;height:48px}.dash-list--media li{padding:.5rem .55rem}.dash-media-item{align-items:center;gap:.75rem;display:flex}.dash-media-thumb-link{border:1px solid #d4ad5e40;border-radius:6px;flex-shrink:0;line-height:0;display:block;overflow:hidden}.dash-media-thumb{object-fit:cover;background:#0003;width:72px;height:72px;display:block}.dash-media-item-body{flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.dash-media-filename{color:#faf8f5c7;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}@media (width<=860px){.dash-shell{padding:1rem}.dash-header{flex-direction:column}.dash-grid{grid-template-columns:1fr}.dash-card--full{grid-column:auto}.dash-form-grid{grid-template-columns:1fr}.dash-article-row,.dash-media-row{flex-direction:column;align-items:flex-start}}
