:root{--admin-green:#173f33;--admin-green2:#245d4d;--admin-gold:#c9963e;--admin-paper:#fffaf1;--admin-red:#a91f32;--admin-border:#ead8b6}
.admin-page{min-height:100vh;background:linear-gradient(rgba(247,239,226,.84),rgba(247,239,226,.96)),url('../assets/images/design/main-bg.webp') center/cover fixed;color:#2b3140}.admin-shell{width:min(1220px,calc(100% - 36px));margin:auto}.admin-topbar{background:rgba(22,55,45,.97);color:white;box-shadow:0 10px 30px rgba(0,0,0,.12)}.admin-topbar-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.admin-brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(201,150,62,.65);border-radius:50%;color:#f3d591}.admin-brand strong{font:700 25px/1 Georgia,serif;display:block}.admin-brand small{display:block;font-size:11px;opacity:.75;margin-top:3px;letter-spacing:.05em}.admin-topbar nav{display:flex;gap:10px}.admin-topbar nav a,.panel-head>a,.admin-back{color:inherit;text-decoration:none;font-weight:700;font-size:13px}.admin-topbar nav a{padding:9px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px}.admin-main{padding:48px 0 70px}.admin-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.admin-intro h1{font:700 clamp(38px,5vw,58px)/1 Georgia,serif;margin:5px 0 8px;color:#26342f}.admin-intro p{margin:0;color:#6f6a63}.admin-eyebrow{display:block;color:var(--admin-red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.16em}.admin-primary,.admin-secondary{appearance:none;border:0;cursor:pointer;border-radius:12px;padding:13px 17px;font-weight:800;font-size:14px}.admin-primary{background:linear-gradient(135deg,#8f1728,#c82d43);color:white;box-shadow:0 10px 22px rgba(169,31,50,.2)}.admin-secondary{background:var(--admin-green);color:white}.admin-new{text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}.admin-alert{padding:14px 16px;border-radius:14px;margin:0 0 20px;font-weight:700;font-size:14px}.admin-alert.success{background:#e8f5ef;border:1px solid #b7ddcb;color:#1b5a43}.admin-alert.error{background:#fff0f1;border:1px solid #efbec4;color:#8e1d2d}.admin-grid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(450px,1.4fr);gap:22px;align-items:start}.admin-panel{background:rgba(255,250,241,.97);border:1px solid var(--admin-border);border-radius:24px;padding:24px;box-shadow:0 16px 44px rgba(71,45,17,.11)}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}.panel-head h2{margin:4px 0 0;font:700 28px/1.05 Georgia,serif;color:#26342f}.panel-head>a{color:var(--admin-red)}.admin-form{display:grid;gap:15px}.admin-form label{font-size:13px;font-weight:800;color:#4d4a45;display:grid;gap:7px}.admin-form label small{font-weight:500;color:#898278}.admin-form input[type=text],.admin-form input[type=number],.admin-form input[type=password],.admin-form input[type=file],.admin-form select{width:100%;border:1px solid #d9c9ad;background:white;border-radius:12px;padding:12px 13px;font:inherit;color:#2b3140;outline:none}.admin-form input:focus,.admin-form select:focus{border-color:var(--admin-gold);box-shadow:0 0 0 3px rgba(201,150,62,.14)}.form-row{display:grid;gap:12px}.form-row.three{grid-template-columns:.7fr 1.3fr 1.2fr}.current-image{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;padding:12px;background:#f5ead7;border-radius:14px}.current-image img{width:110px;height:78px;object-fit:cover;border-radius:9px;border:3px solid white;box-shadow:0 6px 14px rgba(0,0,0,.1)}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important}.upload-label input{padding:9px!important}.birthday-admin-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:3px}.birthday-admin-row{display:grid;grid-template-columns:76px 1fr auto;gap:13px;align-items:center;background:#fffdf8;border:1px solid #eee1ca;border-radius:16px;padding:10px}.birthday-thumb{width:76px;height:58px;border-radius:10px;overflow:hidden;background:#f4e6ce;display:grid;place-items:center;color:var(--admin-red);font-size:28px}.birthday-thumb img{width:100%;height:100%;object-fit:cover}.birthday-admin-data{min-width:0}.birthday-admin-data strong{display:block;font:700 17px Georgia,serif;color:#26342f}.birthday-admin-data span{display:block;font-weight:800;font-size:13px;color:#756b60;margin-top:3px}.birthday-admin-data small{display:block;color:#9a8e82;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.birthday-admin-actions{display:flex;gap:7px;align-items:center}.birthday-admin-actions a,.birthday-admin-actions button{font:700 12px Inter,Segoe UI,Arial,sans-serif;border:1px solid #d8c6a8;background:white;border-radius:999px;padding:7px 9px;color:#5c5144;text-decoration:none;cursor:pointer}.birthday-admin-actions button{color:var(--admin-red)}.birthday-admin-actions form{margin:0}.password-panel{margin-top:22px}.password-form{grid-template-columns:repeat(3,1fr) auto;align-items:end}.admin-footer{text-align:center;padding:26px;color:#746b60;font:italic 14px Georgia,serif}
.login-page{display:grid;place-items:center;padding:30px}.admin-login-wrap{width:min(460px,100%)}.admin-login-card{background:rgba(255,250,241,.98);border:1px solid var(--admin-border);border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(67,41,15,.2)}.admin-login-card .admin-brand{color:#26342f;margin-bottom:34px}.admin-login-card h1{font:700 42px/1 Georgia,serif;color:#26342f;margin:7px 0 12px}.admin-login-card>p{color:#70685f;line-height:1.55;margin:0 0 22px}.login-form{margin-top:16px}.login-form .admin-primary{width:100%}.admin-back{display:inline-block;margin-top:22px;color:#796d61}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.password-form{grid-template-columns:1fr 1fr}.birthday-admin-list{max-height:none}.admin-intro{align-items:flex-start}}
@media(max-width:620px){.admin-shell{width:min(100% - 22px,1220px)}.admin-topbar-inner{min-height:72px}.admin-brand strong{font-size:21px}.admin-topbar nav a:first-child{display:none}.admin-main{padding-top:30px}.admin-intro{display:grid}.admin-panel{padding:18px;border-radius:20px}.form-row.three{grid-template-columns:1fr 1fr}.form-row.three label:last-child{grid-column:1/-1}.birthday-admin-row{grid-template-columns:62px 1fr}.birthday-thumb{width:62px;height:50px}.birthday-admin-actions{grid-column:1/-1;justify-content:flex-end}.password-form{grid-template-columns:1fr}.admin-login-card{padding:26px 21px}.admin-login-card h1{font-size:36px}}

/* Reminder settings */
.reminders-panel{margin-top:24px}.reminder-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800}.reminder-status.ready{background:#e5f3e8;color:#27603a}.reminder-status.pending{background:#fff1dc;color:#8a5216}.reminder-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px}.reminder-form{align-content:start}.reminder-fixed{grid-column:1/-1;padding:14px 16px;border-radius:12px;background:#f7f1e4;border:1px solid #ead9b7;display:flex;flex-direction:column;gap:3px}.reminder-fixed span{color:#6c6b61;font-size:.9rem}.reminder-form label small{display:block;color:#77756c;font-weight:400;margin-top:6px;line-height:1.35}.reminder-checks{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap;padding:4px 0}.reminder-checks .check{display:flex;align-items:center;gap:8px}.reminder-checks input{width:auto}.reminder-buttons{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.reminder-info{background:#fbf7ed;border:1px solid #eadfca;border-radius:16px;padding:20px}.reminder-info h3{font-family:Georgia,serif;color:#173c2c;margin:0 0 10px;font-size:1.2rem}.reminder-info p{color:#5a625d;line-height:1.55;margin:10px 0}.cron-box{background:#153c2d;color:white;border-radius:12px;padding:14px 16px;margin:16px 0;overflow:auto}.cron-box span{display:block;color:#e7cf90;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.cron-box code{white-space:nowrap;color:white}.reminder-info .hint{font-size:.88rem}.run-status{margin-top:16px;border-top:1px solid #e5d8c1;padding-top:14px;display:flex;flex-direction:column;gap:5px;font-size:.88rem;color:#5a625d}.run-status strong{color:#173c2c}.status-error{color:#9f2727!important;font-weight:700}@media(max-width:850px){.reminder-layout{grid-template-columns:1fr}}
