*{box-sizing:border-box}body{margin:0;background:#f5f6f3;color:#1c2520;font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.install-page,.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.install-card,.login-card{width:min(820px,100%);background:#fff;padding:clamp(2rem,5vw,4rem);border-radius:20px;box-shadow:0 22px 70px #13251914}.login-card{width:min(470px,100%)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(2.3rem,5vw,4rem);margin:.2rem 0 1.5rem}h2{font-size:1.8rem}.eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#647269}.stack{display:grid;gap:1.1rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:1fr 1fr}.wide{grid-column:1/-1}label{display:grid;gap:.35rem;font-size:.8rem;font-weight:700;color:#46534b}input,textarea,select{width:100%;border:1px solid #d5dbd6;background:#fff;border-radius:9px;padding:.75rem .85rem;font:inherit;color:#1c2520}textarea{min-height:130px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #83a88f;outline-offset:1px}.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:9px;background:#294b38;color:#fff;padding:.75rem 1rem;font:700 .82rem system-ui;text-decoration:none;cursor:pointer}.button.secondary{background:#e9edea;color:#223029}.button.danger{background:#8a3838}.notice{padding:1rem;border-radius:10px;margin:1rem 0}.notice.success{background:#e7f5e9;color:#245f31}.notice.error{background:#faeaea;color:#8b2e2e}hr{border:0;border-top:1px solid #e4e8e5;margin:1.5rem 0}.admin-layout{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;background:#17251d;color:#eff5f0;padding:1.5rem 1rem;display:flex;flex-direction:column}.admin-brand{font:1.5rem Georgia,serif;padding:.5rem .6rem 1.6rem;text-decoration:none}.admin-nav{display:grid;gap:.2rem}.admin-nav a{padding:.7rem .8rem;border-radius:8px;text-decoration:none;color:#cbd6ce}.admin-nav a:hover,.admin-nav a.active{background:#ffffff12;color:#fff}.admin-account{margin-top:auto;border-top:1px solid #ffffff1c;padding:1rem .7rem 0;color:#aebdb3;font-size:.78rem}.admin-main{padding:clamp(1.5rem,4vw,4rem);max-width:1350px;width:100%}.admin-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.admin-top h1{font-size:clamp(2rem,4vw,3.4rem);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card,.panel{background:#fff;border:1px solid #e3e7e4;border-radius:14px;padding:1.35rem}.metric{font:2.8rem Georgia,serif;display:block}.muted{color:#708078}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #e3e7e4;border-radius:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid #edf0ee}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:#6d7a71}tr:last-child td{border-bottom:0}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;align-items:start}.editor-main,.editor-side{display:grid;gap:1rem}.toolbar{display:flex;gap:.25rem;flex-wrap:wrap;border:1px solid #d5dbd6;border-bottom:0;background:#f4f6f4;padding:.5rem;border-radius:9px 9px 0 0}.toolbar button{border:0;background:#fff;border-radius:5px;min-width:32px;height:30px;cursor:pointer}.rich-editor{background:#fff;border:1px solid #d5dbd6;border-radius:0 0 9px 9px;min-height:430px;padding:1.2rem;overflow:auto}.rich-editor:focus{outline:2px solid #83a88f}.rich-editor img{max-width:100%;height:auto}.color-row{display:flex;gap:.7rem}.color-row label{flex:1}.color-row input[type=color]{height:44px;padding:.2rem}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.8rem}.media-item{background:#fff;border:1px solid #e1e5e2;border-radius:10px;overflow:hidden}.media-item img{width:100%;aspect-ratio:1;object-fit:cover}.media-item code{display:block;font-size:.65rem;padding:.5rem;word-break:break-all}.preview-frame{width:100%;min-height:680px;border:1px solid #d8ded9;border-radius:10px;background:#fff}.campaign-status{display:inline-flex;padding:.2rem .55rem;border-radius:99px;background:#edf0ee;font-size:.7rem;text-transform:uppercase}.campaign-status.sent{background:#e2f3e5;color:#246130}.inline-form{display:flex;gap:.6rem;align-items:end}.inline-form label{flex:1}.login-error{color:#9d3131}.help{font-size:.8rem;color:#718078}.admin-menu-button{display:none}
.admin-layout{grid-template-columns:245px minmax(0,1fr)}.admin-main,.editor-layout,.editor-main,.editor-side,.panel{min-width:0}.editor-layout{width:100%}.editor-side img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:9px}.editor-side input[type=file]{min-width:0;max-width:100%}.checkbox-label{display:flex;align-items:center;gap:.55rem}.checkbox-label input[type=checkbox]{width:auto;margin:0;padding:0;accent-color:#294b38}
@media(max-width:960px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-nav{grid-template-columns:repeat(4,1fr)}.admin-account{display:none}.editor-layout{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.admin-main{padding:1.25rem}.grid.two{grid-template-columns:1fr}.wide{grid-column:auto}}
@media(max-width:620px){.install-page,.login-page{padding:.8rem}.install-card,.login-card{padding:1.4rem}.admin-nav{grid-template-columns:1fr 1fr}.admin-top{display:block}.inline-form{display:grid}.actions .button{flex:1}.media-grid{grid-template-columns:repeat(2,1fr)}}
.media-item{position:relative}.media-delete-form{position:absolute;z-index:2;top:.45rem;right:.45rem;margin:0}.media-delete-button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0 0 3px;border:1px solid #ffffffbb;border-radius:50%;background:#17251dcc;color:#fff;font:700 20px/1 system-ui;box-shadow:0 2px 9px #17251d55;cursor:pointer}.media-delete-button:hover,.media-delete-button:focus-visible{background:#9b3636;outline:2px solid #fff;outline-offset:1px}
