:root{--paper: #f6f1e8;--paper-2: #efe7d8;--vellum: #fbf7f0;--ink: #1c1a17;--ink-2: #4a453e;--ink-3: #837b6f;--rule: #e2d8c6;--ember: #b8472c;--ember-2: #c77b3b;--ember-soft: #f2d9cf;--moss: #4a6048;--amber: #b5832a;--clay: #9b3a2a;--hero: #151411;--shadow-1: 0 1px 0 rgba(28, 26, 23, .04), 0 0 0 1px var(--rule);--shadow-2: 0 8px 24px -12px rgba(28, 26, 23, .18), 0 0 0 1px var(--rule);--shadow-3: 0 24px 60px -20px rgba(28, 26, 23, .25);--font-display: "Fraunces", Georgia, serif;--font-serif: "Lora", Georgia, serif;--font-sans: "IBM Plex Sans", system-ui, sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(circle at 18px 18px,rgba(28,26,23,.045) 1.5px,transparent 1.5px) 0 0 / 24px 24px,linear-gradient(180deg,#faf7f0 0%,var(--paper) 42%,#f1ebdf 100%);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.66}a{color:inherit}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:700;line-height:1.12;letter-spacing:-.025em}p{margin:0}small{color:var(--ink-3)}blockquote{margin:0;border-left:1px solid var(--rule);padding-left:18px;font-family:var(--font-serif);font-size:16px;font-style:italic;color:var(--ink)}.app-frame{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:28px;border-right:1px solid var(--rule);background:#efe7d8e0;padding:28px 18px 20px}.brand{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:22px;font-weight:700}.brand small{border-radius:4px;background:var(--ember-soft);padding:1px 4px;color:var(--ember);font-family:var(--font-sans);font-size:9px;letter-spacing:.08em}.nav-list{display:grid;align-content:start;gap:6px}.nav-list a{position:relative;display:flex;align-items:center;gap:10px;border-radius:8px;padding:10px 12px;color:var(--ink-2);text-decoration:none;transition:background .18s cubic-bezier(.2,.7,.2,1),color .18s cubic-bezier(.2,.7,.2,1)}.nav-list a:hover,.nav-list a.active{background:var(--vellum);color:var(--ink)}.nav-list a.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:999px;background:var(--ember)}.nav-icon{width:18px;color:var(--ink-3);text-align:center}.sidebar-bottom{display:grid;gap:14px}.user-chip{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;border-top:1px solid var(--rule);padding-top:16px}.user-chip .button{grid-column:1 / -1}.app-content{min-width:0;padding:42px clamp(24px,5vw,72px) 72px}.page{max-width:1200px;margin:0 auto;display:grid;gap:28px;animation:page-in .22s cubic-bezier(.2,.7,.2,1)}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;gap:24px;align-items:end;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:22px}.page-header-admin{border-top:3px solid var(--ember);padding-top:18px}.page-header h1{max-width:820px;font-size:clamp(32px,5vw,52px)}.page-header p{max-width:720px;margin-top:8px;color:var(--ink-2)}.page-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ember);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.ember-dot:before{content:"";width:4px;height:4px;border-radius:999px;background:var(--ember)}.card{border:1px solid var(--rule);border-radius:14px;background:var(--vellum);box-shadow:var(--shadow-1);padding:24px}.card-paper{background:#efe7d88c}.card-draft{background:var(--vellum);box-shadow:var(--shadow-2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:999px;padding:0 18px;text-decoration:none;transition:transform .18s cubic-bezier(.2,.7,.2,1),background .18s cubic-bezier(.2,.7,.2,1),border-color .18s cubic-bezier(.2,.7,.2,1)}.button:hover{transform:translateY(-1px)}.button-sm{min-height:32px;padding:0 12px;font-size:13px}.button-primary{background:var(--ember-2);color:#fffaf2}.button-ghost{border-color:var(--rule);background:#fbf7f0cc;color:var(--ink)}.button-danger{background:var(--clay);color:#fffaf2}.field{display:grid;gap:6px;color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.field input,.field textarea,.field select,.model-add-row input,input,textarea,select{width:100%;border:1px solid var(--rule);border-radius:8px;background:#fbf7f0db;color:var(--ink);padding:10px 12px;outline:none}.field textarea{min-height:96px;resize:vertical;text-transform:none;letter-spacing:0}.field small{font-weight:400;letter-spacing:0;text-transform:none}.field input:focus,.field textarea:focus,.field select:focus,.model-add-row input:focus{border-color:var(--ember);box-shadow:0 0 0 2px var(--paper),0 0 0 4px #b8472c52}.status-banner{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;background:var(--vellum)}.status-error{border-color:#9b3a2a59;background:#9b3a2a14;color:var(--clay)}.status-success{border-color:#4a604847;background:#4a604814;color:var(--moss)}.empty-state{display:grid;gap:10px;border:1px dashed var(--rule);border-radius:14px;padding:22px;color:var(--ink-2)}.empty-state h3{font-size:24px;color:var(--ink)}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:999px;background:var(--ember-soft);color:var(--ember);font-weight:700}.avatar-sm{width:30px;height:30px}.avatar-md{width:42px;height:42px}.avatar-lg{width:58px;height:58px;font-size:20px}.avatar-xl{width:76px;height:76px;font-size:30px}.chip{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--rule);border-radius:999px;background:#fbf7f0bf;color:var(--ink-2);padding:0 10px;font-size:12px;text-decoration:none}button.chip{cursor:pointer}.chip.selected{border-color:#b8472c73;background:var(--ember-soft);color:var(--ink)}.section-band{display:grid;gap:14px}.section-band-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-band-title h2{position:relative;width:100%;display:flex;align-items:center;gap:14px;font-size:24px}.section-band-title h2:after{content:"";height:1px;flex:1;background:var(--rule)}.date-stamp{display:grid;justify-items:center;min-width:52px;color:var(--ink)}.date-stamp strong{font-family:var(--font-display);font-size:24px;line-height:1}.date-stamp small{text-transform:uppercase}.language-toggle{display:inline-flex;width:max-content;overflow:hidden;border:1px solid var(--rule);border-radius:999px;background:#fbf7f0c2}.language-toggle button{border:0;background:transparent;padding:6px 10px;color:var(--ink-3)}.language-toggle button.active{background:var(--ink);color:var(--vellum)}.loading-state{min-height:100vh;display:grid;place-items:center;gap:14px;color:var(--ink-2)}.loading-state span{width:112px;height:4px;overflow:hidden;border-radius:999px;background:var(--paper-2)}.loading-state span:after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:var(--ember);animation:loading .9s infinite alternate cubic-bezier(.2,.7,.2,1)}@keyframes loading{0%{transform:translate(0)}to{transform:translate(130%)}}.mobile-topbar,.mobile-title-band,.mobile-tabbar{display:none}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1fr);background:var(--paper)}.auth-hero-panel{position:relative;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:var(--hero);color:#fff8ed;padding:clamp(28px,5vw,56px)}.auth-hero-panel:before,.auth-hero-panel:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(246,241,232,.07);border-radius:999px}.auth-hero-panel:before{top:-150px;left:-145px}.auth-hero-panel:after{right:-120px;bottom:95px}.auth-brand,.auth-hero-copy,.auth-hero-panel>small{position:relative;z-index:1}.auth-hero-copy{align-self:center;max-width:540px}.auth-hero-copy h1{font-family:var(--font-serif);font-size:clamp(34px,5vw,58px);font-style:italic;font-weight:500;letter-spacing:-.04em}.hero-rule{display:block;width:58px;height:1px;margin:30px 0;background:var(--ember-2)}.auth-hero-copy p{max-width:510px;color:#fff8ed9e}.auth-form-panel{position:relative;display:grid;place-items:center;padding:32px}.auth-locale{position:absolute;right:24px;top:20px}.auth-card{width:min(440px,100%);display:grid;gap:18px;justify-items:stretch}.auth-card-brand{justify-content:center;font-size:30px}.auth-subtitle,.telegram-helper,.auth-status,.auth-fallback-link{text-align:center;color:var(--ink-3)}.step-indicator{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:72px;margin:2px auto}.step-indicator span{height:2px;border-radius:999px;background:var(--rule)}.step-indicator span.active{background:var(--ember-2)}.auth-stack{display:grid;gap:14px}.otp-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:20px;letter-spacing:.24em;text-align:center}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;color:var(--ink-3);font-size:12px}.auth-divider span{height:1px;background:var(--rule)}.telegram-button{width:100%}.auth-inline-actions,.auth-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.auth-inline-actions button{border:0;background:transparent;color:var(--ink-3)}.auth-trust{color:var(--moss);font-size:12px}.auth-trust span+span:before{content:"•";margin-right:14px}.overview-hero{display:grid;gap:20px;min-height:260px;padding:clamp(26px,5vw,48px)}.overview-person{display:flex;align-items:start;justify-content:space-between;gap:20px}.overview-person h2{font-size:clamp(38px,7vw,64px)}.overview-person p{color:var(--ink-2);font-size:18px}.quiet-facts{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-3)}.overview-cta{width:max-content}.overview-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:32px;align-items:start}.editorial-list{display:grid}.editorial-list article{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--rule);padding:13px 0}.editorial-list strong{display:block}.readiness-card{display:grid;gap:14px}.readiness-track{overflow:hidden;height:5px;border-radius:999px;background:var(--paper-2)}.readiness-track span{display:block;height:100%;border-radius:inherit;background:var(--ember-2)}.contacts-layout{min-height:620px;display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--rule);border-radius:16px;background:#fbf7f075;box-shadow:var(--shadow-1)}.contacts-rail{border-right:1px solid var(--rule);background:#efe7d873;padding:16px}.search-field>span{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.contact-list{display:grid;margin-top:14px}.contact-list-item{width:calc(100% + 32px);margin-left:-16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:0;border-left:3px solid transparent;background:transparent;padding:12px 14px;text-align:left}.contact-list-item:hover,.contact-list-item.active{border-left-color:var(--ember);background:var(--vellum)}.contact-list-item span{display:grid}.contact-list-item em{color:var(--ember);font-size:12px;font-style:normal}.contact-dossier{padding:clamp(22px,4vw,42px)}.dossier-hero{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;border-bottom:1px solid var(--rule);padding-bottom:24px}.dossier-hero h2{font-size:clamp(36px,5vw,58px)}.meta-row,.dossier-actions,.inline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dossier-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;margin-top:28px;align-items:start}.dossier-main,.dates-panel,.editorial-form,.compact-form,.holiday-list{display:grid;gap:18px}.letter-card blockquote{font-size:18px}.facts-list{display:grid;gap:0}.facts-list article{display:grid;grid-template-columns:110px 1fr;gap:16px;border-bottom:1px solid var(--rule);padding:11px 0}.holiday-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border-bottom:1px solid var(--rule);padding:14px 0}.holiday-card .button{grid-column:2;width:max-content}.generation-preview{display:grid;gap:14px}.generation-preview p,.style-sample-card p,.admin-generation-card p{font-family:var(--font-serif);font-size:18px;font-style:italic}.generation-preview img{width:100%;border-radius:12px;border:1px solid var(--rule)}.upload-button{position:relative;overflow:hidden}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.event-composer-card{padding:22px}.event-composer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.event-composer h2,.event-composer .field:has(textarea){grid-column:1 / -1}.events-timeline{display:grid;gap:26px}.event-day-group{display:grid;gap:14px}.event-day-group h2{font-size:26px}.event-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.scheduled-event-card{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;border:1px solid var(--rule);border-radius:14px;background:var(--vellum);box-shadow:var(--shadow-1);padding:20px}.event-card-body{display:grid;gap:8px}.event-card-body span{width:max-content;border-radius:4px;background:var(--paper-2);padding:2px 6px;color:var(--ink-2);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.event-card-actions{grid-column:1 / -1;display:flex;gap:10px;border-top:1px solid var(--rule);padding-top:14px}.profile-layout{max-width:900px;margin:0 auto;display:grid;gap:28px}.profile-identity{display:grid;justify-items:center;gap:8px;text-align:center}.profile-identity h2{font-size:clamp(36px,6vw,58px)}.profile-voice-section{text-align:center}.section-lead{max-width:520px;margin:0 auto;color:var(--ink-2)}.style-sample-stack{display:grid;gap:16px}.style-sample-card{text-align:left;padding:26px 34px}.style-sample-card p:first-letter{font-family:var(--font-display);font-size:32px}.profile-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-secondary-grid .card{display:grid;gap:16px}.language-setting{display:flex;justify-content:space-between;gap:14px;align-items:center}.profile-save{justify-self:center}.admin-layout{display:grid;grid-template-columns:280px minmax(320px,1fr) 320px;min-height:680px;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:#fbf7f080}.admin-users,.admin-generations,.admin-models{display:grid;align-content:start;gap:18px;padding:22px}.admin-users,.admin-generations{border-right:1px solid var(--rule)}.admin-user-list,.generation-feed,.blacklist-list{display:grid;gap:10px}.admin-user-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:0;border-left:3px solid transparent;background:transparent;padding:10px;text-align:left}.admin-user-row:hover,.admin-user-row.active{border-left-color:var(--ember);background:var(--paper-2)}.admin-user-row span{display:grid}.admin-user-row em{border-radius:4px;background:var(--paper-2);padding:2px 5px;color:var(--ink-2);font-size:10px;font-style:normal}.admin-generation-card{display:grid;gap:12px}.generation-meta,.model-add-row{display:flex;gap:10px;justify-content:space-between;align-items:center}.generation-meta span{color:var(--ink-3);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.blacklist-card{display:grid;gap:12px}.blacklist-list button{display:flex;justify-content:space-between;border:0;border-radius:8px;background:var(--paper-2);padding:8px 10px;color:var(--ink-2)}.muted{color:var(--ink-3)}@media(max-width:1180px){.app-frame{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding-inline:12px}.sidebar .brand span,.nav-list a span:last-child,.user-chip div,.user-chip .button,.sidebar-bottom .language-toggle{display:none}.nav-list a{justify-content:center}.contacts-layout,.admin-layout{grid-template-columns:280px minmax(0,1fr)}.admin-models{grid-column:1 / -1;border-top:1px solid var(--rule)}.dossier-grid,.event-composer{grid-template-columns:1fr 1fr}}@media(max-width:820px){body{background:radial-gradient(circle at 18px 18px,rgba(28,26,23,.04) 1.4px,transparent 1.4px) 0 0 / 22px 22px,var(--paper)}.app-frame{display:block;padding-bottom:78px}.sidebar{display:none}.mobile-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);background:#f6f1e8f0;padding:14px 16px}.mobile-topbar-actions{display:flex;gap:10px;align-items:center}.mobile-title-band{display:block;border-bottom:1px solid var(--rule);background:var(--paper-2);padding:14px 16px;font-family:var(--font-display);font-size:28px}.mobile-tabbar{position:fixed;z-index:10;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);border-radius:20px;background:#fbf7f0f5;box-shadow:var(--shadow-2);padding:8px}.mobile-tabbar a{position:relative;display:grid;justify-items:center;gap:2px;border-radius:14px;padding:6px 2px;color:var(--ink-3);text-decoration:none}.mobile-tabbar a.active{color:var(--ink)}.mobile-tabbar a.active:after{content:"";width:5px;height:5px;border-radius:999px;background:var(--ember)}.app-content{padding:22px 16px 32px}.page-header{display:none}.auth-page{display:block}.auth-hero-panel{min-height:228px;padding:22px;border-radius:0 0 22px 22px}.auth-hero-copy{align-self:end}.auth-hero-copy h1{max-width:310px;font-size:26px}.auth-hero-copy p,.auth-hero-panel>small{display:none}.hero-rule{margin:20px 0 0}.auth-form-panel{display:block;padding:0 12px 28px}.auth-locale{right:18px;top:16px}.auth-card{margin:-22px auto 0;border-radius:14px;background:var(--vellum);box-shadow:var(--shadow-2);padding:22px}.overview-columns,.contacts-layout,.dossier-grid,.event-card-grid,.profile-secondary-grid,.admin-layout{grid-template-columns:1fr}.contacts-layout,.admin-layout{border-radius:0;border-inline:0}.contacts-rail,.admin-users,.admin-generations{border-right:0;border-bottom:1px solid var(--rule)}.dossier-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.meta-row,.dossier-actions{justify-content:center}.event-composer,.scheduled-event-card{grid-template-columns:1fr}}@media(max-width:520px){.card{padding:18px}.overview-person{display:grid}.overview-person h2,.dossier-hero h2,.profile-identity h2{font-size:34px}.facts-list article{grid-template-columns:1fr;gap:2px}.event-card-actions,.page-actions{display:grid}}
