:root {
  --moss: #2d4a2d; --heather: #7b4f6b; --slate: #3a4a52;
  --burn: #5c8a6a; --mist: #b8c9c0; --peat: #1a1410;
  --cream: #f2ede6; --gold: #c8993a; --loch: #2a4a5e; --birch: #e8dfc8;
  --done-bg: rgba(92,138,106,0.07); --done-border: rgba(92,138,106,0.25);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{background:var(--peat);color:var(--cream);font-family:'Source Serif 4',serif;font-weight:300;min-height:100vh;overflow-x:hidden;}

a{color:var(--gold);text-decoration:none;transition:color .2s;}
a:hover{color:var(--cream);}

img{max-width:100%;height:auto;}
button{cursor:pointer;font-family:inherit;}

/* ── NAV ── */
.site-nav{background:rgba(26,20,16,.92);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:1000;backdrop-filter:blur(12px);}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--cream) !important;letter-spacing:-.02em;}
.nav-links{display:flex;align-items:center;gap:8px;}
.nav-links a{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:2px;color:var(--mist);transition:all .2s;}
.nav-links a:hover{background:rgba(200,153,58,.1);color:var(--gold);}
.nav-links .nav-admin{color:var(--heather);border:1px solid rgba(123,79,107,.3);}
.nav-links .nav-admin:hover{border-color:var(--heather);color:#d4a0c0;}
.nav-user{font-family:'Space Mono',monospace;font-size:.58rem;color:rgba(255,255,255,.25);padding:0 8px;letter-spacing:.1em;text-transform:uppercase;}
.nav-toggle{display:none;background:none;border:none;color:var(--cream);font-size:1.4rem;padding:4px 8px;}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:60px 20px;background:radial-gradient(ellipse at 20% 80%,rgba(44,74,46,.4) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(42,74,94,.4) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(123,79,107,.15) 0%,transparent 70%),var(--peat);}
.hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.012) 2px,rgba(255,255,255,.012) 4px);pointer-events:none;}
.hero-eyebrow{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;margin-bottom:28px;opacity:0;animation:fadeUp .8s .2s ease forwards;}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3rem,10vw,7rem);font-weight:900;line-height:.9;letter-spacing:-.02em;color:var(--cream);opacity:0;animation:fadeUp .9s .4s ease forwards;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-subtitle{font-size:clamp(1rem,2.2vw,1.3rem);color:var(--mist);margin-top:24px;max-width:620px;line-height:1.7;opacity:0;animation:fadeUp .9s .6s ease forwards;}
.hero-meta{display:flex;gap:40px;margin-top:50px;flex-wrap:wrap;justify-content:center;opacity:0;animation:fadeUp .9s .8s ease forwards;}
.meta-item{text-align:center;}
.meta-num{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;color:var(--gold);display:block;}
.meta-label{font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--mist);text-transform:uppercase;}
.hero-cta{margin-top:40px;opacity:0;animation:fadeUp .9s 1s ease forwards;}
.hero-cta .btn{display:inline-block;font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:14px 32px;border-radius:2px;border:2px solid var(--gold);color:var(--gold);background:transparent;transition:all .25s;margin:0 8px;}
.hero-cta .btn:hover{background:var(--gold);color:var(--peat);}
.hero-cta .btn-primary{background:var(--gold);color:var(--peat);border-color:var(--gold);}
.hero-cta .btn-primary:hover{background:transparent;color:var(--gold);}
.scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.3em;color:var(--mist);opacity:0;animation:fadeUp 1s 1.2s ease forwards,bob 2s 2.2s ease-in-out infinite;text-transform:uppercase;}

/* ── PAGE HEADER ── */
.page-header{padding:60px 20px 30px;text-align:center;}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,6vw,3.5rem);font-weight:900;color:var(--cream);}
.page-subtitle{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-top:10px;}

/* ── MAIN CONTENT ── */
.main-content{min-height:calc(100vh - 120px);}

/* ── SECTIONS ── */
.section{padding:60px 20px;}
.section-dark{background:rgba(255,255,255,.02);}
.section-inner{max-width:1100px;margin:0 auto;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--cream);margin-bottom:10px;}
.section-sub{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:40px;}

/* ── CARD GRID ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px;}

.card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);padding:0;position:relative;overflow:hidden;transition:background .2s,transform .2s;}
.card:hover{background:rgba(255,255,255,.04);}
.card-accent{position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .3s ease;}
.card:hover .card-accent{height:100%;}
.card-body{padding:26px 26px 20px;}
.card-title{font-family:'Playfair Display',serif;font-size:1.12rem;font-weight:700;color:var(--cream);line-height:1.3;margin-bottom:6px;}
.card-meta{font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.12em;color:var(--mist);text-transform:uppercase;margin-bottom:10px;}
.card-desc{font-size:.82rem;color:rgba(242,237,230,.62);line-height:1.65;}
.card-footer{padding:0 26px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.card-btn{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;padding:6px 12px;border-radius:2px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--mist);cursor:pointer;transition:all .2s;text-transform:uppercase;}
.card-btn:hover{background:rgba(200,153,58,.1);border-color:rgba(200,153,58,.3);color:var(--gold);}

/* ── PROGRESS BAR ── */
.progress-wrap{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);padding:18px 40px;position:sticky;top:60px;z-index:100;backdrop-filter:blur(12px);}
.progress-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.progress-label{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.2em;color:var(--mist);text-transform:uppercase;white-space:nowrap;}
.progress-bar-track{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:2px;min-width:100px;}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--burn),var(--gold));border-radius:2px;transition:width .4s ease;}
.progress-count{font-family:'Space Mono',monospace;font-size:.65rem;color:var(--gold);white-space:nowrap;}
.progress-actions{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap;}
.top-btn{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--mist);padding:6px 12px;border-radius:2px;cursor:pointer;transition:all .2s;}
.top-btn:hover{background:rgba(200,153,58,.15);border-color:var(--gold);color:var(--gold);}
.top-btn.danger:hover{background:rgba(200,60,60,.15);border-color:#e05555;color:#e09090;}

/* ── LEGEND ── */
.legend-bar{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06);padding:16px 40px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;}
.legend-label{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.15em;color:var(--mist);text-transform:uppercase;}
.legend-items{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.badge{display:inline-flex;align-items:center;gap:5px;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.08em;padding:4px 10px;border-radius:2px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:opacity .2s;}
.badge:hover{opacity:.75;}
.badge-coast{background:rgba(42,74,94,.6);color:#8fc4d8;border:1px solid rgba(143,196,216,.3);}
.badge-highland{background:rgba(44,74,46,.6);color:#8fba90;border:1px solid rgba(143,186,144,.3);}
.badge-island{background:rgba(123,79,107,.5);color:#d4a0c0;border:1px solid rgba(212,160,192,.3);}
.badge-glen{background:rgba(92,138,106,.4);color:#a8d4b0;border:1px solid rgba(168,212,176,.3);}
.badge-loch{background:rgba(58,74,82,.7);color:#a0b8c4;border:1px solid rgba(160,184,196,.3);}
.badge-rest{background:rgba(200,153,58,.2);color:var(--gold);border:1px solid rgba(200,153,58,.4);}

/* ── REGION CHAPTER ── */
.region-chapter{padding:70px 0 30px;}
.region-header{padding:0 40px 36px;border-bottom:1px solid rgba(255,255,255,.06);max-width:1100px;margin:0 auto;display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.region-num{font-family:'Playfair Display',serif;font-size:5rem;font-weight:900;line-height:1;color:rgba(255,255,255,.06);flex-shrink:0;}
.region-info{flex:1;min-width:200px;}
.region-name{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--cream);}
.region-tagline{font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-top:6px;}
.region-days-range{font-family:'Space Mono',monospace;font-size:.7rem;color:var(--mist);letter-spacing:.1em;margin-left:auto;padding-bottom:8px;}

/* ── DAYS GRID ── */
.days-grid{max-width:1100px;margin:0 auto;padding:36px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2px;}

/* ── DAY CARD ── */
.day-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);padding:0;position:relative;overflow:hidden;transition:background .2s,transform .2s;}
.day-card.rest-day{background:rgba(200,153,58,.06);border-color:rgba(200,153,58,.15);}
.day-card.done{background:var(--done-bg) !important;border-color:var(--done-border) !important;opacity:.75;}
.day-card.done .day-title{text-decoration:line-through;text-decoration-color:var(--burn);opacity:.7;}
.card-accent{position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .3s ease;}
.day-card:hover .card-accent,.day-card.expanded .card-accent{height:100%;}
.day-card.done .card-accent{background:var(--burn);height:100%;}
.card-body{padding:26px 26px 20px;cursor:pointer;}
.day-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:10px;}
.day-num{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;flex-shrink:0;}
.day-title{font-family:'Playfair Display',serif;font-size:1.12rem;font-weight:700;color:var(--cream);line-height:1.3;margin-bottom:8px;}
.day-location{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;color:var(--mist);text-transform:uppercase;margin-bottom:12px;}
.day-desc{font-size:.86rem;color:rgba(242,237,230,.68);line-height:1.7;margin-bottom:14px;}
.card-actions{display:flex;align-items:center;gap:10px;padding:0 26px 16px;flex-wrap:wrap;}
.expand-btn{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.15em;color:var(--burn);text-transform:uppercase;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:5px;transition:color .2s;}
.expand-btn:hover{color:var(--gold);}
.expand-arrow{display:inline-block;transition:transform .25s;}
.day-card.expanded .expand-arrow{transform:rotate(90deg);}
.check-btn{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.1em;padding:5px 10px;border-radius:2px;border:1px solid rgba(92,138,106,.4);background:rgba(92,138,106,.1);color:#8fba90;cursor:pointer;transition:all .2s;text-transform:uppercase;}
.check-btn:hover{background:rgba(92,138,106,.25);border-color:var(--burn);}
.day-card.done .check-btn{background:rgba(92,138,106,.2);border-color:var(--burn);color:var(--burn);}
.edit-btn{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.1em;padding:5px 10px;border-radius:2px;border:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(255,255,255,.3);cursor:pointer;transition:all .2s;text-transform:uppercase;margin-left:auto;}
.edit-btn:hover{background:rgba(200,153,58,.1);border-color:rgba(200,153,58,.3);color:var(--gold);}

/* ── DAY DETAILS ── */
.day-details{display:none;padding:0 26px 22px;border-top:1px solid rgba(255,255,255,.06);margin-top:4px;animation:fadeIn .25s ease;}
.day-card.expanded .day-details{display:block;}
.stats-row{display:flex;gap:10px;margin:18px 0 14px;flex-wrap:wrap;}
.stat-item{flex:1;min-width:70px;background:rgba(0,0,0,.2);padding:8px 10px;border-radius:2px;}
.stat-val{font-family:'Space Mono',monospace;font-size:.82rem;color:var(--cream);font-weight:700;display:block;}
.stat-key{font-family:'Space Mono',monospace;font-size:.52rem;letter-spacing:.12em;color:var(--mist);text-transform:uppercase;}
.detail-section{margin-bottom:14px;}
.detail-label{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;}
.detail-text{font-size:.82rem;color:rgba(242,237,230,.78);line-height:1.65;}
.detail-text ul{list-style:none;padding:0;}
.detail-text ul li{padding:2px 0;}
.detail-text ul li::before{content:'→ ';color:var(--burn);font-size:.75rem;}
.detail-note-text{font-size:.82rem;color:var(--heather);line-height:1.65;}

/* ── NOTES ── */
.notes-section{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05);}
.notes-label{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.18em;color:var(--heather);text-transform:uppercase;margin-bottom:8px;}
.notes-display{font-size:.82rem;color:rgba(212,160,192,.85);line-height:1.65;min-height:20px;cursor:text;white-space:pre-wrap;}
.notes-display.empty{color:rgba(255,255,255,.2);font-style:italic;}
.notes-input{width:100%;background:rgba(123,79,107,.1);border:1px solid rgba(123,79,107,.3);color:var(--cream);font-family:'Source Serif 4',serif;font-size:.82rem;line-height:1.65;padding:10px;border-radius:2px;resize:vertical;min-height:80px;outline:none;}
.notes-input:focus{border-color:rgba(212,160,192,.5);}
.notes-save-row{display:flex;gap:8px;margin-top:6px;}
.notes-save-btn,.btn-save{font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.12em;padding:5px 10px;border-radius:2px;border:1px solid rgba(123,79,107,.4);background:rgba(123,79,107,.15);color:#d4a0c0;cursor:pointer;text-transform:uppercase;transition:all .2s;}
.notes-save-btn:hover{background:rgba(123,79,107,.3);}
.notes-cancel-btn{font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.12em;padding:5px 10px;border-radius:2px;border:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(255,255,255,.3);cursor:pointer;text-transform:uppercase;transition:all .2s;}
.notes-cancel-btn:hover{color:var(--cream);}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(10,8,6,.85);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:#1e1810;border:1px solid rgba(200,153,58,.25);border-radius:4px;padding:36px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;transform:translateY(16px);transition:transform .25s;}
.modal-overlay.open .modal{transform:translateY(0);}
.modal-title{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--cream);margin-bottom:6px;}
.modal-sub{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase;margin-bottom:28px;}
.modal-text{font-size:.88rem;color:rgba(242,237,230,.7);line-height:1.7;margin-bottom:20px;}
.field-group{margin-bottom:20px;}
.field-label{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.15em;color:var(--mist);text-transform:uppercase;margin-bottom:8px;display:block;}
.field-input,.field-textarea,.field-select{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--cream);font-family:'Source Serif 4',serif;font-size:.9rem;padding:10px 12px;border-radius:2px;outline:none;transition:border-color .2s;}
.field-input:focus,.field-textarea:focus,.field-select:focus{border-color:rgba(200,153,58,.5);}
.field-textarea{resize:vertical;min-height:80px;line-height:1.6;}
.field-select{appearance:none;cursor:pointer;}
.field-select option{background:#1e1810;}
.field-hint{font-size:.7rem;color:rgba(255,255,255,.3);margin-top:4px;}
.modal-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap;}
.modal-save{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.15em;padding:10px 20px;border-radius:2px;border:none;background:var(--gold);color:var(--peat);cursor:pointer;text-transform:uppercase;font-weight:700;transition:opacity .2s;}
.modal-save:hover{opacity:.85;}
.modal-cancel{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.15em;padding:10px 20px;border-radius:2px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--mist);cursor:pointer;text-transform:uppercase;transition:all .2s;}
.modal-cancel:hover{border-color:rgba(255,255,255,.25);color:var(--cream);}
.modal-delete{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.15em;padding:10px 20px;border-radius:2px;border:1px solid rgba(200,80,80,.3);background:transparent;color:#e09090;cursor:pointer;text-transform:uppercase;margin-left:auto;transition:all .2s;}
.modal-delete:hover{background:rgba(200,80,80,.15);border-color:#e05555;}

/* ── ADD DAY ── */
.add-day-btn{width:100%;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.1);color:rgba(255,255,255,.25);font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:24px;cursor:pointer;transition:all .2s;margin-top:2px;}
.add-day-btn:hover{background:rgba(200,153,58,.06);border-color:rgba(200,153,58,.3);color:var(--gold);}

/* ── CHAPTER DIVIDER ── */
.chapter-divider{max-width:1100px;margin:10px auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,153,58,.25),transparent);}

/* ── BANNER ── */
.info-banner{background:rgba(92,138,106,.1);border:1px solid rgba(92,138,106,.25);border-left:4px solid var(--burn);padding:24px 28px;max-width:1100px;margin:40px auto 30px;}
.info-banner-title{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.22em;color:var(--burn);text-transform:uppercase;margin-bottom:10px;}
.info-banner-text{font-size:.85rem;color:rgba(242,237,230,.78);line-height:1.7;}

/* ── TIPS GRID ── */
.tips-section{max-width:1100px;margin:0 auto;padding:50px 20px 70px;}
.tips-heading{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--cream);margin-bottom:6px;}
.tips-sub{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:36px;}
.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px;}
.tip-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);padding:22px;}
.tip-icon{font-size:1.5rem;margin-bottom:10px;display:block;}
.tip-title{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--cream);margin-bottom:8px;}
.tip-text{font-size:.8rem;color:rgba(242,237,230,.62);line-height:1.68;}

/* ── FORMS (standalone) ── */
.form-page{max-width:440px;margin:80px auto;padding:0 20px;}
.form-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);padding:36px;border-radius:4px;}
.form-title{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--cream);margin-bottom:6px;text-align:center;}
.form-sub{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase;margin-bottom:28px;text-align:center;}
.form-actions{display:flex;gap:10px;margin-top:24px;flex-direction:column;}
.form-btn{font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.2em;padding:12px 24px;border-radius:2px;border:2px solid var(--gold);color:var(--peat);background:var(--gold);cursor:pointer;text-transform:uppercase;font-weight:700;transition:all .2s;width:100%;}
.form-btn:hover{background:transparent;color:var(--gold);}
.form-foot{text-align:center;margin-top:20px;font-size:.8rem;color:rgba(255,255,255,.4);}
.form-foot a{color:var(--gold);}
.form-error{background:rgba(200,60,60,.12);border:1px solid rgba(200,60,60,.3);color:#e09090;padding:10px 14px;border-radius:2px;margin-bottom:20px;font-size:.82rem;text-align:center;}
.form-success{background:rgba(92,138,106,.12);border:1px solid rgba(92,138,106,.3);color:#8fba90;padding:10px 14px;border-radius:2px;margin-bottom:20px;font-size:.82rem;text-align:center;}

/* ── GEAR PANEL ── */
.gear-panel{background:rgba(92,138,106,.1);border:1px solid rgba(92,138,106,.25);border-left:4px solid var(--burn);padding:24px 28px;max-width:1100px;margin:20px auto;}

/* ── GALLERY ── */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px;padding:0 20px;max-width:1200px;margin:0 auto;}
.media-item{position:relative;overflow:hidden;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);}
.media-item img,.media-item video{width:100%;height:240px;object-fit:cover;display:block;transition:transform .3s;}
.media-item:hover img,.media-item:hover video{transform:scale(1.03);}
.media-info{padding:14px 16px;}
.media-caption{font-size:.82rem;color:rgba(242,237,230,.7);}
.media-meta{font-family:'Space Mono',monospace;font-size:.5rem;letter-spacing:.12em;color:rgba(255,255,255,.25);text-transform:uppercase;margin-top:6px;}
.media-overlay{position:absolute;top:8px;right:8px;}
.media-badge{font-family:'Space Mono',monospace;font-size:.5rem;letter-spacing:.1em;padding:3px 7px;border-radius:2px;background:rgba(0,0,0,.6);color:var(--gold);text-transform:uppercase;}

/* ── DASHBOARD ── */
.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:30px 20px;max-width:1100px;margin:0 auto;}
.dashboard-title{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--cream);}
.dashboard-actions{display:flex;gap:10px;}
.dash-btn{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;padding:10px 18px;border-radius:2px;border:1px solid var(--gold);color:var(--gold);background:transparent;text-transform:uppercase;transition:all .2s;display:inline-block;}
.dash-btn:hover{background:var(--gold);color:var(--peat);}
.dash-btn-primary{background:var(--gold);color:var(--peat);border-color:var(--gold);}
.dash-btn-primary:hover{background:transparent;color:var(--gold);}

/* ── TOAST ── */
.toast{position:fixed;bottom:28px;right:28px;background:#1e1810;border:1px solid rgba(200,153,58,.4);color:var(--gold);font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:10px 18px;border-radius:2px;z-index:2000;opacity:0;transform:translateY(8px);transition:all .25s;pointer-events:none;}
.toast.show{opacity:1;transform:translateY(0);}

/* ── TABLE ── */
.table-wrap{overflow-x:auto;max-width:1100px;margin:20px auto;padding:0 20px;}
.data-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.data-table th{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--mist);text-transform:uppercase;text-align:left;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);font-weight:400;}
.data-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.03);color:rgba(242,237,230,.8);}
.data-table tr:hover td{background:rgba(255,255,255,.02);}
.data-table .table-actions{display:flex;gap:6px;}
.data-table .table-actions a{font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;border:1px solid rgba(255,255,255,.08);color:var(--mist);transition:all .2s;}
.data-table .table-actions a:hover{border-color:var(--gold);color:var(--gold);}
.data-table .table-actions .delete{color:#e09090;border-color:rgba(200,80,80,.3);}
.data-table .table-actions .delete:hover{border-color:#e05555;background:rgba(200,80,80,.1);}

/* ── EMPTY STATE ── */
.empty-state{text-align:center;padding:80px 20px;}
.empty-icon{font-size:3rem;margin-bottom:16px;display:block;opacity:.3;}
.empty-title{font-family:'Playfair Display',serif;font-size:1.3rem;color:rgba(255,255,255,.4);margin-bottom:10px;}
.empty-text{font-size:.85rem;color:rgba(255,255,255,.25);}

/* ── FOOTER ── */
.site-footer{text-align:center;padding:36px 20px;border-top:1px solid rgba(255,255,255,.05);font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.15em;color:rgba(255,255,255,.18);text-transform:uppercase;}

/* ── ANIMS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .nav-links{display:none;position:absolute;top:60px;left:0;right:0;background:rgba(26,20,16,.98);flex-direction:column;padding:16px;border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .nav-links a{width:100%;padding:10px 12px;}
  .nav-user{display:none;}
  .days-grid{padding:20px 8px;grid-template-columns:1fr;}
  .region-header{padding:0 16px 26px;}
  .info-banner{margin:24px 10px;}
  .modal{padding:22px;}
  .progress-actions{width:100%;}
  .card-grid{grid-template-columns:1fr;}
  .media-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
  .dashboard-header{flex-direction:column;align-items:flex-start;}
}

@media(max-width:480px){
  .hero{padding:40px 16px;}
  .hero-meta{gap:20px;}
  .nav-inner{padding:0 12px;}
  .days-grid{padding:16px 4px;grid-template-columns:1fr;}
  .card-body{padding:18px 16px 14px;}
  .card-actions{padding:0 16px 12px;}
  .day-details{padding:0 16px 16px;}
  .media-grid{grid-template-columns:1fr;}
  .region-num{font-size:3rem;}
}
