:root {
  --orange:#FF6B00; --dark:#0a0a0a; --dark2:#111; --dark3:#1a1a1a;
  --grey:#2a2a2a; --grey2:#333; --grey-light:#555;
  --text:#e8e8e8; --text-dim:#aaa;
  --green:#4ade80; --red:#f87171; --blue:#60a5fa; --yellow:#facc15;
}
body.light {
  --dark:#f0f0f0; --dark2:#ffffff; --dark3:#e8e8e8;
  --grey:#cccccc; --grey2:#bbbbbb; --grey-light:#999;
  --text:#111111; --text-dim:#555555;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--dark);color:var(--text);font-family:'Rajdhani',sans-serif;font-weight:500;min-height:100vh}

/* ── LOGIN ── */
#loginScreen{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(255,107,0,0.06),transparent),var(--dark);
}
.login-box{background:var(--dark2);border:1px solid var(--grey);padding:3rem 2.5rem;width:360px;position:relative}
.login-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--orange)}
.login-logo{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.08em;color:var(--orange);margin-bottom:.25rem}
.login-sub{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;margin-bottom:2rem}
.login-error{color:var(--red);font-size:.85rem;margin-bottom:1rem;display:none}

/* ── FORMS ── */
.form-group{margin-bottom:1.2rem}
label{display:block;font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:.4rem}
input[type=text],input[type=password]{
  width:100%;background:var(--dark3);border:1px solid var(--grey);color:var(--text);
  font-family:'Rajdhani',sans-serif;font-size:.95rem;padding:.6rem .8rem;outline:none;transition:border-color .2s
}
input:focus{border-color:var(--orange)}

/* ── BUTTONS ── */
.btn{display:inline-block;font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:.12em;
  padding:.5rem 1.4rem;border:none;cursor:pointer;transition:opacity .2s,transform .15s;text-decoration:none}
.btn:hover{opacity:.85;transform:translateY(-1px)} .btn:active{transform:translateY(0)}
.btn-primary{background:var(--orange);color:#000}
.btn-ghost{background:transparent;border:1px solid var(--grey);color:var(--text)}
.btn-sm{font-size:.7rem;padding:.35rem .9rem;letter-spacing:.1em;font-family:'Share Tech Mono',monospace}

/* ── HEADER ── */
#internScreen{display:none}
.intern-header{
  position:sticky;top:0;z-index:100;
  background:var(--dark2);border-bottom:1px solid rgba(255,107,0,.25);
  padding:0 2rem;height:60px;display:flex;align-items:center;justify-content:space-between;
}
body.light .intern-header{background:rgba(240,240,240,.97)}
.intern-brand{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.08em;color:var(--orange)}
.intern-brand span{color:var(--text)}

/* ── INTERN NAV DROPDOWNS ── */
.intern-nav{display:flex;align-items:center;gap:.25rem}
.i-dropdown{position:relative}
.i-dropdown-btn{
  font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  background:transparent;border:1px solid var(--grey);color:var(--text-dim);
  padding:.4rem .9rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;
  transition:color .2s,border-color .2s;
}
.i-dropdown-btn:hover,.i-dropdown:hover .i-dropdown-btn{color:var(--orange);border-color:rgba(255,107,0,.4)}
.i-dropdown-arrow{font-size:.65rem;transition:transform .2s}
.i-dropdown:hover .i-dropdown-arrow{transform:rotate(180deg)}
.i-dropdown-menu{
  display:none;position:absolute;top:100%;left:0;
  padding-top:6px;
  background:transparent;
  min-width:170px;list-style:none;z-index:200;
}
.i-dropdown-menu::before{
  content:'';display:block;background:var(--dark2);border:1px solid rgba(255,107,0,.2);
  position:absolute;inset:6px 0 0 0;z-index:-1;
}
body.light .i-dropdown-menu{background:#fff}
.i-dropdown:hover .i-dropdown-menu{display:block}
.i-dropdown-menu li a{
  display:flex;align-items:center;gap:.6rem;
  padding:.65rem 1rem;color:var(--text-dim);text-decoration:none;
  font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.04);transition:color .15s,background .15s;
}
.i-dropdown-menu li:last-child a{border-bottom:none}
.i-dropdown-menu li a:hover{color:var(--orange);background:rgba(255,107,0,.06)}
.i-dropdown-menu li a .menu-icon{font-size:.85rem;opacity:.7}

/* ── HEADER RIGHT ── */
.intern-header-right{display:flex;align-items:center;gap:.8rem}
.theme-toggle-wrap{display:flex;align-items:center;gap:.5rem;font-family:'Share Tech Mono',monospace;font-size:.6rem;color:var(--text-dim);letter-spacing:.1em}
.user-badge{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--text-dim);letter-spacing:.1em;border:1px solid var(--grey);padding:.25rem .6rem}
.role-chip{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.1em;padding:.2rem .5rem;text-transform:uppercase;font-weight:700}
.role-owner{background:var(--orange);color:#000}
.role-editor{background:var(--blue);color:#000}
.role-reporter{background:var(--green);color:#000}
.role-player{background:var(--yellow);color:#000}
.role-taktiker{background:#a855f7;color:#fff}

.theme-toggle{background:var(--grey);border:1px solid var(--grey);border-radius:20px;
  width:44px;height:24px;position:relative;cursor:pointer;transition:background .3s;flex-shrink:0}
.theme-toggle::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;
  border-radius:50%;background:var(--orange);transition:transform .3s}
body.light .theme-toggle::after{transform:translateX(20px)}

/* ── CONTENT ── */
.intern-content{max-width:900px;margin:0 auto;padding:3rem 2rem}
.intern-welcome{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;letter-spacing:.08em;
  color:var(--text);margin-bottom:.4rem;display:flex;align-items:center;gap:1rem}
.intern-welcome::after{content:'';flex:1;height:1px;background:var(--grey)}
.intern-sub{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--text-dim);
  letter-spacing:.15em;text-transform:uppercase;margin-bottom:2.5rem}

.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.module-card{
  background:var(--dark2);border:1px solid var(--grey);padding:1.5rem;
  text-decoration:none;color:var(--text);
  transition:border-color .2s,background .2s;display:block;
}
.module-card:hover{border-color:rgba(255,107,0,.4);background:var(--dark3)}
.module-card-icon{font-size:1.6rem;margin-bottom:.7rem}
.module-card-name{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.06em;color:var(--orange)}
.module-card-desc{font-size:.82rem;color:var(--text-dim);margin-top:.3rem;line-height:1.5}

.section-label{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.25em;
  color:var(--text-dim);text-transform:uppercase;margin-bottom:.8rem;margin-top:2rem;
  padding-bottom:.4rem;border-bottom:1px solid var(--grey)}

/* ── KALENDER OVERLAY ── */
.cal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:500;
  display:flex;align-items:center;justify-content:center;padding:1rem}
.cal-modal{background:var(--dark2);border:1px solid rgba(255,107,0,.3);
  width:min(900px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.cal-modal-header{display:flex;align-items:center;justify-content:space-between;
  padding:.8rem 1.5rem;border-bottom:1px solid rgba(255,107,0,.25);flex-shrink:0}
.cal-modal-title{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.08em;color:var(--orange)}
.cal-close-btn{background:transparent;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer;
  line-height:1;padding:.2rem .4rem;transition:color .15s}
.cal-close-btn:hover{color:var(--orange)}
.cal-modal-body{flex:1;overflow-y:auto;padding:1.5rem}
.cal-nav{display:flex;align-items:center;gap:.4rem;margin-bottom:1.2rem}
.cal-nav-btn{background:transparent;border:1px solid var(--grey);color:var(--text-dim);
  font-family:'Share Tech Mono',monospace;font-size:.7rem;padding:.3rem .7rem;cursor:pointer;transition:color .15s,border-color .15s}
.cal-nav-btn:hover{color:var(--orange);border-color:rgba(255,107,0,.4)}
.cal-today-btn{margin-left:.4rem}
.cal-month-label{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.08em;
  color:var(--orange);min-width:200px;text-align:center}
.cal-grid-wrap{overflow-x:auto}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;min-width:490px}
.cal-day-hdr{font-family:'Share Tech Mono',monospace;font-size:.65rem;text-align:center;
  padding:.4rem 0;color:var(--text-dim);letter-spacing:.1em}
.cal-day{background:var(--dark3);border:1px solid var(--grey);min-height:72px;
  padding:.3rem .4rem;cursor:default;transition:border-color .15s;position:relative}
.cal-day.has-events{cursor:pointer}
.cal-day.has-events:hover{border-color:rgba(255,107,0,.4)}
.cal-day.today{border-color:var(--orange)}
.cal-day.other-month{opacity:.25}
.cal-day-num{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--text-dim);margin-bottom:.2rem}
.cal-chip{font-size:.65rem;padding:.1rem .35rem;margin-top:.15rem;display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid}
.cal-chip-lan{background:rgba(255,107,0,.15);color:var(--orange);border-color:var(--orange)}
.cal-chip-appointment{background:rgba(96,165,250,.12);color:#60a5fa;border-color:#60a5fa}
.cal-event-section{margin-top:1.2rem}
.cal-event-section-label{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.2em;
  color:var(--text-dim);text-transform:uppercase;padding-bottom:.4rem;
  border-bottom:1px solid var(--grey);margin-bottom:.6rem}
.cal-event-row{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;
  background:var(--dark3);border:1px solid var(--grey);margin-bottom:.35rem}
.cal-event-row:hover{border-color:rgba(255,107,0,.25)}
.cal-event-type{font-family:'Share Tech Mono',monospace;font-size:.65rem;padding:.15rem .5rem;
  letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}
.cal-event-type-lan{background:rgba(255,107,0,.2);color:var(--orange);border:1px solid rgba(255,107,0,.4)}
.cal-event-type-appointment{background:rgba(96,165,250,.15);color:#60a5fa;border:1px solid rgba(96,165,250,.3)}
.cal-event-title{font-weight:600;font-size:.95rem;flex:1}
.cal-event-dates{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--text-dim);flex-shrink:0}
.cal-event-badges{display:flex;gap:.3rem;flex-shrink:0}
.cal-badge{font-family:'Share Tech Mono',monospace;font-size:.62rem;padding:.1rem .4rem;
  letter-spacing:.1em;border:1px solid}
.cal-badge-pub{color:var(--green);border-color:rgba(74,222,128,.3)}
.cal-badge-shop{color:#facc15;border-color:rgba(250,204,21,.3)}
.cal-form{background:var(--dark3);border:1px solid rgba(255,107,0,.2);padding:1.2rem;margin-top:1.2rem}
.cal-form-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.06em;
  color:var(--orange);margin-bottom:1rem}
.cal-form-row{margin-bottom:.9rem}
.cal-form-row label{display:block;font-family:'Share Tech Mono',monospace;font-size:.65rem;
  letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase;margin-bottom:.35rem}
.cal-form-row input[type=text],.cal-form-row input[type=date]{
  background:var(--dark2);border:1px solid var(--grey);color:var(--text);
  font-family:'Rajdhani',sans-serif;font-size:.9rem;padding:.5rem .7rem;width:100%;outline:none;transition:border-color .2s}
.cal-form-row input:focus{border-color:var(--orange)}
.cal-event-list-header{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.2em;
  color:var(--text-dim);text-transform:uppercase;padding-bottom:.4rem;
  border-bottom:1px solid var(--grey);margin-bottom:.6rem;margin-top:1.2rem}
.cal-event-info{flex:1;min-width:0}
.cal-event-date{font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--text-dim);margin-top:.15rem}
.cal-event-desc{font-size:.82rem;color:var(--text-dim);margin-top:.2rem;white-space:pre-wrap}
.cal-event-actions{display:flex;gap:.4rem;flex-shrink:0}
