/* ============================================================================
   dash.css — Üst seviye panel (dashboard) tasarım sistemi
   ========================================================================== */
.dash{display:flex; min-height:100vh; padding-top:5rem; background:
  radial-gradient(120% 60% at 100% 0%, rgba(201,162,75,.06), transparent 60%), #f4f6f9}
.dash *{box-sizing:border-box}

/* —— Sidebar —— */
.dash-aside{position:sticky; top:5rem; align-self:flex-start; width:264px; height:calc(100vh - 5rem); flex:0 0 264px;
  background:linear-gradient(180deg,#0A1A2F 0%, #0c2138 100%); color:#cdd7e3; padding:22px 16px;
  display:flex; flex-direction:column; gap:6px; overflow-y:auto}
.dash-brand{display:flex; align-items:center; gap:10px; padding:6px 10px 18px; color:#fff}
.dash-brand b{font-family:'Cormorant Garamond',serif; font-size:1.35rem; letter-spacing:.04em; color:#E4C77B}
.dash-nav a{display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:12px;
  font-size:.9rem; color:#aebccd; transition:.2s; position:relative}
.dash-nav a svg{width:18px; height:18px; flex:0 0 18px; opacity:.85}
.dash-nav a:hover{background:rgba(255,255,255,.06); color:#fff}
.dash-nav a.active{background:linear-gradient(90deg,rgba(201,162,75,.22),rgba(201,162,75,.04)); color:#fff}
.dash-nav a.active::before{content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px;
  border-radius:3px; background:linear-gradient(#E4C77B,#C9A24B)}
.dash-nav .sep{margin:12px 12px 6px; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:#65788f}
.dash-aside .badge{margin-left:auto; background:#C9A24B; color:#0A1A2F; font-size:.7rem; font-weight:700;
  border-radius:999px; padding:1px 8px}

/* —— Main —— */
.dash-main{flex:1; min-width:0; padding:26px clamp(16px,3vw,40px) 60px}
.dash-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px}
.dash-head h1{font-family:'Cormorant Garamond',serif; font-size:2.1rem; color:#0A1A2F; line-height:1.1}
.dash-head .crumb{font-size:.8rem; color:#8a97a8; margin-bottom:4px}

/* —— Stat cards —— */
.stat-grid{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.stat{position:relative; background:#fff; border:1px solid #eef1f5; border-radius:20px; padding:20px;
  box-shadow:0 1px 2px rgba(16,32,55,.04); transition:transform .25s, box-shadow .25s; overflow:hidden}
.stat:hover{transform:translateY(-4px); box-shadow:0 22px 50px -24px rgba(10,26,47,.4)}
.stat .ic{width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:#fff;
  background:linear-gradient(135deg,#C9A24B,#E4C77B); box-shadow:0 8px 20px -8px rgba(201,162,75,.7)}
.stat .ic svg{width:20px; height:20px}
.stat .v{font-family:'Cormorant Garamond',serif; font-size:2rem; color:#0A1A2F; margin-top:14px; line-height:1}
.stat .l{font-size:.82rem; color:#8a97a8; margin-top:4px}
.stat .delta{position:absolute; top:20px; right:20px; font-size:.72rem; font-weight:600; padding:3px 8px; border-radius:999px}
.stat .delta.up{background:#e7f6ee; color:#198a52} .stat .delta.down{background:#fdecec; color:#c0392b}
.stat--dark{background:linear-gradient(135deg,#0A1A2F,#13304f); border:0; color:#fff}
.stat--dark .v{color:#fff} .stat--dark .l{color:rgba(255,255,255,.6)}
.stat--dark .ic{background:rgba(255,255,255,.12); box-shadow:none}

/* —— Panels —— */
.panel{background:#fff; border:1px solid #eef1f5; border-radius:20px; padding:22px; box-shadow:0 1px 2px rgba(16,32,55,.04)}
.panel-h{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px}
.panel-h h3{font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:#0A1A2F}
.panel-h a{font-size:.82rem; color:#9a7a2e}
.dash-cols{display:grid; gap:18px; grid-template-columns:1.6fr 1fr; margin-top:20px}
@media (max-width:980px){.dash-cols{grid-template-columns:1fr}}

/* —— Table —— */
.dtable{width:100%; border-collapse:collapse; font-size:.88rem}
.dtable th{text-align:left; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:#9aa7b6; padding:0 12px 10px}
.dtable td{padding:12px; border-top:1px solid #f0f2f6; color:#33414f}
.dtable tr:hover td{background:#fafbfc}
.chip{display:inline-block; padding:2px 10px; border-radius:999px; font-size:.72rem; font-weight:600}
.chip.green{background:#e7f6ee; color:#198a52} .chip.amber{background:#fff3e0; color:#b9770b}
.chip.red{background:#fdecec; color:#c0392b} .chip.navy{background:#eef2f8; color:#28435f}

/* —— Quick actions —— */
.qa-grid{display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.qa{display:flex; flex-direction:column; gap:8px; padding:16px; border-radius:16px; background:#fff;
  border:1px solid #eef1f5; color:#0A1A2F; transition:.2s; font-size:.85rem; font-weight:500}
.qa:hover{border-color:#C9A24B; transform:translateY(-3px); box-shadow:0 16px 36px -22px rgba(10,26,47,.5)}
.qa .ic{width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:#0A1A2F; color:#E4C77B}
.qa .ic svg{width:18px;height:18px}

/* —— Mini bar chart —— */
.spark{display:flex; align-items:flex-end; gap:8px; height:140px; padding-top:10px}
.spark .bar{flex:1; border-radius:8px 8px 4px 4px; background:linear-gradient(180deg,#E4C77B,#C9A24B);
  position:relative; min-height:4px; transition:height .8s cubic-bezier(.2,.7,.2,1)}
.spark .bar span{position:absolute; bottom:-22px; left:0; right:0; text-align:center; font-size:.66rem; color:#9aa7b6}
.spark .bar b{position:absolute; top:-20px; left:0; right:0; text-align:center; font-size:.66rem; color:#33414f; font-weight:600; opacity:0; transition:.2s}
.spark .bar:hover b{opacity:1}

/* —— Mobil —— */
.dash-burger{display:none}
@media (max-width:860px){
  .dash{flex-direction:column}
  .dash-aside{position:relative; width:100%; height:auto; flex:none; flex-direction:row; flex-wrap:nowrap;
    overflow-x:auto; gap:4px; padding:10px}
  .dash-brand{display:none}
  .dash-nav{display:flex; gap:4px}
  .dash-nav .sep{display:none}
  .dash-nav a{white-space:nowrap; padding:8px 12px}
}

/* ============================================================================
   Takvim modülü (acente/admin) — renk sistemli müsaitlik takvimi
   ========================================================================== */
.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.cal-toolbar select,.cal-toolbar a.btn{font-size:.85rem}
.cal-seg{display:inline-flex;background:#eef1f5;border-radius:10px;padding:3px}
.cal-seg a{padding:6px 14px;border-radius:8px;font-size:.82rem;color:#5a6b7d;text-decoration:none}
.cal-seg a.on{background:#0A1A2F;color:#fff}
.cal-nav{display:inline-flex;align-items:center;gap:8px}
.cal-nav a{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#fff;border:1px solid #e6eaf0;color:#0A1A2F;text-decoration:none}
.cal-nav b{font-family:'Cormorant Garamond',serif;font-size:1.3rem;min-width:150px;text-align:center;color:#0A1A2F}

.cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 18px;font-size:.78rem;color:#5a6b7d}
.cal-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.lg-available{background:#cdeedd}.lg-booked{background:#f3b4b4}.lg-option{background:#f5d59a}
.lg-maintenance{background:#cdd5de}.lg-demo{background:#aec6f0}

/* Aylık büyük ızgara */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-dow{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:#9aa7b6;text-align:center;padding-bottom:4px}
.cal-cell{aspect-ratio:1/1;border-radius:12px;border:1px solid #eef1f5;background:#fff;padding:8px;
  display:flex;flex-direction:column;cursor:default;transition:.15s;position:relative;min-height:54px}
.cal-cell .dnum{font-size:.8rem;color:#33414f;font-weight:600}
.cal-cell .dtag{margin-top:auto;font-size:.62rem;font-weight:600;opacity:.85}
.cal-cell.empty{background:transparent;border:0}
.cal-cell.has{cursor:pointer}.cal-cell.has:hover{transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(10,26,47,.5)}
.cal-cell.s-available{background:#eafaf2;border-color:#cdeedd}
.cal-cell.s-booked{background:#fdeceb;border-color:#f3b4b4}
.cal-cell.s-option{background:#fff6e8;border-color:#f5d59a}
.cal-cell.s-maintenance{background:#eef1f5;border-color:#cdd5de}
.cal-cell.s-demo{background:#eaf1fd;border-color:#aec6f0}
.cal-cell.today{outline:2px solid #C9A24B;outline-offset:1px}

/* Yıllık görünüm — 12 mini ay */
.cal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.cal-mini h4{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:#0A1A2F;margin:0 0 8px;text-align:center}
.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-mini-grid .d{aspect-ratio:1/1;border-radius:5px;background:#f3f5f8;font-size:.6rem;display:grid;place-items:center;color:#8a97a8}
.cal-mini-grid .d.empty{background:transparent}
.cal-mini-grid .d.s-booked{background:#f3b4b4;color:#7a1f1f}
.cal-mini-grid .d.s-option{background:#f5d59a;color:#7a5410}
.cal-mini-grid .d.s-maintenance{background:#cdd5de;color:#3a4654}
.cal-mini-grid .d.s-demo{background:#aec6f0;color:#1f3c70}
.cal-mini a{text-decoration:none}

/* Gün detay paneli */
.cal-detail{position:fixed;inset:0;z-index:80;display:none;place-items:center;background:rgba(8,16,28,.55);backdrop-filter:blur(3px)}
.cal-detail.open{display:grid}
.cal-detail .box{background:#fff;border-radius:20px;padding:24px;width:min(440px,92vw);box-shadow:0 30px 80px rgba(10,26,47,.4)}
.cal-detail .row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #f0f2f6;font-size:.88rem}
.cal-detail .row:first-of-type{border-top:0}
.cal-detail .row span{color:#8a97a8}.cal-detail .row b{color:#0A1A2F;text-align:right}

[x-cloak]{display:none !important}

/* ============================================================================
   Pazarlama Araçları — zengin kart sistemi
   ========================================================================== */
.mk-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.mk-card{background:#fff;border:1px solid #eef1f5;border-radius:18px;padding:18px;
  box-shadow:0 1px 2px rgba(16,32,55,.04);transition:transform .2s,box-shadow .25s,border-color .2s}
.mk-card.on{border-color:#C9A24B;box-shadow:0 16px 40px -24px rgba(201,162,75,.6)}
.mk-card .top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mk-mono{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;
  font-weight:800;font-size:.92rem;flex:0 0 46px;letter-spacing:.02em;box-shadow:0 8px 18px -10px rgba(10,26,47,.5)}
.mk-card h4{font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:#0A1A2F;margin:0;line-height:1.1}
.mk-card .desc{font-size:.72rem;color:#9aa7b6;margin-top:2px}
.mk-status{font-size:.64rem;font-weight:700;padding:3px 9px;border-radius:999px;background:#eef2f8;color:#8493a6;text-transform:uppercase;letter-spacing:.04em}
.mk-card.on .mk-status{background:#e7f6ee;color:#198a52}
.mk-card .fld{width:100%;border:1px solid #e6eaf0;border-radius:11px;padding:10px 12px;font-size:.84rem;transition:.15s}
.mk-card .fld:focus{border-color:#C9A24B;outline:none;box-shadow:0 0 0 3px rgba(201,162,75,.15)}
.mk-card textarea.fld{font-family:ui-monospace,monospace;font-size:.74rem;resize:vertical}
.mk-card .foot{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.74rem;color:#9aa7b6}
.mk-wide{grid-column:1/-1}

/* Aç/kapa anahtarı */
.mk-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 46px;cursor:pointer}
.mk-switch input{opacity:0;width:0;height:0;position:absolute}
.mk-switch .sl{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:.2s}
.mk-switch .sl::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.mk-switch input:checked + .sl{background:linear-gradient(90deg,#C9A24B,#E4C77B)}
.mk-switch input:checked + .sl::before{transform:translateX(20px)}

/* ============================================================================
   Admin tüm tekneler takvimi — matris
   ========================================================================== */
.cal-matrix{overflow-x:auto;padding-bottom:6px}
.cal-matrix table{border-collapse:separate;border-spacing:3px}
.cal-matrix .bname{position:sticky;left:0;z-index:2;background:#fff;min-width:170px;max-width:170px;
  padding:6px 10px;font-size:.8rem;color:#0A1A2F;text-align:left;border-right:2px solid #eef1f5;line-height:1.2}
.cal-matrix .bname small{display:block;color:#9aa7b6;font-size:.66rem}
.cal-matrix .dhead{font-size:.6rem;color:#9aa7b6;text-align:center;width:24px;padding-bottom:3px}
.cal-matrix .dhead.we{color:#C9A24B}
.cal-matrix .mc{width:24px;height:26px;border-radius:5px;background:#eef7f1;border:1px solid transparent}
.cal-matrix .mc.has{cursor:pointer}
.cal-matrix .mc.has:hover{outline:2px solid #0A1A2F;outline-offset:1px}
.cal-matrix .mc.s-booked{background:#f3b4b4}
.cal-matrix .mc.s-option{background:#f5d59a}
.cal-matrix .mc.s-maintenance{background:#cdd5de}
.cal-matrix .mc.s-demo{background:#aec6f0}
.cal-matrix .mc.today{outline:2px solid #C9A24B;outline-offset:1px}

/* ============================================================================
   Admin tüm-tekneler kaynak takvimi (boats × günler / aylar)
   ========================================================================== */
.rcal{overflow-x:auto;border:1px solid #eef1f5;border-radius:14px}
.rcal table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}
.rcal th,.rcal td{white-space:nowrap}
.rcal thead th{position:sticky;top:0;background:#fff;z-index:1}
.rcal .bname{position:sticky;left:0;background:#fff;z-index:2;text-align:left;padding:9px 12px;
  font-size:.82rem;color:#0A1A2F;border-bottom:1px solid #f0f2f6;min-width:190px;box-shadow:2px 0 0 #eef1f5}
.rcal .bname small{display:block;color:#9aa7b6;font-size:.68rem;font-weight:400}
.rcal .dhead{font-size:.6rem;color:#9aa7b6;text-align:center;padding:6px 0;width:26px;border-bottom:1px solid #f0f2f6}
.rcal .rc{width:26px;height:32px;border-bottom:1px solid #f4f6f9;border-left:1px solid #f4f6f9;text-align:center}
.rcal .rc.has{cursor:pointer}.rcal .rc.has:hover{outline:2px solid #C9A24B;outline-offset:-2px}
.rcal .rc.s-booked{background:#f3b4b4}.rcal .rc.s-option{background:#f5d59a}
.rcal .rc.s-maintenance{background:#cdd5de}.rcal .rc.s-demo{background:#aec6f0}
.rcal .rc.today{box-shadow:inset 0 0 0 2px #C9A24B}
.rcal .yc{text-align:center;font-size:.72rem;padding:7px 10px;border-left:1px solid #f4f6f9;border-bottom:1px solid #f4f6f9}
.rcal .yc b{display:inline-block;min-width:26px;border-radius:7px;padding:3px 7px;color:#fff;font-size:.68rem;font-weight:700}
