/* Rejestracja organizacji v2 - wyłącznie istniejące tokeny Sovfly */
.auth-shell.orgv2-shell{
  width:min(100%,430px);
  min-height:100dvh;
  height:auto;
  padding:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  background:linear-gradient(180deg,var(--panel),var(--bg));
  scrollbar-width:none;
}
.auth-shell.orgv2-shell::-webkit-scrollbar{display:none}
.orgv2-screen{
  width:100%;
  min-height:100dvh;
  padding:max(22px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));
  background:linear-gradient(180deg,var(--panel),var(--bg));
}
.orgv2-header{
  min-height:52px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 88px;
  align-items:center;
  gap:6px;
}
.orgv2-header>button{
  min-width:44px;
  min-height:44px;
  padding:6px;
  border:0;
  background:transparent;
  color:var(--teal);
  cursor:pointer;
}
.orgv2-header>button:first-child{display:grid;place-items:center;justify-self:start}
.orgv2-header>button:last-child{justify-self:end;font-size:11px;white-space:nowrap}
.orgv2-header svg{width:25px;height:25px}
.orgv2-header h1{margin:0;text-align:center;font-size:20px;line-height:1.2;white-space:nowrap}
.orgv2-step-label{margin:15px 0 8px;text-align:center;color:var(--text);font-size:14px}
.orgv2-progress{height:7px;margin:0 0 23px;border-radius:99px;background:var(--line);overflow:hidden}
.orgv2-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--teal))}
.orgv2-intro{margin:0 2px 22px;color:var(--text);font-size:15px;line-height:1.45}
.orgv2-form{display:grid;gap:15px}
.orgv2-form>label,.orgv2-field-row>label{display:grid;gap:7px;min-width:0;color:var(--text);font-size:13px;font-weight:700}
.orgv2-form input:not([type="checkbox"]):not([type="file"]),.orgv2-form select{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  outline:0;
  background:var(--bg);
  color:var(--text);
  font:inherit;
  font-size:14px;
}
.orgv2-form select{color-scheme:dark}
.orgv2-form input::placeholder{color:var(--muted);opacity:1}
.orgv2-form input:focus,.orgv2-form select:focus,.orgv2-form button:focus-visible,.orgv2-header button:focus-visible{
  border-color:var(--teal);
  outline:2px solid var(--teal);
  outline-offset:2px;
}
.orgv2-form [aria-invalid="true"]{border-color:var(--danger)!important}
.orgv2-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.orgv2-field-help{margin:-3px 2px 0;color:var(--muted);font-size:10px;font-weight:400;line-height:1.4}
.orgv2-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.orgv2-label-row small{color:var(--muted);font-weight:400}
.orgv2-logo-card,.orgv2-info-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(145deg,var(--panel2),var(--panel));
}
.orgv2-logo-preview{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border:2px dashed var(--line);
  border-radius:50%;
  overflow:hidden;
  color:var(--teal);
}
.orgv2-logo-preview img{width:100%;height:100%;object-fit:cover}
.orgv2-logo-preview svg{width:50px;height:50px}
.orgv2-logo-card h2,.orgv2-info-card h2{margin:0 0 9px;font-size:17px}
.orgv2-logo-card small{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.35}
.orgv2-logo-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:130px;min-height:42px;padding:8px 12px;cursor:pointer}
.orgv2-logo-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.orgv2-text-action,.orgv2-delete-draft{
  border:0;
  background:transparent;
  color:var(--teal);
  cursor:pointer;
}
.orgv2-text-action{margin-top:7px;padding:4px 0}
.orgv2-delete-draft{justify-self:center;padding:8px;font-size:10px;color:var(--muted)}
.orgv2-password-field{position:relative;display:block}
.orgv2-password-field input{padding-right:50px!important}
.orgv2-password-field button{
  position:absolute;
  top:3px;
  right:3px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}
.orgv2-password-field svg{width:23px;height:23px}
.orgv2-password-rules{display:grid;gap:3px;margin:-7px 4px 0;color:var(--muted);font-size:10px}
.orgv2-password-rules .valid{color:var(--teal)}
.orgv2-password-rules .warning{color:var(--amber)}
.orgv2-field-message{min-height:14px;margin:0;color:var(--danger);font-size:10px;font-weight:400}
.orgv2-info-card{grid-template-columns:62px minmax(0,1fr)}
.orgv2-info-card>svg{width:55px;height:55px;color:var(--teal)}
.orgv2-info-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.orgv2-info-short{grid-template-columns:62px minmax(0,1fr)}
.orgv2-section-title{display:flex;align-items:center;gap:12px;margin:11px 2px 0;font-size:18px}
.orgv2-section-title svg{width:36px;height:36px;color:var(--teal)}
.orgv2-placeholder-field>input{font-size:15px!important}
.orgv2-check{
  position:relative;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start;
  gap:12px!important;
  margin:2px 0;
  color:var(--text)!important;
  font-weight:400!important;
  line-height:1.45;
  cursor:pointer;
}
.orgv2-check input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
}
.orgv2-check-box{
  width:25px;
  height:25px;
  flex:none;
  display:grid;
  place-items:center;
  border:1px solid var(--teal);
  border-radius:6px;
  background:var(--bg);
}
.orgv2-check input:checked+.orgv2-check-box{background:var(--teal);color:var(--bg)}
.orgv2-check input:checked+.orgv2-check-box:after{content:"✓";font-weight:900}
.orgv2-check input:focus-visible+.orgv2-check-box{outline:2px solid var(--text);outline-offset:3px}
.orgv2-check small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.orgv2-activities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0}
.orgv2-activity{
  position:relative;
  min-height:64px;
  display:grid;
  grid-template-columns:28px 36px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg);
  cursor:pointer;
}
.orgv2-activity input{position:absolute;width:1px;height:1px;opacity:0}
.orgv2-activity-select{width:23px;height:23px;border:1px solid var(--muted);border-radius:50%;display:grid;place-items:center}
.orgv2-activity>svg{width:31px;height:31px;color:var(--teal)}
.orgv2-activity>span:last-child{font-size:11px;line-height:1.25}
.orgv2-activity input:checked+.orgv2-activity-select{border-color:var(--teal);background:var(--teal)}
.orgv2-activity input:checked+.orgv2-activity-select:after{content:"✓";color:var(--bg);font-weight:900}
.orgv2-activity input:focus-visible+.orgv2-activity-select{outline:2px solid var(--text);outline-offset:3px}
.orgv2-activity:has(input:checked){border-color:var(--teal);background:linear-gradient(145deg,var(--panel2),var(--panel))}
.orgv2-error{min-height:0;margin:0;color:var(--danger);font-size:11px;line-height:1.4}
.orgv2-error:not(:empty){padding:10px;border:1px solid var(--danger);border-radius:10px;background:var(--panel)}
.orgv2-actions{display:grid;grid-template-columns:1fr 1.05fr;gap:12px;margin-top:2px}
.orgv2-actions .button{min-height:50px;border-radius:12px;font-size:15px}
.orgv2-actions .button:disabled,.orgv2-status .button:disabled{opacity:.42;cursor:not-allowed}
.orgv2-legal{width:min(100%,560px);max-height:min(82vh,720px);display:flex;flex-direction:column;gap:16px}
.orgv2-legal-body{overflow:auto;padding-right:6px;color:var(--text-soft);line-height:1.55}
.orgv2-legal-body h3{margin:18px 0 6px;color:var(--text);font-size:15px}
.orgv2-legal-body p{margin:0 0 10px}
.orgv2-status{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:max(34px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom));
  text-align:center;
}
.orgv2-status>svg{width:82px;height:82px;color:var(--teal)}
.orgv2-status h1{margin:20px 0 10px;font-size:25px}
.orgv2-status>p{max-width:320px;margin:0;color:var(--muted)}
.orgv2-status>b{margin-top:7px;color:var(--teal);overflow-wrap:anywhere}
.orgv2-status-card{width:100%;margin:22px 0 12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--panel2),var(--panel));text-align:left}
.orgv2-status-card strong{color:var(--amber)}
.orgv2-status-card p{margin:7px 0 0;color:var(--muted)}
.orgv2-status>.button{margin-top:10px;min-height:48px}
.orgv2-status>.orgv2-text-action{margin-top:14px}
.orgv2-spinner{width:15px;height:15px;display:inline-block;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;animation:orgv2-spin .7s linear infinite}
@keyframes orgv2-spin{to{transform:rotate(360deg)}}
@media(max-width:365px){
  .orgv2-screen{padding-left:14px;padding-right:14px}
  .orgv2-header{grid-template-columns:42px minmax(0,1fr) 78px}
  .orgv2-header h1{font-size:17px}
  .orgv2-header>button:last-child{font-size:9px}
  .orgv2-field-row{grid-template-columns:1fr}
  .orgv2-logo-card{grid-template-columns:78px minmax(0,1fr);padding:12px}
  .orgv2-logo-preview{width:74px;height:74px}
  .orgv2-activity{grid-template-columns:22px 28px minmax(0,1fr)}
  .orgv2-activity>svg{width:25px;height:25px}
  .orgv2-actions{gap:8px}
}
@media(min-width:600px){
  .auth-shell.orgv2-shell{min-height:min(900px,calc(100dvh - 32px));margin:16px auto;border-radius:12px}
}
