/* TodoPorras component contract:
 * Declare BOTH themes for every surface, ink, muted label and action.
 * Never inherit dark-first --tp-ink or implicit -webkit-text-fill-color.
 * Tested via a real Chromium run opening private-invitations.js. */
.tp-private-invites-backdrop{
  position:fixed;inset:0;z-index:4500;display:flex;align-items:center;
  justify-content:center;padding:16px;background:rgba(0,9,7,.72);
  backdrop-filter:blur(5px)
}
html[data-tp-theme="light"] .tp-private-invites-modal{
  --pi-surface:#ffffff;--pi-soft:#f3f7fb;--pi-ink:#071c38;
  --pi-muted:#52637b;--pi-border:#c5d5e1;--pi-link:#076d43;
  --pi-action:#087c48;--pi-action-ink:#ffffff;
  --pi-secondary:#f3f7fb;--pi-secondary-ink:#071c38;
  --pi-danger:#fff0f1;--pi-danger-ink:#972333;
  --pi-disabled:#e6edf3;--pi-disabled-ink:#405166
}
html[data-tp-theme="dark"] .tp-private-invites-modal{
  --pi-surface:#101d17;--pi-soft:#17271e;--pi-ink:#f5f8f6;
  --pi-muted:#b1c5b9;--pi-border:#40574a;--pi-link:#a4f2ca;
  --pi-action:#62e8a8;--pi-action-ink:#05271a;
  --pi-secondary:#23382b;--pi-secondary-ink:#f5f8f6;
  --pi-danger:#3c252b;--pi-danger-ink:#ffd4d4;
  --pi-disabled:#25372d;--pi-disabled-ink:#d2e4d9
}
.tp-private-invites-modal{
  color-scheme:inherit;
  width:min(740px,100%);max-height:calc(100dvh - 32px);min-width:0;
  overflow:auto;padding:24px;border:1px solid var(--pi-border);
  border-radius:20px;box-shadow:0 24px 60px #0005;
  background:var(--pi-surface)!important;
  color:var(--pi-ink)!important;
  -webkit-text-fill-color:var(--pi-ink)!important
}
.tp-private-invites-head{display:flex;align-items:start;justify-content:space-between;gap:16px}
.tp-private-invites-head h2{font-size:25px;margin:6px 0}
.tp-private-invites-modal :is(h2,h3,strong,label){
  color:var(--pi-ink)!important;
  -webkit-text-fill-color:var(--pi-ink)!important;
  opacity:1!important
}
.tp-private-invites-modal h3{font-size:17px;margin:24px 0 10px}
.tp-private-invites-modal .tp-kicker{
  color:var(--pi-link)!important;
  -webkit-text-fill-color:var(--pi-link)!important;
  opacity:1!important
}
.tp-private-invites-modal :is(.tp-private-invites-intro,.tp-private-invites-hint,.tp-private-invites-row small){
  color:var(--pi-muted)!important;
  -webkit-text-fill-color:var(--pi-muted)!important;
  opacity:1!important;
  line-height:1.55
}
.tp-private-invites-intro{font-size:14px}
.tp-private-invites-editor{
  display:grid;gap:12px;padding:16px;margin:16px 0;
  border:1px solid var(--pi-border);border-radius:14px;
  background:var(--pi-soft)!important
}
.tp-private-invites-notice{
  color:var(--pi-ink)!important;
  -webkit-text-fill-color:var(--pi-ink)!important;
  opacity:1!important;
  font-size:13px;min-height:10px;margin:10px 0
}
.tp-private-invites-last{display:grid;gap:10px}
.tp-private-invites-last:empty{display:none}
.tp-private-invites-modal :is(input,textarea){
  width:100%;min-height:44px;min-width:0;
  background:var(--pi-surface)!important;
  color:var(--pi-ink)!important;
  -webkit-text-fill-color:var(--pi-ink)!important;
  border:1px solid var(--pi-border)!important;
  border-radius:9px;padding:10px;font-size:14px;opacity:1!important
}
.tp-private-invites-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tp-private-invites-modal :is(.tp-btn,.tp-private-invites-close){
  border:1px solid var(--pi-border)!important;
  background:var(--pi-secondary)!important;
  color:var(--pi-secondary-ink)!important;
  -webkit-text-fill-color:var(--pi-secondary-ink)!important;
  opacity:1!important;box-shadow:none!important;
  transition-property:transform,box-shadow!important;
  cursor:pointer
}
.tp-private-invites-modal .tp-btn{min-height:42px;max-width:100%;white-space:normal}
.tp-private-invites-modal .tp-btn.primary:not(:disabled){
  background:var(--pi-action)!important;
  color:var(--pi-action-ink)!important;
  -webkit-text-fill-color:var(--pi-action-ink)!important;
  border-color:var(--pi-action)!important
}
.tp-private-invites-modal .tp-btn.danger:not(:disabled){
  background:var(--pi-danger)!important;
  color:var(--pi-danger-ink)!important;
  -webkit-text-fill-color:var(--pi-danger-ink)!important;
  border-color:var(--pi-border)!important
}
.tp-private-invites-modal :is(.tp-btn,.tp-private-invites-close):disabled{
  background:var(--pi-disabled)!important;
  color:var(--pi-disabled-ink)!important;
  -webkit-text-fill-color:var(--pi-disabled-ink)!important;
  border-color:var(--pi-border)!important;
  opacity:1!important;cursor:not-allowed;
  transition-duration:0s!important
}
.tp-private-invites-close{
  width:44px;height:44px;min-width:44px;flex:none;border-radius:50%;
  font-size:26px;display:grid;place-items:center
}
.tp-private-invites-list{display:grid;gap:9px}
.tp-private-invites-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px;border:1px solid var(--pi-border)!important;
  border-radius:12px;background:var(--pi-soft)!important;
  color:var(--pi-ink)!important;
  -webkit-text-fill-color:var(--pi-ink)!important
}
.tp-private-invites-row-info{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.tp-private-invites-modal :is(button,input):focus-visible{
  outline:3px solid #82c8ff!important;outline-offset:3px
}
@media(max-width:600px){
  .tp-private-invites-backdrop{padding:8px}
  .tp-private-invites-modal{
    padding:17px 13px;max-height:calc(100dvh - 16px);border-radius:14px
  }
  .tp-private-invites-row{align-items:flex-start;flex-direction:column}
  .tp-private-invites-actions{width:100%}
  .tp-private-invites-actions button{flex:1 1 100px}
}