:root{--ink:#12110f;--paper:#f2eee5;--paper-2:#e6dfd2;--rust:#a3472f;--wine:#5f1e1c;--muted:#746e65;--line:rgba(18,17,15,.18);--serif:'Italiana','Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{margin:0}button,input,select{font:inherit}button,a{color:inherit}a{text-decoration:none}.admin-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:600;color:var(--rust);margin:0 0 1rem}.admin-login-page{min-height:100vh;background:var(--ink);display:grid;place-items:center;padding:2rem}.login-shell{width:min(100%,520px)}.login-card{background:var(--paper);padding:clamp(2rem,7vw,4.5rem)}.login-card>img{width:132px;height:96px;object-fit:contain;margin-bottom:2.5rem}.login-card h1,.dashboard-heading h1,.panel-heading h2,.detail-section h2,.client-editor h2{font:400 clamp(2.6rem,5vw,5rem)/.95 var(--serif);letter-spacing:-.03em;margin:0}.login-copy{color:var(--muted);margin:1.2rem 0 2rem}.admin-form{display:grid;gap:1.25rem}.admin-form label{display:grid;gap:.55rem;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:600}.admin-form input,.admin-form select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.75rem 0;border-radius:0;color:var(--ink);font-size:1rem;letter-spacing:0;text-transform:none;outline:none}.admin-form input:focus,.admin-form select:focus{border-bottom-color:var(--rust);box-shadow:0 1px 0 var(--rust)}.admin-form button,.email-action{border:0;background:var(--ink);color:#fff;min-height:52px;padding:0 1.2rem;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:600;cursor:pointer}.admin-form button:hover,.email-action:hover{background:var(--rust)}.back-site{display:inline-block;margin-top:2rem;color:var(--muted);font-size:.76rem}.admin-alert{padding:1rem 1.2rem;font-size:.82rem;margin:0 0 1.5rem}.admin-alert.error{background:#f0d9d4;color:#842918}.admin-alert.success{background:#dce7d8;color:#34532d}.admin-header{height:94px;padding:0 clamp(1.2rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(242,238,229,.92);backdrop-filter:blur(14px);z-index:20}.admin-brand img{width:112px;height:78px;object-fit:contain}.admin-session{display:flex;align-items:center;gap:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:600}.admin-session form{margin:0}.admin-session button{border:1px solid var(--ink);background:transparent;padding:.65rem .9rem;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;cursor:pointer}.admin-session button:hover{background:var(--ink);color:#fff}.admin-main{width:min(1440px,calc(100% - clamp(2rem,8vw,8rem)));margin:auto;padding:clamp(3rem,7vw,7rem) 0}.dashboard-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:4rem}.dashboard-heading>p{max-width:390px;color:var(--muted);font-size:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink);margin-bottom:2rem}.metrics-grid article{min-height:190px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:1.4rem;display:flex;flex-direction:column}.metrics-grid span{text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:600}.metrics-grid strong{font:400 clamp(3.5rem,6vw,6.2rem)/1 var(--serif);margin:auto 0 .6rem}.metrics-grid small{color:var(--muted);font-size:.72rem}.metrics-grid .accent{background:var(--paper-2)}.metrics-grid .dark{background:var(--ink);color:#fff}.metrics-grid .dark small{color:#b7b0a6}.dashboard-panel{border:1px solid var(--ink);padding:clamp(1.4rem,3vw,2.5rem);background:transparent}.traffic-panel{margin-bottom:2rem}.panel-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}.panel-heading h2,.detail-section h2,.client-editor h2{font-size:clamp(2rem,4vw,3.8rem)}.panel-heading>span{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.chart-legend{display:flex;gap:1.2rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.chart-legend span{display:flex;align-items:center;gap:.45rem}.chart-legend i{width:10px;height:10px;display:inline-block}.visitor-key,.visitor-bar{background:var(--ink)}.inquiry-key,.inquiry-bar{background:var(--rust)}.bar-chart{height:300px;display:grid;grid-template-columns:repeat(30,1fr);gap:clamp(2px,.35vw,6px);border-bottom:1px solid var(--line);align-items:end}.chart-day{height:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.bar-pair{height:260px;display:flex;align-items:flex-end;gap:2px}.bar-pair i{width:50%;min-height:0;display:block}.chart-day>span{font-size:.5rem;color:var(--muted);transform:rotate(-55deg);transform-origin:top left;white-space:nowrap;margin-top:.4rem;display:none}.chart-day:nth-child(5n+1)>span,.chart-day:last-child>span{display:block}.metric-note{margin:2rem 0 0;color:var(--muted);font-size:.72rem}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.rank-list{border-top:1px solid var(--line)}.rank-list>div{display:grid;grid-template-columns:42px 1fr auto;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding:1rem 0}.rank-list span{font-size:.6rem;color:var(--rust)}.rank-list strong{font-weight:500}.rank-list b{font:400 1.7rem var(--serif)}.consultations-panel .panel-heading{margin-bottom:2rem}.admin-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;text-transform:uppercase;letter-spacing:.11em;font-size:.57rem;padding:.8rem;border-bottom:1px solid var(--ink)}td{padding:1rem .8rem;border-bottom:1px solid var(--line);font-size:.78rem;vertical-align:middle}td strong,td small{display:block}td strong{font-weight:600}td small{color:var(--muted);margin-top:.2rem}.status{display:inline-block;padding:.4rem .6rem;text-transform:uppercase;letter-spacing:.08em;font-size:.52rem}.status.lead{border:1px solid var(--line)}.status.client{background:#dce7d8;color:#34532d}.table-action{font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.58rem}.table-action:hover{color:var(--rust)}.empty-state{color:var(--muted);font-size:.8rem;padding:1rem 0}.detail-main{max-width:1280px}.email-action{min-width:220px}.detail-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:2rem;align-items:start}.detail-content{padding:0}.detail-section{padding:clamp(1.5rem,4vw,3rem)}.detail-section+.detail-section{border-top:1px solid var(--ink)}dl{display:grid;grid-template-columns:1fr 1fr;margin:2rem 0 0;border-top:1px solid var(--line)}dl div{padding:1rem 0;border-bottom:1px solid var(--line)}dt{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.56rem}dd{margin:.35rem 0 0;font-size:.88rem}.project-copy{font-size:1rem;line-height:1.75;margin-top:2rem;white-space:normal}.client-editor{position:sticky;top:118px}.client-editor .admin-form{margin-top:2rem}.conversion-date{font-size:.72rem;color:var(--muted);margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:980px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.insights-grid,.detail-grid{grid-template-columns:1fr}.client-editor{position:static}.dashboard-heading{align-items:start}.bar-chart{height:250px}.bar-pair{height:210px}}
@media(max-width:640px){.admin-header{height:78px}.admin-brand img{width:90px;height:62px}.admin-session>span{display:none}.admin-main{width:calc(100% - 2rem);padding:3rem 0}.dashboard-heading{display:grid;margin-bottom:2.5rem}.dashboard-heading>p{margin:0}.dashboard-heading h1{font-size:3.2rem}.metrics-grid{grid-template-columns:1fr}.metrics-grid article{min-height:155px}.panel-heading{display:grid;align-items:start;margin-bottom:2rem}.chart-legend{flex-wrap:wrap}.bar-chart{overflow:hidden}.insights-grid{gap:1rem}.admin-session{gap:.7rem}.email-action{min-width:0}.detail-main .dashboard-heading{gap:1.5rem}.login-card{padding:2rem}.dashboard-panel{padding:1.2rem}.detail-content{padding:0}dl{grid-template-columns:1fr}}

.admin-nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem);text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;font-weight:600}.admin-nav a{padding:.7rem 0;border-bottom:1px solid transparent}.admin-nav a:hover,.admin-nav a.active{color:var(--rust);border-bottom-color:currentColor}.cms-main{max-width:1440px}.cms-form{display:grid;grid-template-columns:230px 1fr;gap:2rem;align-items:start}.cms-index{position:sticky;top:120px;display:grid;border-top:1px solid var(--ink)}.cms-index>a{padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.72rem}.cms-index>a:hover{color:var(--rust)}.cms-index button,.cms-save-bar button{border:0;background:var(--ink);color:#fff;min-height:50px;padding:0 1rem;margin-top:1rem;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em;font-size:.63rem;font-weight:600;cursor:pointer}.cms-sections,.editor-form{display:grid;gap:2rem}.cms-section{scroll-margin-top:120px}.cms-section .panel-heading{margin-bottom:2rem}.cms-fields,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem}.cms-fields label,.form-grid>label{display:grid;gap:.55rem;align-content:start}.cms-fields label>span,.form-grid>label,.form-grid legend{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600}.cms-fields input:not([type=file]),.cms-fields textarea,.form-grid input:not([type=file]),.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.28);padding:.85rem;color:var(--ink);font:400 .9rem/1.5 var(--sans);letter-spacing:0;text-transform:none;border-radius:0}.cms-fields textarea,.form-grid textarea{resize:vertical}.cms-fields input:focus,.cms-fields textarea:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid var(--rust);outline-offset:1px}.cms-image-field{grid-column:span 1}.cms-image-preview{height:180px;background:var(--paper-2);display:grid;place-items:center;padding:1rem}.cms-image-preview img{max-width:100%;max-height:100%;object-fit:contain}.cms-image-field small,.form-grid small{font-size:.65rem;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}.cms-save-bar{position:sticky;bottom:1rem;background:var(--paper-2);border:1px solid var(--ink);padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;z-index:10}.cms-save-bar>span{font-size:.72rem;color:var(--muted)}.cms-save-bar button{margin:0;min-width:220px}.editor-main{max-width:1100px}.editor-form .dashboard-panel{padding:clamp(1.5rem,4vw,3rem)}.form-grid .full,.form-grid fieldset.full{grid-column:1/-1}.editor-image-current{width:min(280px,100%);margin-bottom:2rem;background:var(--paper-2);padding:1rem}.editor-image-current img{width:100%;aspect-ratio:4/5;object-fit:cover}.editor-image-current.book-cover{width:210px}.editor-image-current.book-cover img{aspect-ratio:2/3}.admin-checks{display:flex;flex-wrap:wrap;gap:.7rem}.admin-checks label{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);padding:.7rem .9rem;font-size:.72rem}.table-identity{display:flex;gap:.8rem;align-items:center}.table-identity img{width:44px;height:52px;object-fit:cover;background:var(--paper-2)}.table-identity.book img{height:62px}.table-identity span{display:block}.cms-save-bar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.admin-nav{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fff;z-index:40;justify-content:space-around;padding:.5rem}.admin-nav a{padding:.55rem .2rem}.admin-main{padding-bottom:6rem}.cms-form{grid-template-columns:1fr}.cms-index{position:static;grid-template-columns:repeat(2,1fr)}.cms-index .admin-eyebrow,.cms-index button{grid-column:1/-1}.cms-index>a{padding:.7rem}.cms-index button{display:none}}
@media(max-width:640px){.cms-fields,.form-grid{grid-template-columns:1fr}.cms-image-field,.form-grid .full,.form-grid fieldset.full{grid-column:1}.cms-save-bar{bottom:3.8rem;display:grid;gap:.8rem}.cms-save-bar button{min-width:0;width:100%}.admin-session button{padding:.55rem .65rem}.admin-nav{font-size:.52rem}}

/* Compact image controls inside the content manager */
.cms-fields .cms-image-field{grid-column:1/-1;border:1px solid var(--line);padding:1rem;background:rgba(255,255,255,.2);overflow:hidden}.cms-image-link{width:min(100%,320px);display:flex;align-items:center;gap:1rem;padding:.6rem;border:1px solid var(--line);background:var(--paper-2);overflow:hidden}.cms-image-link img{display:block!important;flex:0 0 72px!important;width:72px!important;height:54px!important;min-width:72px!important;max-width:72px!important;max-height:54px!important;object-fit:contain;background:#fff}.cms-image-link>span{display:grid;gap:.15rem;min-width:0}.cms-image-link strong{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.cms-image-link small{font-size:.63rem;color:var(--muted);text-transform:none;letter-spacing:0}.cms-image-link:hover{border-color:var(--rust);color:var(--rust)}.cms-image-field input[type=file]{max-width:520px}
.status.demo{background:#ead8bc;color:#6b451b;margin-left:.35rem}

/* Shared administration header; portals keep their own navigation. */
.admin-management-header{height:auto;min-height:94px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:'brand session' 'navigation navigation';gap:0 1rem;padding-top:.35rem;padding-bottom:.35rem}
.admin-management-header .admin-brand{grid-area:brand}.admin-management-header .admin-nav{grid-area:navigation;position:static;inset:auto;background:transparent;color:var(--ink);justify-content:flex-start;flex-wrap:wrap;gap:.2rem clamp(.8rem,2vw,2rem);padding:.25rem 0}
.admin-management-header .admin-session{grid-area:session;justify-self:end;gap:1rem}.admin-management-header .admin-session>span{display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-management-header .admin-session button{white-space:nowrap}
@media(max-width:640px){.admin-management-header .admin-brand img{width:88px;height:62px}.admin-management-header .admin-session{gap:.6rem}.admin-management-header .admin-session>span{max-width:100px}.admin-management-header .admin-nav{font-size:.6rem;gap:.2rem 1rem}.admin-management-header .admin-nav a{padding:.55rem 0}}
