
.admin-body{min-height:100vh;background:#e9e3d8}
.admin-topbar{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}
.admin-top-actions{display:flex;align-items:center;gap:16px}.admin-top-actions a,.admin-link-btn{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;color:var(--ink)}
.admin-shell{max-width:1180px;margin:0 auto;padding:6vw 24px 90px}
.admin-auth-card{max-width:540px;margin:4vw auto;background:var(--white);border:1px solid var(--ink);padding:34px;box-shadow:10px 10px 0 var(--ink)}
.admin-auth-card h1,.admin-hero h1{font-family:Georgia,serif;font-size:clamp(46px,6vw,76px);line-height:.92;letter-spacing:-.045em;font-weight:500;margin:0 0 18px}
.admin-intro,.admin-auth-card>p{font-family:Georgia,serif;font-size:17px;color:#4f4a43}
.admin-form label{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin:16px 0}
.admin-form input,.admin-form select,.admin-form textarea,.settings-form input,.settings-form select,.settings-form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid var(--ink);background:#fffdf8}
.admin-divider{display:flex;align-items:center;gap:12px;margin:28px 0 14px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.13em}.admin-divider:before,.admin-divider:after{content:"";height:1px;background:var(--line);flex:1}
.setup-details{border-top:1px solid var(--line);padding-top:14px}.setup-details summary{font-size:11px;font-weight:900;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
.compact-form{padding-top:10px}.admin-message{font-family:Arial,sans-serif!important;font-size:11px!important;margin-top:16px!important;color:var(--red)!important}
.blocked-email{border:1px solid var(--ink);padding:12px;margin:20px 0;font-weight:900;word-break:break-word}
.admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.admin-subline{font-size:12px;color:var(--muted)}
.admin-status-pill{border:1px solid var(--ink);padding:10px 13px;font-size:9px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.admin-status-pill i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2f7e49;margin-right:6px}
.admin-stats-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);margin-bottom:25px;background:var(--paper)}
.admin-stats-row>div{padding:20px;border-right:1px solid var(--ink)}.admin-stats-row>div:last-child{border-right:0}.admin-stats-row span{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.admin-stats-row strong{font-family:Georgia,serif;font-size:24px;font-weight:500}
.admin-panel{background:var(--paper);border:1px solid var(--ink);padding:30px;margin-bottom:24px}.admin-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:26px}.admin-panel h2{font-family:Georgia,serif;font-size:40px;font-weight:500;letter-spacing:-.03em;line-height:1;margin:0}
.settings-form{max-width:720px}.settings-form label{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin:18px 0}.settings-form button{margin-top:4px}#settingsSaveState{font-size:9px;font-weight:900;letter-spacing:.08em;color:#2f7e49;text-transform:uppercase}
.admin-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-module{border:1px solid var(--line);padding:22px;min-height:230px;display:flex;flex-direction:column}.admin-module.coming-next{border-color:var(--ink);box-shadow:5px 5px 0 var(--ink)}.admin-module>span{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--red)}.admin-module h3{font-family:Georgia,serif;font-size:28px;margin:25px 0 8px}.admin-module p{font-size:12px;color:var(--muted)}.admin-module button{margin-top:auto;width:max-content;border:1px solid var(--line);background:transparent;padding:8px 10px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.admin-security{border-left:6px solid var(--ink)}.admin-security p:last-child{max-width:780px;color:var(--muted);font-size:13px}
@media(max-width:700px){.admin-topbar{padding:0 16px}.admin-shell{padding:40px 15px 70px}.admin-auth-card{padding:24px;box-shadow:6px 6px 0 var(--ink)}.admin-hero{display:block}.admin-status-pill{display:inline-block;margin-top:12px}.admin-stats-row{grid-template-columns:1fr}.admin-stats-row>div{border-right:0;border-bottom:1px solid var(--ink)}.admin-stats-row>div:last-child{border-bottom:0}.admin-module-grid{grid-template-columns:1fr}.admin-panel{padding:22px}.admin-panel-head{display:block}#settingsSaveState{display:block;margin-top:10px}}
/* Phase 2 portfolio manager */
#portfolioSaveState{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portfolio-upload-form{border:1px solid var(--ink);padding:22px;margin-bottom:38px;background:#fffdf8}.upload-drop{border:1px dashed var(--ink);padding:18px;margin-bottom:18px}.upload-drop label{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.upload-drop input{display:block;margin-top:9px;width:100%}.upload-drop p{font-size:10px;color:var(--muted);margin:10px 0 0}.portfolio-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.portfolio-form-grid label,.admin-portfolio-fields label{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin:10px 0}.portfolio-form-grid input,.portfolio-form-grid select,.admin-portfolio-fields input,.admin-portfolio-fields select{width:100%;margin-top:6px;padding:11px;border:1px solid var(--ink);background:#fff}.portfolio-form-grid .wide{grid-column:1/-1}.admin-check-row{display:flex;gap:18px;flex-wrap:wrap;margin:13px 0}.admin-check-row label{display:flex;align-items:center;gap:7px!important;margin:0!important;font-size:8px!important;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-check-row input{width:auto!important;margin:0!important}.upload-checks{margin-bottom:18px}.admin-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:28px;margin-bottom:17px}.admin-library-head h3{font-family:Georgia,serif;font-size:29px;font-weight:500;margin:3px 0 0}.admin-library-head a{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-portfolio-card{border:1px solid var(--ink);background:#fff}.admin-portfolio-image{height:310px;position:relative;background:#d8d0c4;overflow:hidden}.admin-portfolio-image img{width:100%;height:100%;object-fit:cover;display:block}.admin-card-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap}.admin-card-badges span{background:#efeae0;border:1px solid var(--ink);padding:6px 8px;font-size:7px;font-weight:900;letter-spacing:.09em}.admin-card-badges .is-live{background:#2f7e49;color:#fff;border-color:#2f7e49}.admin-card-badges .is-featured{background:var(--ink);color:var(--paper)}.admin-portfolio-fields{padding:16px}.admin-card-actions{display:flex;gap:8px;margin-top:14px}.admin-card-actions .btn{padding:10px 14px}.admin-empty{grid-column:1/-1;border:1px dashed var(--ink);padding:35px 20px;text-align:center;color:var(--muted);font-family:Georgia,serif;font-size:18px}
@media(max-width:800px){.admin-portfolio-grid{grid-template-columns:1fr}.admin-portfolio-image{height:min(80vw,430px)}}
@media(max-width:600px){.portfolio-form-grid{grid-template-columns:1fr}.portfolio-form-grid .wide{grid-column:auto}.admin-library-head{display:block}.admin-library-head a{display:inline-block;margin-top:12px}.admin-portfolio-image{height:105vw;max-height:460px}}
