:root { --feedback-line:max(18px,1.4rem); }
.action-feedback-scope,.feedback-control { position:relative; min-width:0; }
.feedback-control { row-gap:4px; }
.feedback-control[hidden] { display:none !important; }
.feedback-control > :is(input,select,textarea) { flex:0 1 auto; }
.field-meta { display:flex; flex-wrap:wrap; align-items:flex-start; column-gap:8px; position:relative; flex:0 0 auto; width:100%; min-width:0; min-height:var(--feedback-line); height:auto; font-size:max(12px,.85rem); line-height:var(--feedback-line); }
.field-meta > :is(.field-error,.field-hint,.composer-notice,.action-feedback) { grid-column:1; grid-row:1; min-width:0; width:100%; margin:0 !important; font-size:inherit; line-height:inherit; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.field-meta > :is(.field-error,.field-hint,.composer-notice) { flex:1 1 16ch; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
.field-meta > :is(.field-error,.field-hint,.composer-notice):empty { display:none; }
.field-meta > .field-count { order:1; flex:none; margin-inline-start:auto; white-space:nowrap; font-size:inherit; line-height:inherit; font-variant-numeric:tabular-nums; }
.field-meta:has(.field-error:not([hidden]),.action-feedback:not([data-feedback-layout="action"]):not([data-feedback-toast]):not([hidden]):not(:empty)) > :is(.field-hint,.composer-notice),.field-meta:has(.field-error:not([hidden])) > .action-feedback:not([data-feedback-layout="action"]) { display:none; }
.action-feedback-slot { display:block; position:relative; flex:0 0 var(--feedback-line); grid-column:1 / -1; width:100%; min-width:0; height:var(--feedback-line); }
.action-feedback-slot[data-feedback-layout="row"] { grid-column:1; grid-row:1; height:calc(2 * var(--feedback-line)); }
.action-feedback-slot[data-feedback-layout="row"] > .action-feedback { align-items:safe center; justify-content:flex-end; height:100%; max-height:100%; white-space:normal; overflow:auto; text-align:end; }
.action-feedback-slot[data-feedback-layout="row"] .feedback-text { flex:0 1 auto; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
.action-feedback { display:flex; align-items:baseline; gap:.4em; min-width:0; margin:0; color:var(--sp-success,#087a4b); font-size:max(12px,.85rem); line-height:var(--feedback-line); text-align:start; }
.action-feedback-slot > .action-feedback { box-sizing:border-box; width:100%; height:var(--feedback-line); min-height:0 !important; margin:0 !important; white-space:nowrap; overflow:hidden; }
:is(.action-feedback-slot,.field-meta) > .action-feedback { padding-block:0 !important; }
.feedback-text { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.action-feedback > button { flex:none; margin:0; }
.action-feedback-slot[data-floating=true] { position:absolute; inset-inline:0; top:100%; z-index:40; }
.action-feedback-slot[data-global=true] { position:fixed; inset-inline:12px; bottom:12px; z-index:60; width:auto; }
.action-feedback-slot:is([data-floating=true],[data-global=true]) > .action-feedback:not([hidden]) { padding-inline:6px; border-radius:4px; background:var(--sp-surface,#fff); }
.field-meta:not(:has(> :not([hidden]):not(:empty))),.action-feedback-slot:not(:has(> .action-feedback:not([hidden]):not(:empty))) { display:none; }
.action-feedback[data-state="error"] { color:var(--sp-danger,#b42318); font-weight:500; }
.action-feedback[data-state="pending"],.action-feedback[data-state="info"] { color:var(--sp-text-muted,#607089); }
.action-feedback[hidden],.action-feedback:empty { display:none !important; }
.action-feedback[data-feedback-layout="inline"] { display:block; width:100%; height:auto; max-height:none; white-space:normal; overflow:visible; overflow-wrap:anywhere; cursor:default; }
.action-feedback[data-feedback-layout="inline"] > .feedback-text { white-space:pre-wrap; overflow:visible; text-overflow:clip; }
.history .action-feedback[data-feedback-layout="inline"] > button { display:block; width:fit-content; max-width:100%; margin:6px 0 0; white-space:nowrap; overflow-wrap:normal; }
.action-feedback[data-feedback-layout="action"] { position:absolute; left:var(--feedback-action-left); top:var(--feedback-action-top); display:flex; align-items:safe center; justify-content:flex-end; width:var(--feedback-action-width); height:auto !important; max-height:var(--feedback-action-height); margin:0 !important; padding:0 !important; transform:translateY(var(--feedback-action-offset)); overflow:auto; white-space:normal; text-align:var(--feedback-action-align,end); background:transparent !important; }
.action-feedback[data-feedback-layout="action"] > .feedback-text { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }

.action-feedback:is(td,th) { display:table-cell; }
[data-pagination-status] { flex:1 1 auto; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
.settings-classroom-join { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; column-gap:8px; margin-top:8px; }
.settings-classroom-join > label { grid-column:1 / -1; margin:0 0 6px; }
.settings-classroom-join > :is(input,.text-limit-control) { grid-column:1; grid-row:2; min-width:0; }
.settings-classroom-join > button { grid-column:2; grid-row:2; min-height:44px; margin:0; white-space:nowrap; }
.settings-classroom-join > .action-feedback-slot { grid-column:1 / -1; }
@media (max-width:600px) {
  .settings-classroom-join { grid-template-columns:minmax(0,1fr); }
  .settings-classroom-join > :is(input,.text-limit-control,.feedback-control,button) { grid-column:1; grid-row:auto; }
  .settings-classroom-join > button { white-space:normal; overflow-wrap:anywhere; }
}
[data-feedback-toast] { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
.action-feedback-slot:has(> [data-feedback-toast]):not(:has(> .action-feedback:not([data-feedback-toast]))) { display:none !important; }
.sparky-toast-region { position:fixed; inset:16px 16px auto auto; z-index:4000; display:flex; flex-direction:column; gap:10px; width:min(380px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:0; padding:0; overflow:auto; border:0; color:var(--sp-text,#10233f); background:transparent; pointer-events:none; font:inherit; }
.sparky-toast-region:empty { display:none; }
.sparky-toast-card { position:relative; flex:none; min-width:0; padding:16px 42px 16px 16px; border:1px solid var(--sp-line-strong,#bdccdc); border-inline-start:4px solid var(--sp-success,#087a4b); border-radius:12px; color:var(--sp-text,#10233f); background:var(--sp-surface,#fff); box-shadow:0 8px 30px #10233f26; pointer-events:auto; font-size:max(13px,.9rem); line-height:1.6; overflow-wrap:anywhere; }
.sparky-toast-card[data-state="error"] { border-inline-start-color:var(--sp-danger,#b42318); }
.sparky-toast-card:is([data-state="pending"],[data-state="info"]) { border-inline-start-color:var(--sp-primary,#0a63cb); }
.sparky-toast-card > strong { display:block; color:var(--sp-primary-deep,#06376f); }
.sparky-toast-card[data-state="error"] > strong { color:var(--sp-danger,#b42318); }
.sparky-toast-card > p { margin:5px 0 0; white-space:pre-wrap; }
.sparky-toast-card button { width:auto; min-width:0; max-width:100%; min-height:36px; padding:6px 10px; border:1px solid var(--sp-line-strong,#bdccdc); border-radius:8px; color:var(--sp-primary,#0a63cb); background:var(--sp-surface,#fff); font:inherit; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.sparky-toast-card .sparky-toast-close { position:absolute; top:7px; right:7px; width:30px; min-height:30px; padding:0; border:0; font-size:22px; }
.sparky-toast-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.sparky-toast-actions:empty { display:none; }
.sparky-notice-details { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; margin:12px 0; overflow-wrap:anywhere; }
.sparky-notice-details dt { margin-top:6px; color:var(--sp-text-muted,#607089); font-size:.85em; }
.sparky-notice-details dd { min-width:0; margin:0; white-space:pre-wrap; }
.sparky-toast-actions button:disabled { opacity:.6; cursor:wait; }
.sparky-toast-card button:focus-visible { outline:3px solid var(--sp-primary,#0a63cb); outline-offset:2px; }
