/* LAB Workshop specific styles */
:root{
  --ws1:#2D4BD9; --ws1s:#E6EBFB;
  --ws2:#F2762E; --ws2s:#FDEBDD;
  --ws3:#7048E0; --ws3s:#EEE9FD;
  --ws4:#1FA97C; --ws4s:#E2F6EE;
}
.workshop-card{
  background:#fff; border-radius:14px; box-shadow:0 3px 12px rgba(32,38,74,.10);
  border-top:6px solid var(--ws1); padding:22px; margin-bottom:22px;
}
.workshop-card.ws2{border-top-color:var(--ws2);}
.workshop-card.ws3{border-top-color:var(--ws3);}
.workshop-card.ws4{border-top-color:var(--ws4);}
.ws-badge{display:inline-block; font-size:.75rem; font-weight:700; padding:2px 10px; border-radius:999px; margin-bottom:8px;}
.ws1-badge{background:var(--ws1s); color:var(--ws1);}
.ws2-badge{background:var(--ws2s); color:var(--ws2);}
.ws3-badge{background:var(--ws3s); color:var(--ws3);}
.ws4-badge{background:var(--ws4s); color:var(--ws4);}

.prompt-box{background:#F7F8FC; border:1px solid var(--line); border-radius:10px; padding:14px; font-family:monospace; font-size:.9rem; white-space:pre-wrap; overflow-x:auto; position:relative; margin:10px 0;}
.prompt-box .copy-btn{position:absolute; top:8px; right:8px; font-size:.7rem; padding:2px 8px; background:var(--blue); color:#fff; border:none; border-radius:4px; cursor:pointer;}

.download-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; margin:14px 0;}
.dl-card{background:#fff; border:1px solid var(--line); border-radius:10px; padding:12px; text-align:center;}
.dl-card .icon{font-size:1.8rem; margin-bottom:6px;}
.dl-card a{font-weight:700; color:var(--blue); text-decoration:none;}
.dl-card a:hover{text-decoration:underline;}

.model-panel{background:#FAFAFC; border:1px solid var(--line); border-radius:12px; padding:16px; margin-top:16px;}
.model-panel .row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; align-items:center;}
.model-panel label{font-weight:700; font-size:.9rem;}
.model-panel select,.model-panel input[type=text]{flex:1; min-width:180px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font-family:inherit;}
.model-panel textarea{width:100%; min-height:100px; padding:10px; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:.9rem; resize:vertical;}
.model-panel .btn{margin-right:8px;}

.reflection-form{background:#FAFAFC; border:1px solid var(--line); border-radius:12px; padding:16px; margin-top:16px;}
.reflection-form .field{width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; margin:6px 0; font-family:inherit;}
.reflection-form textarea{min-height:80px; resize:vertical;}
.reflection-form .q{font-weight:700; margin:12px 0 4px;}
.reflection-form .subtle{font-size:.85rem; color:var(--muted);}

.admin-table{overflow-x:auto;}
.admin-table table{width:100%; border-collapse:collapse; font-size:.85rem;}
.admin-table th,.admin-table td{border:1px solid var(--line); padding:8px; vertical-align:top;}
.admin-table th{background:var(--soft);}

.tab-nav{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; border-bottom:2px solid var(--line); padding-bottom:6px;}
.tab-btn{padding:8px 16px; border:none; background:#fff; border-radius:8px 8px 0 0; font-weight:700; cursor:pointer; color:var(--muted); border-bottom:none; position:relative; bottom:-2px;}
.tab-btn.active{color:var(--blue); background:var(--soft); border:2px solid var(--line); border-bottom-color:#fff;}
.tab-btn.ws2.active{color:var(--ws2); border-color:var(--ws2); border-bottom-color:#fff;}
.tab-btn.ws3.active{color:var(--ws3); border-color:var(--ws3); border-bottom-color:#fff;}
.tab-btn.ws4.active{color:var(--ws4); border-color:var(--ws4); border-bottom-color:#fff;}
.tab-content{display:none;}
.tab-content.active{display:block;}

@media (max-width:640px){
  .download-grid{grid-template-columns:1fr;}
  .model-panel .row{flex-direction:column; align-items:stretch;}
}