:root{font-family:Inter,system-ui,sans-serif;color:#17251f;background:#f1efe7}
*{box-sizing:border-box}
body{margin:0}
header{background:#14231e;color:#fff;padding:1rem 4vw;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:2}
header img{width:48px;height:48px}
header nav{margin-left:auto;display:flex;gap:1rem}
a{color:inherit}
.wrap{max-width:1200px;margin:3rem auto;padding:0 1.2rem}
h1{font-family:Georgia,serif;font-size:3.4rem;margin-bottom:.25rem}
h2{font-family:Georgia,serif;font-size:2rem}
.intro{color:#5c675f}
.success,.alert{padding:1rem;background:#c9dc62;border-radius:12px}
section{margin:3rem 0}
.row{display:grid;grid-template-columns:1fr 1.5fr 1.3fr .7fr;gap:.5rem;margin:.5rem 0}
input,select{width:100%;padding:.8rem;border:1px solid #ccd0cb;border-radius:8px;background:#fff;font:inherit}
button{border:0;background:#14231e;color:#fff;border-radius:99px;padding:.9rem 1.3rem;font:inherit;font-weight:700;cursor:pointer}
.messages article{background:#fff;border-radius:16px;padding:1.3rem;margin:1rem 0}
.messages time{float:right;color:#68736c}
.messages .delete{background:#9d3d36;padding:.5rem .9rem}
.messages small{font:inherit;background:#c9dc62;border-radius:99px;padding:.2rem .7rem}
.login{display:grid;place-items:center;min-height:100vh;background:#14231e var(--login-image,url('../assets/images/hero-alps.webp')) center/cover no-repeat;position:relative}
.login:before{content:"";position:fixed;inset:0;background:rgba(10,25,33,.68)}
.login main{position:relative;width:min(420px,calc(100% - 2rem));background:rgba(247,249,249,.7);border:1px solid rgba(255,255,255,.48);border-radius:24px;padding:2.5rem;box-shadow:0 28px 80px rgba(0,0,0,.3);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.login img{display:block;width:100px;margin:0 auto 1rem}
.login h1{font-size:2.5rem}
.login label{display:block;margin:1.5rem 0}
.login input{display:block;margin-top:.4rem}
.login button{width:100%;margin-bottom:1.5rem}
@media(max-width:800px){.row{grid-template-columns:1fr}
.row:not(:last-child){border-bottom:1px solid #ccd0cb;padding-bottom:1.25rem;margin-bottom:1.25rem}
header strong{display:none}
h1{font-size:2.5rem}
.messages time{float:none;display:block;margin-top:.4rem}
}
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800;color:#5f7e91;margin-bottom:0}
header nav{flex-wrap:wrap;justify-content:flex-end}
header nav a{text-decoration:none;font-size:.78rem}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.section-heading h2{margin:0}
.secondary{background:#d8e0e1;color:#17251f}
.entry-list{display:grid;gap:1rem}
.entry-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;background:#fff;border-radius:18px;padding:1.25rem;box-shadow:0 8px 24px rgba(20,35,30,.06)}
.entry-row label,.settings-card label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.entry-row input,.entry-row select,.settings-card input,.settings-card select,.settings-card textarea{display:block;margin-top:.35rem}
.entry-row input[type=file]{font-size:.78rem;padding:.65rem}
.entry-preview{width:130px;height:80px;object-fit:cover;border-radius:10px}
.remove-entry{justify-self:end;align-self:end;background:transparent;color:#9d3d36;padding:.55rem .8rem;border:1px solid #d9aaa6}
.media-upload{display:flex;gap:.75rem;align-items:center;background:#fff;padding:1rem;border-radius:16px;margin:1.5rem 0}
.media-upload input{border:0}
.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.media-grid article{overflow:hidden;background:#fff;border-radius:16px}
.media-grid img{display:block;width:100%;height:150px;object-fit:cover}
.media-grid article>div{padding:1rem}
.media-grid strong,.media-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-grid form{margin-top:.8rem}
.media-replace{display:grid;gap:.55rem;padding-top:.8rem;border-top:1px solid #e1e5e5}
.media-replace label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#65747c;font-weight:700}
.media-replace input{margin-top:.35rem;padding:.55rem;font-size:.75rem}
.media-replace button{justify-self:start;padding:.65rem 1rem}
.settings-form{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem}
.settings-card{background:#fff;border-radius:18px;padding:1.5rem;display:grid;gap:1rem;align-content:start}
.settings-card h2{margin:0 0 .5rem}
.settings-card textarea{width:100%;padding:.8rem;border:1px solid #ccd0cb;border-radius:8px;background:#fff;font:inherit;resize:vertical}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.toggle{display:flex;align-items:center;gap:.7rem;background:#e8eff2;padding:.9rem;border-radius:10px}
.toggle input{width:auto;margin:0}
.settings-form>button{justify-self:start}
.appearance-card{grid-column:1/-1;grid-template-columns:1fr 1fr}
.appearance-card h2,.appearance-card>p{grid-column:1/-1}
.appearance-card>p{margin:0;color:#5c675f}
.appearance-field{display:grid;gap:.75rem;padding:1rem;border:1px solid #d7dbd7;border-radius:14px}
.appearance-field>strong{font-family:Georgia,serif;font-size:1.35rem}
.appearance-field img{width:100%;height:190px;object-fit:cover;border-radius:12px}
.team-settings{margin-top:3rem;padding-top:3rem;border-top:1px solid #d8dfe1}
.settings-section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}
.settings-section-head h2{margin:.2rem 0 0}
.settings-section-head>p{max-width:480px;color:#65747c}
.team-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.person-settings-head{display:flex;align-items:center;gap:1rem}
.person-settings-head img,.person-settings-head>div{display:grid;place-items:center;width:74px;height:88px;object-fit:cover;border-radius:12px;background:#dfe7ea;color:#5f7e91;font-family:Georgia,serif;font-size:2rem}
.person-settings-head h3{font-family:Georgia,serif;font-size:1.7rem;margin:0}
.person-settings label small{float:right;text-transform:none;letter-spacing:0}
.photo-hint{color:#65747c}
.messages .mail-status{display:block;background:transparent;border-radius:0;padding:0;color:#68736c;font-size:.75rem}
@media(max-width:1000px){.entry-row{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.settings-form{grid-template-columns:1fr}}
@media(max-width:650px){header{position:static}.entry-row,.settings-grid,.appearance-card{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.media-upload{align-items:stretch;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}}
.admin-shell{background:#eef1f2;color:#172631;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#111d25;color:#fff;padding:1.4rem;display:flex;flex-direction:column;z-index:20}
.admin-brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;padding:.3rem .4rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.12)}
.admin-brand img{width:58px;height:58px}
.admin-brand span{font-weight:750;letter-spacing:.04em}
.sidebar nav{display:grid;gap:.35rem;margin-top:1.5rem}
.sidebar nav a{display:flex;align-items:center;gap:.8rem;padding:.85rem .9rem;border-radius:12px;text-decoration:none;color:rgba(255,255,255,.7);font-size:.9rem}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(184,212,226,.14);color:#fff}
.sidebar nav a>span{width:22px;text-align:center;font-size:1.1rem}
.sidebar nav b{margin-left:auto;background:#b8d4e2;color:#172631;border-radius:99px;padding:.12rem .45rem;font-size:.68rem}
.sidebar-foot{display:grid;gap:.7rem;margin-top:auto;padding:.9rem;font-size:.78rem;color:rgba(255,255,255,.68)}
.admin-main{margin-left:250px;min-height:100vh}
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);color:#172631;padding:1rem 2rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #dce1e3;backdrop-filter:blur(12px)}
.topbar div{display:grid}
.topbar div span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#70808a}
.topbar div strong{font-size:1rem}
.topbar>a{margin-left:auto;font-size:.78rem;text-decoration:none}
.sidebar-toggle{display:none;padding:.55rem .7rem;border-radius:10px}
.admin-shell .wrap{max-width:1380px;margin:0 auto;padding:2.5rem clamp(1.2rem,3vw,3rem) 5rem}
.admin-shell .wrap>section{margin:0}
.admin-shell h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;margin:.2rem 0 .7rem}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}
.dashboard-grid a{display:grid;min-height:210px;padding:1.6rem;background:#fff;border:1px solid #dfe4e5;border-radius:22px;text-decoration:none;box-shadow:0 12px 35px rgba(23,38,49,.05);transition:.2s}
.dashboard-grid a:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(23,38,49,.1)}
.dashboard-grid span{font-family:Georgia,serif;font-size:3.3rem;color:#5f7e91}
.dashboard-grid strong{font-size:1.25rem;margin-top:auto}
.dashboard-grid small{color:#697880;margin-top:.35rem}
.content-group{margin:2.5rem 0 4rem}
.image-recommendation{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 2rem;padding:1rem 1.2rem;background:#e3ecef;border:1px solid #cadadd;border-radius:14px;color:#445761}
.image-recommendation strong{color:#172631}
.image-recommendation span{font-size:.88rem}
.entry-row{display:block;padding:0;border:1px solid #e0e5e5;box-shadow:0 10px 30px rgba(23,38,49,.04);overflow:hidden}
.entry-row label{margin:0;color:#65747c}
.entry-row input,.entry-row select,.entry-row textarea{width:100%;margin-top:.45rem;border:1px solid #d8dfe1;border-radius:10px;padding:.9rem;color:#172631;background:#fff;font:inherit;resize:vertical}
.entry-preview{width:100%;height:150px}
.entry-summary{display:grid;grid-template-columns:86px minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:.85rem 1rem}
.entry-summary img,.entry-placeholder{width:86px;height:64px;border-radius:10px;object-fit:cover}
.entry-placeholder{display:grid;place-items:center;background:#e8edef;color:#73818a;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.entry-summary>div:nth-child(2){display:grid;gap:.2rem;min-width:0}
.entry-summary strong,.entry-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entry-summary span{font-size:.82rem;color:#6b7980}
.entry-summary button{align-self:center;justify-self:stretch;min-width:118px;height:44px;padding:.65rem 1rem;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.entry-summary .remove-entry{align-self:center;justify-self:stretch;color:#8e4641}
.entry-dialog{width:min(680px,calc(100% - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:22px;background:#f7f8f7;color:#172631;box-shadow:0 28px 90px rgba(7,20,28,.35)}
.entry-dialog::backdrop{background:rgba(10,23,31,.62);backdrop-filter:blur(4px)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.6rem;border-bottom:1px solid #dce2e3;background:#fff}
.dialog-head span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#667780}
.dialog-head h3{font-family:Georgia,serif;font-size:1.8rem;margin:.15rem 0 0}
.dialog-head .close-entry{padding:.4rem;background:transparent;color:#172631;font-size:1.8rem}
.entry-fields{display:grid;gap:1.2rem;padding:1.6rem}
.image-fields{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:end;padding:1rem;background:#e8edef;border-radius:14px}
.image-fields>span{align-self:center;color:#75838a;font-size:.72rem;text-transform:uppercase}
.dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;padding:1.2rem 1.6rem;border-top:1px solid #dce2e3;background:#fff}
.settings-card{border:1px solid #e0e5e5;box-shadow:0 10px 30px rgba(23,38,49,.04)}
.settings-card label{margin:0;color:#65747c}
.settings-card input,.settings-card select,.settings-card textarea{border-color:#d8dfe1;border-radius:10px;padding:.9rem;color:#172631}
.smtp-test{justify-self:start;margin-top:.4rem}
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.security-card{display:block}
.security-card h2{margin:.8rem 0 .4rem}
.security-card>p{color:#65747c;margin:0 0 1.5rem}
.security-card form{display:grid;gap:1rem}
.security-card button{justify-self:start;margin-top:.6rem}
.card-heading{display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:#64747c}
.card-heading b{border-radius:99px;padding:.3rem .6rem;background:#dfe7ea;color:#53636b}
.card-heading b.enabled{background:#dcebdc;color:#315a39}
.secret-box{background:#e8eff2;border-radius:14px;padding:1rem;margin-bottom:1rem;display:grid;gap:.5rem}
.secret-box span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
.secret-box code{font-size:1rem;word-break:break-word}
.secret-box a{font-size:.78rem}
.danger{background:#943f3a}
.recovery-panel{margin-top:1rem;background:#fff4d7;border:1px solid #ead39b;border-radius:18px;padding:1.5rem}
.recovery-panel h2{margin-top:0}
.recovery-panel>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.recovery-panel code{background:#fff;padding:.7rem;border-radius:8px;text-align:center}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.admin-main{margin-left:0}.sidebar-toggle{display:block}.topbar{padding:.8rem 1rem}.dashboard-grid,.security-grid,.team-settings-grid{grid-template-columns:1fr}.settings-form{grid-template-columns:1fr}.recovery-panel>div{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dashboard-grid a{min-height:180px}.topbar>a{display:none}.image-recommendation,.settings-section-head{align-items:flex-start;flex-direction:column;gap:.25rem}.entry-summary{grid-template-columns:64px minmax(0,1fr)}.entry-summary img,.entry-placeholder{width:64px;height:54px}.entry-summary .edit-entry{grid-column:1}.entry-summary .remove-entry{grid-column:2}.image-fields{grid-template-columns:1fr}.image-fields>span{text-align:center}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}
