
/* ARR Places Manager - Frontend */
:root{
  --arrpm-primary:#00A5FF;
  --arrpm-radius:14px;
  --arrpm-shadow:0 10px 30px rgba(0,0,0,.07);
  --arrpm-border:1px solid rgba(0,0,0,.08);
  --arrpm-text:#0f172a;
  --arrpm-muted:rgba(15,23,42,.75);
  --arrpm-bg:#ffffff;
  --arrpm-available:#1a8f2d;
  --arrpm-soon:#ff8a00;
  --arrpm-full:#d61b1b;
}

.arrpm-icon{ display:inline-flex; align-items:center; justify-content:center; }
.arrpm-icon svg,
.arrpm-icon-img{
  width:22px;
  height:22px;
  display:block;
  color:var(--arrpm-primary);
  object-fit:contain;
}

.arrpm-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .7rem;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
  border:1px solid rgba(0,0,0,.10);
  white-space:nowrap;
}

.arrpm-status-available{ background:rgba(26,143,45,.10); color:var(--arrpm-available); border-color:rgba(26,143,45,.25); }
.arrpm-status-soon{ background:rgba(255,138,0,.12); color:var(--arrpm-soon); border-color:rgba(255,138,0,.35); }
.arrpm-status-full{ background:rgba(214,27,27,.12); color:var(--arrpm-full); border-color:rgba(214,27,27,.35); }

.arrpm-badge-secondary{
  background:rgba(0,0,0,.04);
  color:var(--arrpm-muted);
  border-color:rgba(0,0,0,.10);
  font-weight:600;
}

/* Buttons */
.arrpm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.65rem 1rem;
  border-radius:10px;
  background:var(--arrpm-primary);
  color:white !important;
  font-weight:700;
  text-decoration:none !important;
  box-shadow:0 10px 20px rgba(0,0,0,.08);
  transition:transform .12s ease, opacity .12s ease;
}
.arrpm-btn:hover{ transform:translateY(-1px); opacity:.95; }

/* Cards grid (homepage) */
.arrpm-cards{
  display:grid;
  gap:18px;
}
.arrpm-cols-1{ grid-template-columns:1fr; }
.arrpm-cols-2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.arrpm-cols-3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.arrpm-cols-4{ grid-template-columns:repeat(4, minmax(0,1fr)); }

@media (max-width: 1024px){
  .arrpm-cols-4{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .arrpm-cols-3{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .arrpm-cols-4,.arrpm-cols-3,.arrpm-cols-2{ grid-template-columns:1fr; }
}

.arrpm-card{
  background:var(--arrpm-bg);
  border:var(--arrpm-border);
  border-radius:var(--arrpm-radius);
  overflow:hidden;
  box-shadow:var(--arrpm-shadow);
  display:flex;
  flex-direction:column;
  min-height:380px;
}

.arrpm-card-media{
  height:170px;
  background-size:cover;
  background-position:center;
}
.arrpm-card-media--placeholder{
  background:linear-gradient(135deg, rgba(0,165,255,.25), rgba(0,0,0,.02));
}

.arrpm-card-body{
  padding:16px 16px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.arrpm-card-title-row{
  display:flex;
  gap:10px;
  align-items:center;
}
.arrpm-card-title{
  margin:0 !important;
  color:var(--arrpm-primary);
  font-size:1.6rem;
  line-height:1.2;
}
.arrpm-card-meta-line{ display:flex; flex-wrap:wrap; gap:8px; align-items:baseline; margin-top:-6px; }
.arrpm-card-subtitle{
  font-weight:800;
  color:rgba(0,0,0,.55);
  font-size:.9rem;
}
.arrpm-card-meta-sep{ opacity:.35; font-weight:900; }
.arrpm-card-places{ font-weight:900; color:rgba(0,0,0,.55); font-size:.95rem; }
.arrpm-card-text{
  color:rgba(0,0,0,.62);
  line-height:1.55;
  flex:1;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@media (max-width: 640px){
  .arrpm-card-title{ font-size:1.35rem; }
  .arrpm-card-text{ -webkit-line-clamp:6; }
}
.arrpm-card-status{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.arrpm-card-actions{ margin-top:6px; display:flex; justify-content:flex-end; }
.arrpm-card-actions .arrpm-btn{ width:auto; }
@media (max-width: 640px){
  .arrpm-card-actions{ justify-content:stretch; }
  .arrpm-card-actions .arrpm-btn{ width:100%; }
}

/* Summary table */
.arrpm-table-wrap{
  overflow:auto;
  border:var(--arrpm-border);
  border-radius:var(--arrpm-radius);
  box-shadow:var(--arrpm-shadow);
  background:white;
}
.arrpm-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:720px;
}
.arrpm-table thead th{
  background:var(--arrpm-primary);
  color:white;
  padding:14px 16px;
  text-align:left;
  font-weight:800;
}
.arrpm-table tbody td{
  padding:14px 16px;
  border-top:1px solid rgba(0,0,0,.06);
  vertical-align:top;
}
.arrpm-td-badges .arrpm-badge{ margin-right:8px; }

.arrpm-summary-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}
@media (max-width: 1024px){
  .arrpm-summary-cards{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .arrpm-summary-cards{ grid-template-columns:1fr; }
}
.arrpm-summary-card{
  border:var(--arrpm-border);
  border-radius:var(--arrpm-radius);
  padding:14px 14px 12px;
  box-shadow:var(--arrpm-shadow);
  background:white;
}
.arrpm-summary-card-head{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.arrpm-summary-card-section{
  font-weight:900;
  color:var(--arrpm-primary);
}
.arrpm-summary-card-when{
  color:rgba(0,0,0,.6);
  font-weight:700;
  margin-top:2px;
}
.arrpm-summary-card-meta{
  display:flex;
  gap:10px;
  color:rgba(0,0,0,.6);
  margin:10px 0 8px;
  flex-wrap:wrap;
  font-weight:800;
  align-items:baseline;
}
.arrpm-meta-sep{ opacity:.35; font-weight:900; }
.arrpm-summary-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* Section detail */
.arrpm-section{
  border:var(--arrpm-border);
  border-radius:var(--arrpm-radius);
  box-shadow:var(--arrpm-shadow);
  background:white;
  padding:18px;
}
.arrpm-section-head{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}
.arrpm-section-title{
  display:flex;
  align-items:center;
  gap:10px;
}
.arrpm-section-title h2{
  margin:0 !important;
  color:var(--arrpm-primary);
}
.arrpm-section-sub{ font-weight:800; color:rgba(0,0,0,.55); }
.arrpm-section-loc a{ color:var(--arrpm-primary); font-weight:800; text-decoration:none; }
.arrpm-section-desc{ color:rgba(0,0,0,.62); line-height:1.65; margin:10px 0 12px; }
.arrpm-section-badges{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* Groups list */
.arrpm-groups{ display:flex; flex-direction:column; gap:10px; }
.arrpm-group-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:space-between;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.02);
}
@media (max-width: 640px){
  .arrpm-group-row{ flex-direction:column; align-items:stretch; }
  .arrpm-group-badges{ justify-content:flex-start; }
}
.arrpm-group-main{ display:flex; flex-direction:column; gap:6px; }
.arrpm-group-title{ color:var(--arrpm-text); }
.arrpm-group-when{ color:rgba(0,0,0,.65); font-weight:800; }
.arrpm-group-meta{ color:rgba(0,0,0,.58); font-weight:700; }
.arrpm-group-badges{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

.arrpm-group-notes{
  color:rgba(0,0,0,.58);
  font-weight:600;
  font-style:italic;
  line-height:1.45;
}
/* Accordion planning */
.arrpm-accordion{ display:flex; flex-direction:column; gap:12px; }
.arrpm-acc-item{
  border:var(--arrpm-border);
  border-radius:var(--arrpm-radius);
  overflow:hidden;
  background:white;
  box-shadow:var(--arrpm-shadow);
}
.arrpm-acc-summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  display:flex;
  gap:10px;
  align-items:center;
}
.arrpm-acc-summary::-webkit-details-marker{ display:none; }
.arrpm-acc-title{ font-weight:900; color:var(--arrpm-primary); }
.arrpm-acc-sub{ margin-left:auto; font-weight:800; color:rgba(0,0,0,.55); }
.arrpm-acc-badges{ margin-left:10px; }
.arrpm-acc-content{
  padding:0 16px 16px;
}
.arrpm-acc-content .arrpm-group-row{ margin-top:10px; }

/* Weeklist planning */
.arrpm-weeklist{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.arrpm-day-title{
  margin:0 0 10px !important;
  color:var(--arrpm-primary);
}
.arrpm-day-groups{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(2, minmax(0,1fr));
}
@media (max-width: 900px){
  .arrpm-day-groups{ grid-template-columns:1fr; }
}
.arrpm-day-card{
  border:var(--arrpm-border);
  border-radius:var(--arrpm-radius);
  background:white;
  box-shadow:var(--arrpm-shadow);
  padding:14px;
}
.arrpm-day-card-head{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.arrpm-day-card-title{
  font-weight:900;
  color:var(--arrpm-text);
}
