/* Shared visual language for both content management screens. */
.admin-shell{--admin-line:#dce3ee;--admin-ink:#243665;--admin-blue:#344de2;--admin-radius:12px;background:#f4f6fa}
.admin-shell>header{height:76px;min-height:76px;background:#fff;border-bottom:1px solid var(--admin-line)}
.admin-shell>main{max-width:1400px;padding:32px 32px 64px}
.admin-shell .admin-page-nav{margin:0 0 24px;padding:0 0 16px;gap:8px}
.admin-shell .admin-page-nav a{padding:11px 18px;font-size:14px;font-weight:600}
.admin-shell .heading{min-height:88px;margin:0}.admin-shell .heading h1{font-size:28px;margin:5px 0 9px}.admin-shell .heading p:not(.eyebrow){color:#748095;font-size:13px}
.admin-shell #notice:empty{display:none}.admin-shell #notice:not(:empty),.admin-shell #home-message:not(:empty){padding:12px 16px;margin:0 0 24px;background:#eaf0ff;border:0;border-left:3px solid #465fff;border-radius:0 8px 8px 0;font-size:12px;line-height:1.8}
.admin-shell .admin-steps{margin:24px 0;padding:15px 18px;border-radius:10px}
.admin-shell .layout,.admin-shell #home-form{margin-top:0}
.admin-shell .project-editor{padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.admin-shell .project-editor>.editor-heading{background:#fff;border:1px solid var(--admin-line);border-radius:var(--admin-radius);padding:20px 28px;margin:0 0 24px}
.admin-shell #project-form,.admin-shell #photo-section,.admin-shell #home-fields>.home-block{background:#fff;border:1px solid var(--admin-line);border-radius:var(--admin-radius);padding:28px;box-shadow:0 3px 12px #18213904;overflow:hidden}
.admin-shell #photo-section{margin-top:28px}
.admin-shell #project-form>h3,.admin-shell #photo-section>h2,.admin-shell #home-fields>.home-block>h2{margin:-28px -28px 24px;padding:18px 26px;background:#edf1fa;border-bottom:1px solid var(--admin-line);border-left:4px solid #4259d8;color:var(--admin-ink);font-size:17px;font-weight:700;line-height:1.6;letter-spacing:-.02em}
.admin-shell #home-fields{gap:28px}
.admin-shell .grid label,.admin-shell .home-upload{font-size:13px}
.admin-shell .draft-panel,.admin-shell #home-form>.home-save{padding:26px;margin:28px 0 0;border:1px dashed #c6cfdf;border-radius:var(--admin-radius);background:#f9fafc;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.admin-shell .draft-panel h2{font-size:16px;margin:0;color:var(--admin-ink)}.admin-shell .draft-panel p{margin:0;font-size:12px}
.admin-shell .draft-panel>button{min-width:240px;padding:13px 24px;background:#fff;color:#25314b;border:1px solid #8995ab;border-radius:8px;font-size:13px;font-weight:600}
.admin-shell .project-editor>.actions+.help{font-size:12px;margin:12px auto 0;text-align:center}
.admin-shell #publish-panel,.admin-shell #home-publish-panel{padding:28px;margin-top:28px;border:1px solid #bdcbff;border-top:4px solid #4259d8;border-radius:var(--admin-radius);background:#eaf0ff}
.admin-shell .publish-panel h2{font-size:17px;margin:0 0 12px;color:#233eb5}.admin-shell .publish-panel>p{font-size:12px;line-height:1.8}.admin-shell .publish-panel .publish-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}
.admin-shell .publish-panel .publish-actions>*{padding:12px 18px;border-radius:7px;font-size:13px;line-height:1.5;text-align:center}.admin-shell .publish-actions a{background:#fff}.admin-shell .publish-panel .primary{background:var(--admin-blue);color:#fff;font-weight:700}
.admin-shell :is(#home-fields,#home-save,#home-publish-panel){scroll-margin-top:24px}
@media(max-width:800px){.admin-shell>main{padding:24px 20px 40px}.admin-shell .heading h1{font-size:24px}.admin-shell .admin-steps{padding:12px 8px}.admin-shell .admin-steps a{font-size:12px}}
@media(max-width:550px){.admin-shell>header{height:auto;padding:16px 14px;gap:12px}.admin-shell>main{padding:22px 14px 32px}.admin-shell .admin-page-nav a{font-size:13px;padding:10px 12px}.admin-shell .heading{min-height:80px}.admin-shell #project-form,.admin-shell #photo-section,.admin-shell #home-fields>.home-block{padding:22px 18px}.admin-shell #project-form>h3,.admin-shell #photo-section>h2,.admin-shell #home-fields>.home-block>h2{margin:-22px -18px 22px;padding:17px 16px;font-size:16px}.admin-shell .project-editor>.editor-heading{padding:18px}.admin-shell .draft-panel,.admin-shell #home-form>.home-save,.admin-shell #publish-panel,.admin-shell #home-publish-panel{padding:22px 18px}.admin-shell .draft-panel>button{min-width:0;width:100%}.admin-shell .publish-actions>*{width:100%}.admin-shell .admin-steps a{font-size:11px}}
/* A single, uncluttered entry point before authentication. */
.admin-shell #auth{width:100%;max-width:440px;margin:clamp(32px,8vh,96px) auto;padding:36px;background:#fff;border:1px solid var(--admin-line);border-radius:16px;box-shadow:0 12px 40px #18213908}
.admin-shell #auth .eyebrow{margin:0 0 12px}
.admin-shell #auth h1{font-size:28px;line-height:1.35;margin:0 0 12px}
.admin-shell #auth-help{font-size:14px;margin:0 0 28px;line-height:1.7}
.admin-shell #login-form{display:grid;gap:20px}
.admin-shell #login-form label{display:grid;gap:8px;font-size:14px;line-height:1.5}
.admin-shell #login-form input{margin:0;min-height:48px;padding:12px 14px;border-radius:8px}
.admin-shell #login-form button{width:100%;min-height:48px;margin:8px 0 0;border-radius:8px;font-weight:600}
@media(max-width:550px){.admin-shell #auth{padding:28px 22px;margin:32px auto}.admin-shell #auth h1{font-size:25px}}
.admin-shell:has(#auth:not([hidden]))>main{min-height:calc(100svh - 76px);display:flex;flex-direction:column;justify-content:center;padding:40px 24px}
.admin-shell #auth{max-width:460px;margin:0 auto;padding:40px;border-radius:20px;box-shadow:0 16px 48px #1821390a}
.admin-shell #auth h1{letter-spacing:-.04em}
.admin-shell #auth-help{margin-bottom:32px}
.admin-shell #login-form{gap:24px}
.admin-shell #login-form input{height:52px;font-size:16px}
.admin-shell #login-form button{height:52px;font-size:15px;margin-top:8px}
.admin-shell:has(#auth:not([hidden])) #notice:not(:empty){width:100%;max-width:460px;margin:20px auto 0}
@media(max-width:550px){.admin-shell:has(#auth:not([hidden]))>main{padding:28px 18px;justify-content:flex-start}.admin-shell #auth{margin:24px auto 0;padding:30px 24px}}
