/* ==========================================================
   KIRAN OMS Premium UI V4 — Phase 3
   Universal Premium Table System
   ========================================================== */
:root{
  --p3-accent:var(--acc,#1d4ed8);
  --p3-border:var(--bd,#e2e8f0);
  --p3-surface:var(--s1,#fff);
  --p3-soft:var(--s2,#f8fafc);
  --p3-text:var(--tx,#0f172a);
  --p3-muted:var(--mu,#64748b);
}

/* Tables keep their existing app styles; Phase 3 only layers interactions. */
table.p3-table{position:relative}
table.p3-table > thead > tr > th{
  position:relative;
  user-select:none;
  transition:background-color .12s ease,color .12s ease,box-shadow .12s ease;
}
table.p3-table > thead > tr > th.p3-sortable{cursor:pointer;padding-right:18px}
table.p3-table > thead > tr > th.p3-sortable:hover{
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--p3-accent) 55%,transparent);
}
table.p3-table > thead > tr > th.p3-sort-asc::after,
table.p3-table > thead > tr > th.p3-sort-desc::after{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);
  font-size:9px;font-weight:900;color:#60a5fa;line-height:1;
}
table.p3-table > thead > tr > th.p3-sort-asc::after{content:'▲'}
table.p3-table > thead > tr > th.p3-sort-desc::after{content:'▼'}
table.p3-table > thead > tr > th.p3-filtered{
  box-shadow:inset 0 -3px 0 #2563eb;
}
table.p3-table > thead > tr > th.p3-filtered::before{
  content:'•';position:absolute;right:4px;top:0px;color:#60a5fa;font-size:15px;line-height:1;
}
table.p3-table > thead > tr > th.p3-sort-asc.p3-filtered::before,
table.p3-table > thead > tr > th.p3-sort-desc.p3-filtered::before{right:15px}

.p3-resizer{
  position:absolute;top:0;right:-3px;width:7px;height:100%;z-index:8;
  cursor:col-resize;touch-action:none;
}
.p3-resizer::after{
  content:'';position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:transparent;
}
th:hover > .p3-resizer::after,.p3-resizer.p3-active::after{background:#60a5fa}
body.p3-resizing{cursor:col-resize!important;user-select:none!important}
body.p3-resizing *{cursor:col-resize!important}

/* Freeze styling. Left position is applied inline by JS. */
.p3-frozen{
  position:sticky!important;
  z-index:4!important;
  background:var(--p3-surface)!important;
  box-shadow:1px 0 0 var(--p3-border);
}
thead .p3-frozen{z-index:14!important;background:#1e293b!important}
.p3-freeze-edge{box-shadow:3px 0 6px -4px rgba(15,23,42,.45),1px 0 0 var(--p3-border)!important}

/* Small toolbar — only on operational / report tables, not dashboard cards. */
.p3-table-toolbar{
  display:flex;align-items:center;justify-content:flex-end;gap:6px;
  min-height:30px;padding:3px 2px 5px;margin:0;
  color:var(--p3-muted);font:600 11px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.p3-table-toolbar .p3-tb-info{margin-right:auto;display:flex;align-items:center;gap:7px;min-width:0}
.p3-table-toolbar .p3-tb-badge{
  display:none;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;
  background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-weight:700;
}
.p3-table-toolbar .p3-tb-badge.on{display:inline-flex}
.p3-table-toolbar button{
  display:inline-flex;align-items:center;gap:5px;border:1px solid var(--p3-border);
  background:var(--p3-surface);color:var(--p3-text);border-radius:7px;
  padding:5px 8px;font:600 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;white-space:nowrap;
}
.p3-table-toolbar button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}

/* Context / columns popover */
#p3-table-menu{
  position:fixed;z-index:100000;display:none;width:270px;max-width:calc(100vw - 20px);
  background:var(--p3-surface);border:1px solid var(--p3-border);border-radius:12px;
  box-shadow:0 18px 45px rgba(15,23,42,.23);padding:8px;
  color:var(--p3-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#p3-table-menu.open{display:block}
.p3-menu-title{padding:5px 7px 7px;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:8px}
.p3-menu-sub{font-size:10px;color:var(--p3-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}
.p3-filter-box{padding:5px 5px 8px}
.p3-filter-box input{
  width:100%;box-sizing:border-box;border:1px solid var(--p3-border);border-radius:8px;
  background:var(--p3-soft);color:var(--p3-text);padding:8px 9px;outline:none;font:12px "Segoe UI",sans-serif;
}
.p3-filter-box input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.p3-filter-hint{font-size:9.5px;color:var(--p3-muted);padding:4px 2px 0}
.p3-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
#p3-table-menu button.p3-mi{
  border:0;background:transparent;color:var(--p3-text);border-radius:7px;padding:7px 8px;
  text-align:left;cursor:pointer;font:600 11.5px "Segoe UI",sans-serif;
}
#p3-table-menu button.p3-mi:hover{background:#eff6ff;color:#1d4ed8}
#p3-table-menu button.p3-mi:disabled{opacity:.38;cursor:not-allowed;background:transparent;color:var(--p3-muted)}
#p3-table-menu .p3-sep{height:1px;background:var(--p3-border);margin:6px 0}
#p3-table-menu .p3-danger{color:#b91c1c!important}

.p3-columns-panel{max-height:310px;overflow:auto;padding:2px 2px 4px}
.p3-col-option{
  display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:7px;cursor:pointer;font-size:11.5px;
}
.p3-col-option:hover{background:var(--p3-soft)}
.p3-col-option input{accent-color:#2563eb}
.p3-col-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p3-columns-foot{display:flex;gap:5px;padding-top:6px;border-top:1px solid var(--p3-border)}
.p3-columns-foot button{flex:1}

.p3-dragging{opacity:.45}
.p3-drag-over{box-shadow:inset 3px 0 0 #3b82f6!important}

/* Rows hidden by column filtering. */
tr.p3-filter-hidden{display:none!important}

/* Main order table: keep live-entry/grid layout safe while still allowing resize/hide/freeze. */
#ow table.p3-table th.p3-sortable{white-space:nowrap}

@media(max-width:900px){
  .p3-table-toolbar{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  .p3-table-toolbar::-webkit-scrollbar{display:none}
  .p3-table-toolbar .p3-tb-info{display:none}
  #p3-table-menu{width:min(280px,calc(100vw - 16px))}
}

@media print{
  .p3-table-toolbar,#p3-table-menu,.p3-resizer{display:none!important}
  .p3-frozen{position:static!important;left:auto!important;box-shadow:none!important}
}
