@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171717;--muted:#737373;--line:#e8e7e4;--paper:#f7f7f5;--accent:#c4a46b}*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}h1,h2,h3,.navbar-brand{font-family:Manrope,sans-serif;letter-spacing:-.035em}.navbar{min-height:68px}.navbar-brand{letter-spacing:-.04em}.brand-mini,.brand-mark{display:inline-grid;place-items:center;background:#171717;color:white;font-family:Manrope,sans-serif;font-weight:800}.brand-mini{width:28px;height:28px;border-radius:9px;margin-right:8px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 10% 0%,#e8e2d6,transparent 42%),var(--paper)}.auth-card{width:min(100%,440px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:0 24px 80px #00000008}.brand-mark{width:48px;height:48px;border-radius:15px;font-size:24px;margin-bottom:26px}.eyebrow{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#8a744d}.auth-card h1{font-size:2.1rem;font-weight:800}.form-control,.form-select,.input-group-text{border-color:#deddd8;border-radius:10px;min-height:46px}.input-group .input-group-text{border-radius:10px 0 0 10px;background:#f4f3f0}.input-group .form-control{border-radius:0 10px 10px 0}.form-control:focus,.form-select:focus{border-color:#b79b67;box-shadow:0 0 0 .2rem #c4a46b25}.btn{border-radius:10px;font-weight:600}.btn-dark{background:#171717;border-color:#171717}.stat-card,.panel,.form-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.stat-card{display:flex;flex-direction:column;gap:6px}.stat-card span{color:var(--muted);font-size:.9rem}.stat-card strong{font-family:Manrope,sans-serif;font-size:2.5rem;letter-spacing:-.05em}.stat-card small{color:#96938d}.panel .table{margin-bottom:0}.table>:not(caption)>*>*{padding:14px 10px;border-bottom-color:#efeeeb}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#888;font-weight:700}.status-pill{display:inline-block;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700}.status-pill.published{background:#e4f5e9;color:#21663a}.status-pill.draft{background:#f2eee5;color:#7b6540}.empty-state{text-align:center;padding:52px 20px}.empty-icon{font-size:38px;margin-bottom:10px}.form-panel{padding:24px}.section-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:24px}.section-heading>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#f3f0e9;color:#8a744d;font-size:.78rem;font-weight:800}.section-heading h2{font-size:1.13rem;font-weight:800;margin:3px 0 4px}.section-heading p{color:var(--muted);font-size:.85rem;margin:0}.sticky-side{position:sticky;top:18px}.template-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-option{cursor:pointer;position:relative}.template-option input{position:absolute;opacity:0}.template-swatch{height:82px;border:2px solid transparent;border-radius:11px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px;overflow:hidden;position:relative}.template-swatch b{font-family:Manrope,sans-serif;font-size:19px;z-index:1}.template-swatch i{display:block;height:3px;width:65%;background:currentColor;opacity:.55;border-radius:4px}.template-swatch i:last-child{width:35%}.template-option input:checked+.template-swatch{border-color:#b79b67;box-shadow:0 0 0 2px #c4a46b30}.template-name{display:block;font-size:.79rem;font-weight:700;margin-top:7px}.swatch-1{background:#171411;color:#e4c27c}.swatch-2{background:#f2f0e9;color:#292820}.swatch-3{background:#f8e8e7;color:#9b555d}.swatch-4{background:#25272b;color:#e8e8e5}.swatch-5{background:#ffcf45;color:#292525}.swatch-6{background:#f0e9e0;color:#251d1a}.swatch-7{background:#dce5d6;color:#395541}.swatch-8{background:#15152b;color:#7df7f0}.swatch-9{background:#4b1e2b;color:#f0d9b8}.swatch-10{background:#dbe9ff;color:#234f8d}.current-hero img{width:100%;max-height:220px;object-fit:cover;border-radius:12px;display:block;margin-bottom:10px}.upload-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.upload-preview img,.gallery-admin-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.gallery-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gallery-admin-item{font-size:.76rem;cursor:pointer}.gallery-admin-item span{display:block;margin-top:5px}.gallery-admin-item input{margin-right:4px}.password-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f6f2e9,#ece8df)}.password-card{background:white;padding:42px;border-radius:22px;max-width:450px;width:100%;box-shadow:0 20px 80px #0000000c}.password-card h1{font-weight:800;font-size:2rem}.lock-icon{font-size:32px;margin-bottom:16px}@media(max-width:767px){.auth-card{padding:28px 22px}.form-panel,.panel{padding:18px}.sticky-side{position:static}.gallery-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Google Drive picker: responsive cards with bounded image previews. */
.drive-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;max-height:440px;overflow:auto;padding:2px}.drive-picker-item{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer}.drive-picker-item:has(input:checked){border-color:#171717;box-shadow:0 0 0 2px #17171714}.drive-picker-item input{position:absolute;z-index:2;top:12px;left:12px;width:18px;height:18px;accent-color:#111}.drive-picker-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#f3f4f6}.drive-picker-item span{font-size:12px;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.current-hero img{max-width:100%;width:260px;max-height:220px;object-fit:contain;background:#f3f4f6;border-radius:12px}.gallery-admin-item img{width:100%;aspect-ratio:1/1;object-fit:cover}
