:root{
 --safe-bottom:calc(78px + env(safe-area-inset-bottom,0px));
}

html,body{
 max-width:100%;
 overflow-x:hidden;
}

body{
 padding-bottom:0;
}

*,
*::before,
*::after{
 box-sizing:border-box;
}

.app{
 width:min(1180px,100%);
 max-width:1180px;
 padding:14px 12px var(--safe-bottom);
}

.site-header{
 position:sticky;
 top:0;
 z-index:100;
}

.nav-wrap{
 width:min(1180px,100%);
 max-width:1180px;
}

.main-nav,
.user-box,
.card,
.grid,
.grid>*,
.summary,
.summary>*,
.users-grid,
.user-row{
 min-width:0;
 max-width:100%;
}

.dashboard-welcome{
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:16px;
 padding:22px;
 margin-bottom:14px;
 border:1px solid rgba(32,212,193,.25);
 border-radius:20px;
 background:
  radial-gradient(circle at top right,rgba(32,212,193,.23),transparent 38%),
  linear-gradient(145deg,#10202c,#0a1722);
}

.dashboard-welcome h1{
 margin:7px 0;
 font-size:clamp(26px,5vw,42px);
}

.dashboard-welcome p{
 margin:0;
 color:var(--muted);
 line-height:1.55;
}

.dashboard-refresh{
 min-width:110px;
}

.dashboard-loading{
 text-align:center;
 color:var(--muted);
}

.dashboard-section-title{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:12px;
 margin:24px 2px 10px;
}

.dashboard-section-title small,
.dashboard-panel-head small{
 color:var(--accent);
 font-weight:900;
 letter-spacing:.12em;
}

.dashboard-section-title h2,
.dashboard-panel-head h2{
 margin:5px 0 0;
}

.dashboard-link{
 color:var(--accent);
 text-decoration:none;
 font-size:13px;
 font-weight:900;
}

.dashboard-cards{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:10px;
}

.dashboard-stat{
 min-width:0;
 padding:18px;
 border:1px solid var(--line);
 border-radius:17px;
 background:linear-gradient(180deg,#10202c,#0c1a25);
 box-shadow:0 12px 25px rgba(0,0,0,.16);
}

.dashboard-stat.accent{
 border-color:rgba(32,212,193,.55);
 background:linear-gradient(145deg,#0e3b3b,#10202c);
}

.dashboard-stat.warning{
 border-color:rgba(255,171,74,.45);
}

.dashboard-stat span,
.dashboard-month-card span{
 display:block;
 color:var(--muted);
 font-size:12px;
}

.dashboard-stat strong{
 display:block;
 margin:8px 0 5px;
 font-size:clamp(25px,4vw,36px);
 color:#fff;
 overflow-wrap:anywhere;
}

.dashboard-stat small{
 color:var(--muted);
 line-height:1.35;
}

.dashboard-month-grid{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:9px;
}

.dashboard-month-card{
 padding:15px;
 border-radius:15px;
 background:#10202c;
 border:1px solid var(--line);
}

.dashboard-month-card.success{
 border-color:rgba(37,211,102,.45);
}

.dashboard-month-card.warning{
 border-color:rgba(255,171,74,.45);
}

.dashboard-month-card strong{
 display:block;
 margin-top:7px;
 font-size:22px;
 overflow-wrap:anywhere;
}

.dashboard-columns{
 display:grid;
 grid-template-columns:1.2fr .8fr;
 gap:12px;
 margin-top:18px;
}

.dashboard-panel{
 margin:0;
}

.dashboard-panel-head{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-bottom:12px;
}

.dashboard-list{
 display:grid;
 gap:9px;
}

.dashboard-list-item,
.dashboard-customer-item{
 min-width:0;
 padding:13px;
 border-radius:14px;
 background:#091720;
 border:1px solid rgba(41,66,83,.75);
}

.dashboard-list-top{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:10px;
}

.dashboard-list-top strong{
 display:block;
 font-size:15px;
}

.dashboard-list-top span{
 display:block;
 margin-top:5px;
 color:var(--muted);
 font-size:11px;
 line-height:1.45;
}

.dashboard-list-top b{
 flex:0 0 auto;
 padding:6px 8px;
 border-radius:999px;
 font-size:10px;
}

.dashboard-list-top .paid{
 color:#092c16;
 background:#25d366;
}

.dashboard-list-top .unpaid{
 color:#4a2900;
 background:#ffb34d;
}

.dashboard-list-meta{
 display:flex;
 justify-content:space-between;
 gap:10px;
 padding:10px 0;
 color:var(--muted);
 font-size:12px;
}

.dashboard-list-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:7px;
}

.dashboard-list-actions .btn{
 padding:10px;
 text-align:center;
 text-decoration:none;
}

.dashboard-customer-item{
 display:grid;
 grid-template-columns:36px minmax(0,1fr) auto;
 align-items:center;
 gap:10px;
}

.dashboard-customer-item>b{
 display:grid;
 place-items:center;
 width:34px;
 height:34px;
 border-radius:50%;
 background:var(--card2);
 color:var(--accent);
}

.dashboard-customer-item strong,
.dashboard-customer-item span{
 display:block;
}

.dashboard-customer-item span{
 margin-top:4px;
 color:var(--muted);
 font-size:11px;
}

.dashboard-customer-item>a{
 color:#062c15;
 background:#25d366;
 padding:8px 10px;
 border-radius:9px;
 text-decoration:none;
 font-size:12px;
 font-weight:900;
}

.dashboard-empty{
 color:var(--muted);
 text-align:center;
 padding:18px 5px;
}

.dashboard-quick-actions{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:10px;
 margin-top:18px;
}

.dashboard-action-card{
 display:grid;
 gap:7px;
 padding:17px;
 border:1px solid var(--line);
 border-radius:16px;
 background:#10202c;
 color:#fff;
 text-decoration:none;
}

.dashboard-action-card>span{
 font-size:25px;
}

.dashboard-action-card strong{
 color:var(--accent);
}

.dashboard-action-card small{
 color:var(--muted);
 line-height:1.4;
}

.admin-page-title{
 text-align:center;
 padding:24px;
}

.admin-page-title h1{
 margin:7px 0;
 font-size:30px;
}

.admin-page-title p{
 max-width:620px;
 margin:0 auto;
 color:var(--muted);
 line-height:1.55;
}

#userList{
 display:grid;
 gap:9px;
}

.personnel-card{
 display:grid;
 grid-template-columns:52px minmax(0,1fr) auto;
 gap:12px;
 align-items:center;
 padding:13px;
 border-radius:15px;
 background:#091720;
 border:1px solid var(--line);
}

.personnel-avatar{
 display:grid;
 place-items:center;
 width:50px;
 height:50px;
 border-radius:15px;
 background:linear-gradient(145deg,var(--accent),#12988c);
 color:#04221f;
 font-size:23px;
 font-weight:900;
}

.personnel-info{
 min-width:0;
}

.personnel-info strong,
.personnel-info span{
 display:block;
 overflow:hidden;
 text-overflow:ellipsis;
}

.personnel-info span{
 margin-top:4px;
 color:var(--muted);
 font-size:12px;
}

.personnel-tags{
 display:flex;
 flex-wrap:wrap;
 gap:6px;
 margin-top:8px;
}

.personnel-tags b,
.personnel-tags i{
 padding:5px 8px;
 border-radius:999px;
 font-size:10px;
 font-style:normal;
}

.personnel-tags b{
 background:var(--card2);
 color:var(--accent);
}

.personnel-tags .active{
 background:#25d366;
 color:#062c15;
}

.personnel-tags .inactive{
 background:#ff5d7a;
 color:#fff;
}

.personnel-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:7px;
}

.personnel-actions .btn{
 padding:10px;
 white-space:nowrap;
}

.user-edit-modal{
 width:min(520px,100%);
}

.mobile-bottom-nav{
 display:none;
}

@media(max-width:900px){
 .nav-wrap{
  flex-direction:column;
  align-items:stretch;
 }

 .brand{
  width:100%;
 }

 .main-nav{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px;
 }

 .main-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  margin:0;
  text-align:center;
 }

 .user-box{
  width:100%;
  justify-content:space-between;
 }

 .dashboard-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .dashboard-month-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }

 .dashboard-columns{
  grid-template-columns:1fr;
 }

 .dashboard-quick-actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}

@media(max-width:650px){
 body{
  padding-bottom:var(--safe-bottom);
 }

 .site-header .main-nav{
  display:none!important;
 }

 .site-header{
  position:static;
 }

 .nav-wrap{
  padding:10px 12px;
  flex-direction:row;
  align-items:center;
 }

 .brand{
  width:auto;
  font-size:18px;
 }

 .user-box{
  width:auto;
  margin-left:auto;
 }

 .user-box span{
  display:none;
 }

 .app{
  padding:10px 10px 20px;
 }

 .dashboard-welcome{
  align-items:stretch;
  flex-direction:column;
  padding:18px;
 }

 .dashboard-refresh{
  width:100%;
 }

 .dashboard-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .dashboard-stat{
  padding:14px;
 }

 .dashboard-stat strong{
  font-size:25px;
 }

 .dashboard-month-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .dashboard-quick-actions{
  grid-template-columns:1fr;
 }

 .dashboard-section-title{
  align-items:flex-start;
 }

 .personnel-card{
  grid-template-columns:44px minmax(0,1fr);
 }

 .personnel-avatar{
  width:44px;
  height:44px;
  border-radius:13px;
 }

 .personnel-actions{
  grid-column:1/-1;
 }

 .users-grid{
  grid-template-columns:1fr!important;
 }

 .mobile-bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:500;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:6px 5px calc(6px + env(safe-area-inset-bottom,0px));
  background:rgba(7,16,24,.97);
  border-top:1px solid var(--line);
  backdrop-filter:blur(14px);
 }

 .mobile-bottom-nav a{
  display:grid;
  justify-items:center;
  gap:3px;
  min-width:0;
  padding:5px 1px;
  color:var(--muted);
  text-decoration:none;
 }

 .mobile-bottom-nav span{
  font-size:19px;
  line-height:1;
 }

 .mobile-bottom-nav small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  font-weight:800;
 }

 .modal-backdrop{
  padding:8px;
 }

 .modal-card{
  width:100%;
  margin:8px auto;
  max-height:calc(100vh - 16px);
  overflow:auto;
 }
}

@media(max-width:380px){
 .dashboard-cards,
 .dashboard-month-grid{
  grid-template-columns:1fr;
 }

 .mobile-bottom-nav small{
  font-size:8px;
 }
}

.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-card{margin:0}.settings-card h2{margin-top:0;color:var(--accent)}.settings-card label{display:grid;gap:7px;margin:13px 0;font-size:12px;font-weight:800}.settings-card input,.settings-card textarea{width:100%}.instagram-settings{grid-column:1/-1}.settings-sticky{position:sticky;bottom:8px;z-index:20;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(7,16,24,.92);backdrop-filter:blur(12px)}
.dashboard-calendar-panel{margin:18px 0 0}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav strong{text-transform:capitalize;min-width:130px;text-align:center}.dashboard-calendar-week,.dashboard-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dashboard-calendar-week span{text-align:center;color:var(--muted);font-size:10px;font-weight:900}.calendar-day{min-height:72px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#091720;color:#fff;text-decoration:none;display:grid;align-content:start;gap:4px}.calendar-day.has-booking{border-color:rgba(32,212,193,.65);background:linear-gradient(145deg,#0d3839,#10202c)}.calendar-day small{font-size:9px;color:var(--accent)}.calendar-day i{font-size:9px;color:var(--muted);font-style:normal}.calendar-empty{min-height:72px}
@media(max-width:650px){.settings-grid{grid-template-columns:1fr}.instagram-settings{grid-column:auto}.dashboard-calendar-week,.dashboard-calendar{gap:3px}.calendar-day,.calendar-empty{min-height:53px}.calendar-day{padding:5px;border-radius:9px}.calendar-day b{font-size:12px}.calendar-nav strong{min-width:110px;font-size:12px}}


/* Gelecek 7 gün rezervasyon görünümü */
.upcoming-week-card{
 margin-top:14px;
 overflow:hidden;
}

.upcoming-week-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
}

.upcoming-week-head h2{
 margin:5px 0;
}

.upcoming-week-head p{
 margin:0;
 color:var(--muted);
 line-height:1.5;
}

.upcoming-week-list{
 display:grid;
 gap:10px;
 margin-top:14px;
}

.upcoming-day-group{
 border:1px solid var(--line);
 border-radius:16px;
 overflow:hidden;
 background:#091720;
}

.upcoming-day-group.has-reservations{
 border-color:rgba(32,212,193,.38);
}

.upcoming-day-title{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 padding:13px 14px;
 background:#10202c;
}

.upcoming-day-title strong,
.upcoming-day-title span{
 display:block;
}

.upcoming-day-title strong{
 text-transform:capitalize;
}

.upcoming-day-title span{
 margin-top:4px;
 color:var(--muted);
 font-size:11px;
}

.upcoming-day-reservations{
 display:grid;
 gap:8px;
 padding:9px;
}

.upcoming-reservation-item{
 padding:12px;
 border:1px solid rgba(41,66,83,.75);
 border-radius:13px;
 background:#07131c;
}

.upcoming-reservation-main{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:10px;
}

.upcoming-reservation-main strong,
.upcoming-reservation-main span{
 display:block;
}

.upcoming-reservation-main span{
 margin-top:4px;
 color:var(--muted);
 font-size:11px;
}

.upcoming-reservation-main>b{
 color:var(--accent);
 white-space:nowrap;
}

.upcoming-reservation-meta{
 display:flex;
 flex-wrap:wrap;
 justify-content:space-between;
 gap:7px;
 padding:10px 0;
 color:var(--muted);
 font-size:11px;
}

.upcoming-reservation-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:7px;
}

.upcoming-reservation-actions .btn{
 padding:10px 7px;
}

.upcoming-empty-text{
 margin:0;
 padding:16px;
 color:var(--muted);
 text-align:center;
}

@media(max-width:650px){
 .upcoming-week-head{
  align-items:stretch;
  flex-direction:column;
 }

 .upcoming-week-head .btn{
  width:100%;
  min-height:48px;
 }

 .upcoming-day-title{
  align-items:flex-start;
 }

 .upcoming-reservation-main{
  align-items:flex-start;
 }

 .reservation-actions{
  grid-template-columns:1fr 1fr!important;
 }

 .reservation-actions .btn{
  min-width:0;
  white-space:normal;
 }
}

@media(max-width:380px){
 .upcoming-reservation-actions{
  grid-template-columns:1fr;
 }
}


/* Tüm rezervasyonlar: tek buton, kaydırılabilir tam ekran panel */
.all-reservations-backdrop{padding:12px}
.all-reservations-modal{width:min(1080px,100%);height:min(94vh,980px);max-height:94vh;display:flex;flex-direction:column;overflow:hidden}
.all-reservations-modal-head{flex:0 0 auto}.all-reservations-modal-head h2{margin:5px 0}.all-reservations-modal-head p{margin:5px 0 0}
.all-reservations-toolbar{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:9px;margin:12px 0}
.all-reservations-toolbar input,.all-reservations-toolbar select{min-height:48px;width:100%}
.all-reservations-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 5px 22px;display:grid;gap:11px;scrollbar-gutter:stable}
.all-reservation-card{margin:0}.all-reservation-date-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.all-reservation-date-row span,.all-reservation-date-row b{display:block}.all-reservation-date-row span{color:var(--accent);font-size:12px;font-weight:900;text-transform:capitalize}.all-reservation-date-row b{margin-top:4px;font-size:12px}.all-reservation-date-row i{padding:6px 9px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.all-reservation-date-row i.paid{background:#25d366;color:#062c15}.all-reservation-date-row i.unpaid{background:#ffb34d;color:#4a2900}
.all-reservation-actions{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:700px){.all-reservations-backdrop{padding:0}.all-reservations-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:12px 10px calc(12px + env(safe-area-inset-bottom,0px))}.all-reservations-toolbar{grid-template-columns:1fr}.all-reservations-scroll{padding-left:0;padding-right:0}.all-reservation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.all-reservation-actions .btn:last-child{grid-column:1/-1}.all-reservations-modal-head{align-items:flex-start}.all-reservations-modal-head h2{font-size:22px}}
@media(max-width:380px){.all-reservation-actions{grid-template-columns:1fr}.all-reservation-actions .btn:last-child{grid-column:auto}}


.accounting-report-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
 margin:14px 0;
}
.accounting-report-grid .chart-card:last-child{grid-column:1/-1}
.chart-card{min-width:0;overflow:hidden}
.chart-card canvas{display:block;width:100%;max-width:100%}
.report-summary{margin-top:10px}
@media(max-width:700px){
 .accounting-report-grid{grid-template-columns:1fr}
 .accounting-report-grid .chart-card:last-child{grid-column:auto}
 .finance-summary,.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:380px){
 .finance-summary,.report-summary{grid-template-columns:1fr!important}
}

.management-settings-button{white-space:nowrap}
.extras-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}
.extras-admin-head h3{margin:0}.extras-admin-head p{margin:4px 0 0;color:var(--muted)}
.extra-options-admin{display:grid;gap:10px}
.extra-admin-row{display:grid;grid-template-columns:1.5fr .7fr auto auto;gap:9px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px;background:#091720}
.extra-admin-row label{margin:0}
.extra-active-label{display:flex!important;align-items:center;gap:8px;padding-bottom:13px}
.extra-active-label input{width:auto!important}
@media(max-width:700px){
 .extras-admin-head{align-items:stretch;flex-direction:column}
 .extra-admin-row{grid-template-columns:1fr 1fr}
 .extra-active-label,.extra-admin-row .danger{grid-column:1/-1}
 .management-settings-button{width:100%;margin-top:10px;text-align:center}
}
