.ox-org-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 14px 0; }
.ox-org-card { position: relative; background: var(--surface-2); border: 2px solid var(--line); border-radius: 14px; padding: 8px 6px 8px; display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: grab; transition: border-color .2s, opacity .2s; }
.ox-org-card.is-drag { opacity: .4; }
.ox-org-card.is-over { border-color: var(--accent); border-style: dashed; }
.ox-org-card.is-blank .ox-org-box canvas { display: none; }
.ox-org-card.is-blank .ox-org-box::after { content: ""; position: absolute; left: 50%; top: 50%; width: 90px; height: 120px; transform: translate(-50%, -50%); background: #fff; border: 1px dashed var(--muted); border-radius: 3px; }
.ox-org-num { position: absolute; top: -10px; left: -6px; min-width: 28px; height: 28px; padding: 0 6px; display: grid; place-items: center; border-radius: 99px; color: #fff; font-weight: 900; font-size: .85rem; background: linear-gradient(140deg, var(--accent), var(--accent-2)); z-index: 1; }
.ox-org-box { position: relative; width: 130px; height: 150px; }
.ox-org-box canvas { position: absolute; left: 50%; top: 50%; background: #fff; box-shadow: var(--shadow-lg); border-radius: 3px; transform: translate(-50%, -50%); transition: transform .25s; }
.ox-org-sub { font-size: .8rem; color: var(--muted); }
.ox-org-btns { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; }
.ox-org-btns button { min-width: 44px; min-height: 44px; padding: 0 6px; font-size: 1rem; }
