:root{--bg: #0e1621;--panel:#131c28;--card:#1b2838;--text:#e6edf3;--muted:#98a2b3;--accent:#3b82f6}*{box-sizing:border-box}body,html,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.4 Inter,system-ui,Segoe UI,Arial}.app{display:flex;height:100%}.left{background:#0c1420;border-right:1px solid #182233;padding:8px;transition:width .2s;display:flex;flex-direction:column;gap:8px}.logo{font-size:20px;cursor:pointer;margin-bottom:6px;opacity:.8}.nav{background:transparent;color:var(--text);border:1px solid #263247;border-radius:12px;padding:10px;text-align:left;cursor:pointer}.nav.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.main{flex:1;padding:16px;overflow:auto}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.title{font-weight:700}.primary{background:var(--accent);border:none;color:#fff;border-radius:10px;padding:8px 12px;cursor:pointer}.scrum .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.col{background:var(--panel);border-radius:14px;display:flex;flex-direction:column;min-height:70vh}.col-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #1f2a3a}.col-body{flex:1;padding:10px;display:flex;flex-direction:column;gap:10px}.card{background:var(--card);border-radius:12px;padding:10px;cursor:grab;border:1px solid #22334a}.card-text{white-space:pre-wrap}.card-meta{display:flex;justify-content:flex-end;opacity:.6}.card-meta button{background:transparent;color:#cbd5e1;border:none;cursor:pointer}.calendar .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar .dow{opacity:.7;text-align:center;margin-bottom:4px}.calendar .cell{background:var(--panel);border-radius:12px;min-height:120px;padding:8px;border:1px solid #1f2a3a;position:relative}.calendar .cell.dim{opacity:.5}.calendar .date{position:absolute;top:6px;right:8px;opacity:.6;font-size:12px}.calendar .events{margin-top:18px;display:flex;flex-direction:column;gap:4px}.event{border-radius:8px;padding:4px 6px;background:#22334a;font-size:12px}.event.moodle{background:#3a2f55}.event.meeting{background:#2c4d2f}.calendar .hint{opacity:.7;margin-top:8px}.chat{display:flex;flex-direction:column;height:100%}.feed{flex:1;background:var(--panel);border-radius:12px;padding:10px;overflow:auto;display:flex;flex-direction:column;gap:8px}.msg .who{font-weight:600;margin-bottom:2px}.msg img{max-width:320px;border-radius:10px;border:1px solid #2a3b4f}.bubble{background:var(--card);padding:8px;border-radius:10px;border:1px solid #22334a}.ts{opacity:.5;font-size:12px}.composer{display:flex;gap:8px;margin-top:10px}.composer input{flex:1;min-width:0;padding:8px;border-radius:10px;border:1px solid #2a3b4f;background:#0f1722;color:var(--text)}.whoinp{flex:0 0 120px}.composer button{padding:8px 12px;border-radius:10px;border:1px solid #2a3b4f;background:var(--accent);color:#fff}.links .addrow{display:flex;gap:8px;margin-bottom:12px}.linklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.linklist li{background:var(--panel);border:1px solid #22334a;border-radius:10px;padding:8px;display:flex;justify-content:space-between;align-items:center}.linklist a{color:#93c5fd;text-decoration:none}.linklist button{background:transparent;color:#cbd5e1;border:1px solid #2a3b4f;border-radius:8px;padding:4px 8px;cursor:pointer}.left{width:220px}.left.collapsed{width:60px}.left .nav{display:flex;align-items:center;gap:10px}.left .nav .icon{font-size:18px;line-height:1}.left .nav .label{white-space:nowrap}.left.collapsed .nav{justify-content:center}.left.collapsed .nav .label{display:none}.logo{background:transparent;border:1px solid #263247;border-radius:10px;padding:8px}
