/* SG Ausbildungsplaner – Whiteboard-Look */
.sgap-app, .sgap-gate{
  --sgap-wall:#e9e0c9; --sgap-wall2:#d8cdb0;
  --sgap-paper:#fbfaf6; --sgap-grid:#c9d4e0; --sgap-ink:#2b3a4a;
  --sgap-teal:#2e8b8b; --sgap-red:#c0392b; --sgap-orange:#d9752b;
  --sgap-blue:#69b0cf; --sgap-blue-ink:#1c4e6e;
  --sgap-green:#43a45f; --sgap-nOrange:#f29a3d;
  --sgap-nRed:#d63a26; --sgap-yellow:#e9e93f; --sgap-mint:#b9e6c5; --sgap-grey:#b8b8ae;
  --sgap-tape:rgba(255,252,230,.65);
  font-family:'Kalam',cursive; color:var(--sgap-ink);
  background:linear-gradient(var(--sgap-wall),var(--sgap-wall2));
  padding:22px 18px 36px; border-radius:4px;
  box-sizing:border-box;
}
.sgap-app *, .sgap-gate *{box-sizing:border-box;}

/* ---------- login gate ---------- */
.sgap-gate{display:flex;justify-content:center;padding:60px 18px;}
.sgap-login{
  background:
    repeating-linear-gradient(0deg,transparent 0 23px,var(--sgap-grid) 23px 24px),
    repeating-linear-gradient(90deg,transparent 0 23px,var(--sgap-grid) 23px 24px),
    var(--sgap-paper);
  border-radius:2px; box-shadow:0 8px 22px rgba(60,45,20,.28);
  padding:28px 26px 26px; width:min(94vw,380px); position:relative;
}
.sgap-login::before{
  content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-1.5deg);
  width:72px;height:20px;background:var(--sgap-tape);box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.sgap-login h2{font-family:'Caveat',cursive;font-size:2rem;margin:0 0 4px;}
.sgap-login-sub{font-size:.9rem;opacity:.7;margin:0 0 16px;}
.sgap-login label{display:block;font-size:.9rem;margin-bottom:12px;}
.sgap-login input{
  display:block;width:100%;margin-top:4px;padding:8px 10px;font-family:'Kalam',cursive;font-size:1rem;
  border:1.5px solid rgba(43,58,74,.4);border-radius:3px;background:#fff;
}
.sgap-err{color:var(--sgap-red);font-weight:700;font-size:.9rem;margin:0 0 12px;}

.sgap-btn{
  font-family:'Kalam',cursive;font-size:.9rem;border:1.5px solid var(--sgap-ink);
  background:var(--sgap-paper);border-radius:4px;padding:6px 14px;cursor:pointer;color:var(--sgap-ink);
  box-shadow:1px 2px 0 rgba(43,58,74,.4);text-decoration:none;display:inline-block;
}
.sgap-btn:hover{transform:translateY(-1px);}
.sgap-btn:active{transform:translateY(1px);box-shadow:none;}
.sgap-primary{background:var(--sgap-ink);color:var(--sgap-paper);width:100%;}
.sgap-danger{border-color:var(--sgap-red);color:var(--sgap-red);}

/* ---------- header ---------- */
.sgap-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.sgap-head h2{font-family:'Caveat',cursive;font-size:2.2rem;margin:0;line-height:1.1;}
.sgap-head .sgap-sub{font-size:.88rem;opacity:.7;}
.sgap-tools{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.sgap-state{font-size:.8rem;opacity:.7;min-width:120px;text-align:right;}
.sgap-who{font-size:.85rem;opacity:.75;}

/* ---------- sheet ---------- */
.sgap-sheet{
  background:
    repeating-linear-gradient(0deg,transparent 0 23px,var(--sgap-grid) 23px 24px),
    repeating-linear-gradient(90deg,transparent 0 23px,var(--sgap-grid) 23px 24px),
    var(--sgap-paper);
  border-radius:2px;box-shadow:0 8px 22px rgba(60,45,20,.28);position:relative;
  padding:16px 12px 20px;overflow-x:auto;
}
.sgap-sheet::before,.sgap-sheet::after{
  content:"";position:absolute;top:-9px;width:64px;height:20px;background:var(--sgap-tape);
  box-shadow:0 1px 2px rgba(0,0,0,.12);transform:rotate(-2deg);z-index:5;
}
.sgap-sheet::before{left:6%;} .sgap-sheet::after{right:6%;transform:rotate(2.5deg);}

.sgap-grid{display:grid;grid-template-columns:196px repeat(12,minmax(80px,1fr));min-width:1330px;}
.sgap-cell{border-left:1.5px solid #3a3a3a;padding:2px 3px;min-height:34px;position:relative;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;}
.sgap-cell.first{border-left:none;}
.sgap-rowlab{border-left:none;justify-content:flex-start;padding-right:8px;
  font-family:'Caveat',cursive;font-size:1.06rem;font-weight:700;text-align:left;cursor:text;}
.sgap-rowlab:hover{background:rgba(255,255,255,.55);}
.sgap-rowlab.frei{opacity:.4;font-style:italic;font-weight:500;}
.sgap-rowline{border-bottom:1px solid rgba(43,58,74,.14);}
.sgap-grouphead{grid-column:1/-1;padding:7px 2px 2px;border-top:2.5px solid;margin-top:6px;}
.sgap-grouphead span{font-family:'Caveat',cursive;font-size:1.12rem;font-weight:700;letter-spacing:.6px;}
.sgap-ctx{font-size:.85rem;opacity:.65;margin-bottom:10px;}
.sgap-month{font-weight:700;font-size:.97rem;text-align:center;border-bottom:2px solid #3a3a3a;
  padding:4px 2px 6px;flex-direction:column;gap:0;}
.sgap-month small{display:block;font-family:'Caveat',cursive;font-size:.82rem;color:#4a3fa0;line-height:1.05;}

.sgap-bandrow{min-height:26px;}
.sgap-band{position:absolute;inset:3px 2px;border-radius:3px;display:flex;align-items:center;justify-content:center;
  font-family:'Caveat',cursive;font-weight:700;font-size:1rem;color:var(--sgap-teal);
  background:repeating-linear-gradient(115deg,transparent 0 7px,rgba(46,139,139,.28) 7px 9px);}
.sgap-band.plain{background:none;}
.sgap-bandlabel{background:var(--sgap-paper);padding:0 8px;border-radius:8px;white-space:nowrap;}

.sgap-sep{grid-column:1/-1;height:0;border-top:2px solid;opacity:.75;}

.sgap-drop{transition:background .12s;}
.sgap-drop:hover{background:rgba(255,255,255,.4);cursor:cell;}
.sgap-drop.over{background:rgba(105,176,207,.22);outline:2px dashed rgba(43,58,74,.4);outline-offset:-2px;}

/* ---------- notes ---------- */
.sgap-note{
  display:inline-block;max-width:100%;padding:4px 6px 5px;border-radius:1px;
  font-family:'Caveat',cursive;font-weight:600;font-size:.97rem;line-height:1;text-align:center;
  box-shadow:1px 2px 4px rgba(40,30,10,.3);position:relative;cursor:grab;user-select:none;
  transform:rotate(-1.5deg);
}
.sgap-note:nth-child(even){transform:rotate(1.4deg);}
.sgap-note:hover{transform:rotate(0) scale(1.04);z-index:4;}
.sgap-note.dragging{opacity:.35;}
.sgap-note.blue{background:linear-gradient(160deg,#7fbeda,var(--sgap-blue));color:var(--sgap-blue-ink);}
.sgap-note.green{background:linear-gradient(160deg,#55b571,var(--sgap-green));color:#0c3a1c;}
.sgap-note.orange{background:linear-gradient(160deg,#f6ab58,var(--sgap-nOrange));color:#7a3c05;}
.sgap-note.red{background:linear-gradient(160deg,#e04a35,var(--sgap-nRed));color:#fff;}
.sgap-note.yellow{background:linear-gradient(160deg,#f0f052,var(--sgap-yellow));color:#4a4a10;}
.sgap-note.mint{background:var(--sgap-mint);color:#1d5c37;}
.sgap-note.grey{background:linear-gradient(160deg,#d5d5cd,var(--sgap-grey));color:#33332c;}
.sgap-note.event{background:none;box-shadow:none;color:var(--sgap-red);font-weight:700;transform:rotate(-1.5deg);}
.sgap-note .q{position:absolute;top:-7px;right:-6px;background:#fff;border:1.5px dashed var(--sgap-red);
  color:var(--sgap-red);font-size:.68rem;font-weight:700;width:17px;height:17px;line-height:13px;
  border-radius:50%;font-family:'Kalam',cursive;text-align:center;}


/* ---------- editor ---------- */
.sgap-overlay{position:fixed;inset:0;background:rgba(30,25,15,.35);display:none;align-items:center;justify-content:center;z-index:99999;}
.sgap-overlay.open{display:flex;}
.sgap-editor{
  background:var(--sgap-paper);border-radius:4px;box-shadow:0 12px 40px rgba(0,0,0,.35);
  padding:20px 22px;width:min(92vw,390px);position:relative;font-family:'Kalam',cursive;color:var(--sgap-ink);
}
.sgap-editor::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-1.5deg);
  width:70px;height:20px;background:var(--sgap-tape);box-shadow:0 1px 2px rgba(0,0,0,.12);}
.sgap-editor h3{font-family:'Caveat',cursive;font-size:1.5rem;margin:0 0 10px;}
.sgap-editor textarea{
  width:100%;min-height:64px;font-family:'Caveat',cursive;font-size:1.25rem;font-weight:600;
  border:1.5px solid rgba(43,58,74,.4);border-radius:3px;padding:8px;background:#fff;resize:vertical;
}
.sgap-row{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
.sgap-row.top{align-items:flex-start;}
.sgap-editor label{font-size:.9rem;display:flex;align-items:center;gap:6px;cursor:pointer;margin:0;}
.sgap-editor select{font-family:'Kalam',cursive;font-size:.9rem;padding:4px;border-radius:3px;border:1.5px solid rgba(43,58,74,.4);}
.sgap-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;}
.sgap-swatches{display:flex;gap:7px;flex-wrap:wrap;}
.sgap-sw{width:32px;height:24px;border-radius:2px;cursor:pointer;position:relative;
  box-shadow:1px 2px 3px rgba(40,30,10,.3);border:2px solid transparent;transform:rotate(-2deg);}
.sgap-sw:nth-child(even){transform:rotate(2deg);}
.sgap-sw:hover{transform:rotate(0) scale(1.1);}
.sgap-sw.sel{border-color:var(--sgap-ink);transform:rotate(0) scale(1.12);}
.sgap-sw.auto{background:repeating-linear-gradient(45deg,#eee 0 5px,#ddd 5px 10px);
  font-size:.62rem;line-height:20px;text-align:center;color:#555;}

.sgap-foot{margin-top:14px;font-size:.85rem;opacity:.75;display:flex;gap:20px;flex-wrap:wrap;}
.sgap-loading{opacity:.6;}

@media (max-width:782px){
  .sgap-tools{width:100%;margin-left:0;justify-content:flex-start;}
  .sgap-state{text-align:left;}
}
