/* Tiny Framework – lokale, schlanke Darstellungsbasis für die Stockkarten-App.
   Keine CDN-Abhängigkeit. Alle Klassen sind auf #stockkarte-app begrenzt. */
#stockkarte-app{
  --tiny-bg:#f6f8fb;
  --tiny-surface:#ffffff;
  --tiny-surface-2:#fbfcfe;
  --tiny-border:#d8dee4;
  --tiny-border-strong:#c7d0da;
  --tiny-text:#1f2328;
  --tiny-muted:#667085;
  --tiny-primary:#2563eb;
  --tiny-primary-soft:#e8f1ff;
  --tiny-success:#1a7f37;
  --tiny-warning:#b7791f;
  --tiny-danger:#cf222e;
  --tiny-radius:14px;
  --tiny-radius-sm:10px;
  --tiny-shadow:0 8px 24px rgba(31,35,40,.08);
  --tiny-shadow-sm:0 2px 8px rgba(31,35,40,.06);
  color:var(--tiny-text);
}
#stockkarte-app *,#stockkarte-app *::before,#stockkarte-app *::after{box-sizing:border-box;}
#stockkarte-app .tiny-shell{background:var(--tiny-bg);border:1px solid var(--tiny-border);border-radius:18px;padding:16px;}
#stockkarte-app .tiny-main{display:block;}
#stockkarte-app button,#stockkarte-app input,#stockkarte-app select,#stockkarte-app textarea{font:inherit;}
#stockkarte-app button{touch-action:manipulation;}
#stockkarte-app input,#stockkarte-app select,#stockkarte-app textarea{width:100%;background:#fff;color:var(--tiny-text);border:1px solid var(--tiny-border-strong);border-radius:var(--tiny-radius-sm);padding:10px 12px;outline:none;}
#stockkarte-app textarea{min-height:96px;resize:vertical;}
#stockkarte-app input:focus,#stockkarte-app select:focus,#stockkarte-app textarea:focus{border-color:var(--tiny-primary);box-shadow:0 0 0 3px rgba(37,99,235,.14);}
#stockkarte-app .sk-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;border:1px solid var(--tiny-border-strong);background:var(--tiny-surface);color:var(--tiny-text);font-weight:700;line-height:1.2;padding:.6rem .9rem;box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-btn.primary,#stockkarte-app .sk-btn.sk-primary{background:var(--tiny-primary);border-color:var(--tiny-primary);color:#fff;}
#stockkarte-app .sk-btn:hover{filter:brightness(.985);transform:translateY(-1px);}
#stockkarte-app .sk-panel,#stockkarte-app .sk-card{background:var(--tiny-surface);border:1px solid var(--tiny-border);border-radius:var(--tiny-radius);box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-head{background:var(--tiny-surface);border:1px solid var(--tiny-border);border-radius:var(--tiny-radius);padding:12px 14px;box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-version{display:inline-flex;align-items:center;border-radius:999px;background:var(--tiny-primary-soft);color:var(--tiny-primary);font-size:.75rem;padding:.15rem .5rem;vertical-align:middle;}
#stockkarte-app .sk-tabs{background:transparent;border-bottom:0;gap:8px;margin:14px 0;}
#stockkarte-app .sk-tabs button{border:1px solid var(--tiny-border);background:var(--tiny-surface);border-radius:999px;font-weight:800;box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-tabs button.active{background:var(--tiny-primary);border-color:var(--tiny-primary);color:#fff;}
#stockkarte-app .sk-apiary,#stockkarte-app .sk-hive-card{box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-apiary:hover,#stockkarte-app .sk-hive-card:hover{box-shadow:var(--tiny-shadow);}
#stockkarte-app .sk-table{background:var(--tiny-surface);border:1px solid var(--tiny-border);border-radius:var(--tiny-radius);overflow:hidden;display:table;}
#stockkarte-app .sk-table th{background:var(--tiny-surface-2);font-size:.9rem;color:var(--tiny-muted);}
#stockkarte-app .sk-modal{backdrop-filter:blur(2px);}
#stockkarte-app .sk-dialog{border:1px solid var(--tiny-border);box-shadow:var(--tiny-shadow);}
#stockkarte-app .sk-section-divider span{background:var(--tiny-surface);box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-timeline-card{border-radius:var(--tiny-radius);box-shadow:var(--tiny-shadow-sm);}
#stockkarte-app .sk-grade-boxes span,#stockkarte-app .sk-yesno span{border-radius:999px;}
#stockkarte-app .sk-grade-boxes input:checked + span,#stockkarte-app .sk-yesno input:checked + span{background:var(--tiny-primary);border-color:var(--tiny-primary);color:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.14);}
@media (max-width:700px){#stockkarte-app .tiny-shell{padding:10px;border-radius:12px;}#stockkarte-app .sk-btn{width:auto;}}

.imkertools-shell nav ul{display:flex;gap:.75rem;flex-wrap:wrap;list-style:none;padding:0}
.imkertools-shell nav a{display:inline-block;padding:.55rem .8rem;border:1px solid #bbb;border-radius:.3rem;text-decoration:none}
.hb-honeypot{font-size:1.15rem;line-height:1}

/* Globale ImkerTools-Umgebung */
.imkertools-environment-bar{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem;padding:.4rem .65rem;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;min-height:38px}
.imkertools-environment-label{font-size:.86rem;margin-right:.2rem}.imkertools-environment-name{font-size:.78rem;color:#475569}.imkertools-environment-status{margin-left:auto;font-size:.72rem;font-weight:800;letter-spacing:.035em;color:#246b3d;white-space:nowrap}
.imkertools-environment-switch-form{display:flex;margin:0;line-height:1}.imkertools-toggle{display:inline-flex;align-items:center;cursor:pointer}.imkertools-toggle input{position:absolute;opacity:0;pointer-events:none}.imkertools-toggle-track{position:relative;display:inline-block;width:42px;height:22px;border-radius:999px;background:#64748b;transition:background .18s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.imkertools-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s ease}.imkertools-toggle input:checked + .imkertools-toggle-track{background:#b42318}.imkertools-toggle input:checked + .imkertools-toggle-track .imkertools-toggle-thumb{transform:translateX(20px)}.imkertools-toggle input:focus-visible + .imkertools-toggle-track{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}
.imkertools-test-environment .imkertools-environment-bar{border-color:#efb0aa;background:#fff7f6}.imkertools-test-environment .imkertools-environment-status{color:#b42318}
.imkertools-test-warning{margin:0 0 .65rem;padding:.45rem .65rem;border-left:4px solid #b42318;background:#fff2f0;font-size:.82rem}
@media(max-width:700px){.imkertools-environment-bar{gap:.38rem}.imkertools-environment-status{font-size:.66rem}.imkertools-environment-label{display:none}}


/* Durchgängige Kennzeichnung der Testumgebung – Version 1.2.4 */
.imkertools-test-environment{
  --imkertools-test-red:#b42318;
  --imkertools-test-red-soft:#fff4f2;
  --imkertools-test-line:#d92d20;
}
.imkertools-test-environment,
.imkertools-test-environment > nav,
.imkertools-test-environment .imkertools-module-area{
  position:relative;
  border:2px solid var(--imkertools-test-line) !important;
  border-radius:10px;
}
.imkertools-test-environment{padding:8px;background:linear-gradient(180deg,#fffafa 0,#fff 110px)}
.imkertools-test-environment > nav{padding:.3rem;margin-bottom:.55rem;background:#fff8f7}
.imkertools-test-environment .imkertools-module-area{padding:10px;background:#fff}
.imkertools-module-test-badge{
  position:sticky;top:0;z-index:50;display:block;width:max-content;max-width:100%;
  margin:-10px 0 10px -10px;padding:.28rem .65rem;border-radius:8px 0 8px 0;
  background:#b42318;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;
  box-shadow:0 2px 7px rgba(180,35,24,.22)
}

/* Alle Modulfenster, Karten, Formulare, Tabellen- und Eingabebereiche. */
.imkertools-test-environment :is(
  #stockkarte-app,.sk-shell,.sk-panel,.sk-card,.sk-apiary,.sk-hive-card,.sk-dialog,
  #zuchtplaner-app,.zp-wrap,.zp-card,.zp-result,.zp-series-list,
  .hb-wrap,.hb-card,.hb-form,.hb-table-wrap,.hb-charge-summary,
  .lvwp7,.lv-layout,.lv-main,.lv-app-header,.lv-form,.lv-table-scroll,.lv-add-panel,
  .lv-info-box,.lv-locations-page,.lv-delete-note,fieldset
){
  border-color:var(--imkertools-test-line) !important;
  outline:1px solid rgba(217,45,32,.26);
  outline-offset:1px;
}
.imkertools-test-environment :is(form,fieldset){
  border:1px solid var(--imkertools-test-line) !important;
  border-radius:8px;padding:8px;
}
.imkertools-test-environment :is(input,select,textarea,output){
  border-color:#d92d20 !important;
}
.imkertools-test-environment :is(input,select,textarea):focus{
  border-color:#b42318 !important;
  box-shadow:0 0 0 3px rgba(180,35,24,.16) !important;
}
.imkertools-test-environment :is(table,.sk-table,.hb-table,.lv-table){
  border:1px solid var(--imkertools-test-line) !important;
}
.imkertools-test-environment :is(.zp-header,.sk-head,.lv-app-header,.hb-wrap>h2){
  border-left:5px solid var(--imkertools-test-red) !important;
  padding-left:.6rem;
}

/* Stockkarten-Dialoge werden dynamisch direkt an body angehängt. */
body.imkertools-global-test-mode .sk-modal .sk-dialog,
body.imkertools-global-test-mode .sk-modal > div{
  border:3px solid #d92d20 !important;
  box-shadow:0 0 0 5px rgba(217,45,32,.16),0 18px 50px rgba(0,0,0,.25) !important;
  position:relative;
}
body.imkertools-global-test-mode .sk-modal .sk-dialog::before,
body.imkertools-global-test-mode .sk-modal > div::before{
  content:"TESTUMGEBUNG";
  display:block;margin:-1rem -1rem .8rem;padding:.38rem .7rem;
  background:#b42318;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;
  border-radius:.75rem .75rem 0 0;
}
body.imkertools-global-test-mode .sk-modal :is(form,fieldset,.sk-card,.sk-panel){
  border-color:#d92d20 !important;outline:1px solid rgba(217,45,32,.28);outline-offset:1px;
}
body.imkertools-global-test-mode .sk-modal :is(input,select,textarea){border-color:#d92d20 !important}

@media(max-width:700px){
  .imkertools-test-environment{padding:5px}
  .imkertools-test-environment .imkertools-module-area{padding:7px}
  .imkertools-module-test-badge{margin:-7px 0 8px -7px}
}
