/* Havnsø Dashboard – scoped UI (high contrast, theme-safe)
   All selectors are scoped to .havnso-dashboard (and the small bar on /my-account/)
*/

.havnso-dashboard{ color:#111; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height:1.35; background:#f5f7fb; padding:18px; border-radius:16px; max-width:1200px; margin:18px auto; }
.havnso-dashboard *{ box-sizing:border-box; }

.havnso-dashboard a{ color:inherit; }
.havnso-dashboard .havnso-muted{ color:#555; font-size:0.95em; margin:6px 0 10px; }

.havnso-dashboard .havnso-help{ margin:6px 0 0; color:#666; font-size:0.9em; }
.havnso-dashboard .havnso-badge{ display:inline-block; margin-left:6px; padding:2px 8px; border-radius:999px; border:1px solid #e3e7f0; background:#eef2ff; font-size:0.85em; vertical-align:middle; }

.havnso-dashboard .havnso-dashboard-box{
  border:1px solid #d6dbe6;
  border-radius:14px;
  background:#fff;
  padding:14px;
}

/* Header */
.havnso-dashboard .havnso-dashboard-header{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.havnso-dashboard .havnso-dashboard-header h1{
  margin:0;
  font-size:1.35em;
  line-height:1.2;
}
.havnso-dashboard .havnso-dashboard-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

/* Cards + rows */
.havnso-dashboard .havnso-rows{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.havnso-dashboard .havnso-row{
  display:grid;
  align-items:start;
  grid-template-columns: 1fr;
  gap:12px;
}
.havnso-dashboard .havnso-row-1col{
  grid-template-columns: 1fr;
}
@media (min-width: 900px){
  .havnso-dashboard .havnso-row-2col{ grid-template-columns: 1fr 1fr; }
}


/* Legacy grid (used on bestyrelse/admin views) */
.havnso-dashboard .havnso-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media (min-width: 900px){
  .havnso-dashboard .havnso-grid{ grid-template-columns: repeat(3, 1fr); }
  .havnso-dashboard .havnso-span-2{ grid-column: span 2; }
}

.havnso-dashboard .havnso-dashboard-card{
  border:1px solid #d6dbe6;
  border-radius:14px;
  background:#fff;
  padding:14px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
}
.havnso-dashboard .havnso-dashboard-card h2{
  margin:0 0 10px 0;
  font-size:1.15em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.havnso-dashboard .havnso-dashboard-card h3{
  margin:12px 0 8px 0;
  font-size:1.05em;
}

/* Buttons (only inside dashboard / bar) */
.havnso-dashboard .button,
.havnso-myaccount-bar .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:9px 12px;
  border-radius:10px;
  border:1px solid #cfd6e4;
  background:#fff;
  color:#111 !important;
  text-decoration:none !important;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
}
.havnso-dashboard .button:hover,
.havnso-myaccount-bar .button:hover{ background:#f6f6f6; }

.havnso-dashboard .button.button-primary,
.havnso-myaccount-bar .button.button-primary{
  background:#111;
  border-color:#111;
  color:#fff !important;
}
.havnso-dashboard .button.button-primary:hover,
.havnso-myaccount-bar .button.button-primary:hover{ background:#000; }

.havnso-dashboard .button.button-secondary,
.havnso-myaccount-bar .button.button-secondary{
  background:#f5f5f5;
  border-color:#bbb;
  color:#111 !important;
}

.havnso-dashboard .button.button-small{
  padding:6px 10px;
  border-radius:999px;
  font-size:0.9em;
}



.havnso-dashboard .havnso-form-row{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
  margin-bottom:10px;
}
@media (min-width: 900px){
  .havnso-dashboard .havnso-form-row{ grid-template-columns: 1fr 1fr; }
}
.havnso-dashboard .havnso-field{ min-width: 0; }
.havnso-dashboard .havnso-form-row > .havnso-field:only-child{ grid-column: 1 / -1; }
.havnso-dashboard .havnso-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:12px;
}
.havnso-dashboard .havnso-inline-status{ color:#444; font-size:0.95em; }

/* Forms */
.havnso-dashboard label{ font-weight:600; display:block; margin:10px 0 6px; }
.havnso-dashboard input[type="text"],
.havnso-dashboard input[type="email"],
.havnso-dashboard input[type="tel"],
.havnso-dashboard input[type="number"],
.havnso-dashboard input[type="date"],
.havnso-dashboard input[type="time"],
.havnso-dashboard select,
.havnso-dashboard textarea{
  width:100%;
  max-width:100%;
  padding:9px 10px;
  border:1px solid #d6dbe6;
  border-radius:10px;
  background:#fff;
  color:#111;
}
.havnso-dashboard input:focus,
.havnso-dashboard select:focus,
.havnso-dashboard textarea:focus{
  outline: 2px solid rgba(0,0,0,0.15);
  outline-offset:2px;
}

/* Tables */
.havnso-dashboard .havnso-table-wrap{ overflow:auto; }
.havnso-dashboard table.havnso-table{
  width:100%;
  border-collapse:collapse;
  min-width: 560px;
}
.havnso-dashboard table.havnso-table th,
.havnso-dashboard table.havnso-table td{
  text-align:left;
  padding:10px 8px;
  border-bottom:1px solid #eee;
  vertical-align:top;
}
.havnso-dashboard table.havnso-table th{
  font-weight:700;
  color:#222;
  background:#fafafa;
}

/* Status */
.havnso-dashboard .havnso-status{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid #d6dbe6;
  background:#f7f7f7;
  font-size:0.85em;
}
.havnso-dashboard .havnso-status.havnso-status-aktiv{ background:#f4fbf7; border-color:#b9e4c9; }
.havnso-dashboard .havnso-status.havnso-status-saelges{ background:#fff7e6; border-color:#f0d39c; }
.havnso-dashboard .havnso-status.havnso-status-inaktiv{ background:#f6f6f6; border-color:#ddd; }

/* Notices */
.havnso-dashboard .havnso-notice{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #d6dbe6;
  background:#fff;
  margin: 10px 0;
}
.havnso-dashboard .havnso-notice.havnso-notice-success{ border-color: #b9e4c9; background:#f4fbf7; }
.havnso-dashboard .havnso-notice.havnso-notice-error{ border-color: #f0b7b7; background:#fff5f5; }

/* Beer ordering */
.havnso-dashboard .havnso-beer-order .havnso-pickup-slot-row{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
@media (min-width: 700px){
  .havnso-dashboard .havnso-beer-order .havnso-pickup-slot-row{
    grid-template-columns: 1fr 1fr;
  }
}
.havnso-dashboard .havnso-qty{
  width:80px;
}

/* Modal */
.havnso-modal__overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.55);
  display:none;
  z-index:0;
}
.havnso-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100000;
  padding:18px;
}
.havnso-dashboard .havnso-modal.is-open{ display:flex; }
.havnso-modal__overlay.is-open{ display:block; }

.havnso-modal__content{
  position:relative;
  z-index:1;
  width:min(720px, 100%);
  border-radius:14px;
  border:1px solid #d6dbe6;
  background:#fff;
  padding:14px;
}
.havnso-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.havnso-modal__close{
  border:1px solid #cfd6e4;
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
}

/* My Account back bar */
.havnso-myaccount-bar{
  margin: 14px 0;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  color:#111;
}
.havnso-myaccount-bar p{ margin:0 0 10px 0; color:#444; }
.havnso-myaccount-bar .havnso-dashboard-actions{ display:flex; gap:8px; flex-wrap:wrap; }
\nbody.havnso-modal-open{ overflow:hidden; }
