/* ═══════════════════════════════════════════════════════════════════
   OWLMARK SEATING STUDIO — SEATING RULES
   Companion stylesheet to the constraints editor.
   ═══════════════════════════════════════════════════════════════════ */

.omsr-scrim{
  position:fixed;inset:0;z-index:17700;
  display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(11,18,32,0);transition:background .22s ease;
}
.omsr-scrim.open{background:rgba(11,18,32,.55)}

.omsr-panel{
  width:min(640px,100%);max-height:88vh;
  display:flex;flex-direction:column;
  border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,#FFFDF8,#F6F0E2);
  border:1px solid rgba(201,154,61,.34);
  box-shadow:0 26px 64px rgba(10,16,32,.4);
  transform:translateY(10px);transition:transform .22s cubic-bezier(.22,.8,.3,1);
}
.omsr-scrim.open .omsr-panel{transform:none}

.omsr-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;border-bottom:1px solid rgba(16,26,45,.1);
}
.omsr-head h2{
  margin:0;flex:1 1 auto;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.4rem;font-weight:700;color:#101A2D;
}
body.lang-ar .omsr-head h2{font-family:'Cairo',system-ui,sans-serif;font-size:1.18rem}
.omsr-x{
  flex:0 0 44px;width:44px;height:44px;
  border:1px solid rgba(16,26,45,.12);border-radius:11px;
  background:rgba(16,26,45,.04);color:#3A4257;cursor:pointer;
}
.omsr-x:hover{background:rgba(16,26,45,.09)}
.omsr-x:focus-visible{outline:2px solid #B8862F;outline-offset:2px}

/* Said once, plainly, at the top — a teacher must never wonder whether a
   note about a child is going to appear on a wall chart. */
.omsr-note{
  margin:0;padding:11px 18px;
  background:rgba(46,111,78,.1);
  border-bottom:1px solid rgba(46,111,78,.2);
  font-family:'Manrope',system-ui,sans-serif;
  font-size:.78rem;font-weight:600;color:#2E6F4E;
}
body.lang-ar .omsr-note{font-family:'Cairo',system-ui,sans-serif}

.omsr-body{flex:1 1 auto;overflow:auto;padding:14px 18px}

.omsr-row{
  display:grid;
  grid-template-columns:minmax(110px,1.1fr) repeat(3,minmax(120px,1fr));
  gap:10px;align-items:end;
  padding:11px 0;border-bottom:1px solid rgba(16,26,45,.08);
}
.omsr-row:last-child{border-bottom:0}
.omsr-name{
  font-family:'Manrope',system-ui,sans-serif;
  font-size:.88rem;font-weight:700;color:#101A2D;
  overflow:hidden;text-overflow:ellipsis;
}
.omsr-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.omsr-f > span{
  font-family:'Manrope',system-ui,sans-serif;
  font-size:.7rem;font-weight:700;color:#5A6478;
}
.omsr-f select{
  min-height:40px;padding:8px 10px;
  border:1px solid rgba(16,26,45,.16);border-radius:10px;
  background:#FFFDF8;color:#101A2D;
  font-family:'Manrope',system-ui,sans-serif;font-size:.83rem;
}
.omsr-f select:focus{outline:2px solid #B8862F;outline-offset:-1px;border-color:#B8862F}
body.lang-ar .omsr-name,body.lang-ar .omsr-f > span,body.lang-ar .omsr-f select{
  font-family:'Cairo',system-ui,sans-serif;
}

.omsr-foot{
  display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;
  padding:14px 18px;border-top:1px solid rgba(16,26,45,.1);
}
.omsr-btn{
  min-height:44px;padding:10px 16px;
  border-radius:12px;cursor:pointer;
  border:1px solid rgba(16,26,45,.14);
  background:rgba(16,26,45,.04);color:#3A4257;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:.84rem;font-weight:700;
}
.omsr-btn:hover{background:rgba(16,26,45,.09)}
.omsr-btn.gold{
  border-color:#A87C2A;color:#fff;
  background:linear-gradient(180deg,#D8B15C,#B8862F);
}
.omsr-btn.gold:hover{background:linear-gradient(180deg,#E2BE72,#C4923A)}
.omsr-btn:focus-visible{outline:2px solid #B8862F;outline-offset:2px}
body.lang-ar .omsr-btn{font-family:'Cairo',system-ui,sans-serif}

@media (max-width: 620px){
  .omsr-scrim{padding:0;align-items:flex-end}
  .omsr-panel{border-radius:20px 20px 0 0;max-height:92dvh}
  .omsr-row{grid-template-columns:1fr 1fr;row-gap:8px}
  .omsr-name{grid-column:1/-1}
  .omsr-btn{flex:1 1 auto;text-align:center}
}

@media (prefers-reduced-motion: reduce){
  .omsr-scrim,.omsr-panel{transition:none !important}
  .omsr-panel{transform:none !important}
}

/* Never on paper. The rules exist so the plan can be right; the plan
   itself must say nothing about why. */
@media print{.omsr-scrim{display:none !important}}
