:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{margin:0;background:#f7f7f8;color:#111}.container{max-width:1100px;margin:24px auto;padding:0 16px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.title{font-size:18px;font-weight:800}.card{background:#fff;border:1px solid #e7e7ea;border-radius:10px;padding:14px;margin:5px}.card2{background:#a0d4ed;border:1px solid #e7e7ea;border-radius:10px;padding:14px;margin:5px}.miniCard{background:#fff;border:1px solid #e7e7ea;border-radius:10px;padding:12px}.row{display:flex;gap:12px;margin-top:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:10px}label{display:block;font-size:12px;margin-bottom:6px;color:#333}input,select{width:100%;padding:8px;border:1px solid #ddd;border-radius:8px}button{border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer}button.primary{background:#111;color:#fff}button.secondary{background:#fff;border-color:#ddd}button.danger{background:#fff;border-color:#f0c9c9;color:#a40000}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e7e7ea;border-radius:10px;overflow:hidden}.table th,.table td{padding:10px;border-bottom:1px solid #eee;vertical-align:top}.table th{text-align:left;font-size:12px;color:#444}.list{padding-left:18px;margin:8px 0 0}.listRow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0}.error{background:#ffe8e8;border:1px solid #f5b5b5;padding:10px;border-radius:10px;margin-top:10px}.info{background:#eef6ff;border:1px solid #c9e2ff;padding:10px;border-radius:10px;margin-top:10px}.muted{color:#666;font-size:13px}.link{font-size:13px;text-decoration:none;color:#0b57d0}.weekGrid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;margin-top:10px}.dayCol{background:#fff;border:1px solid #e7e7ea;border-radius:10px;padding:10px;min-height:220px}.dayHeader{font-weight:800;margin-bottom:8px}.sectionLabel{font-size:12px;color:#666;margin:8px 0 6px}.chip{border:1px solid #eee;border-radius:10px;padding:8px;margin-bottom:8px;background:#fafafa}.chipActivity{position:relative}.chipRemove{position:absolute;bottom:2px;right:2px;border:none;background:transparent;font-size:16px;line-height:1;cursor:pointer;color:#888}.chipRemove:hover{color:#a40000}.chip{position:relative}.chipProgram{position:relative;background:#eef1ff;border-color:#d8ddff}.chipConflict{border-color:#e54848;background:#fff0f0}.chipConflict .muted{color:#a40000}.tabsBar{display:flex;gap:8px;align-items:stretch;margin-top:10px;overflow-x:auto;padding-bottom:6px}.tab{position:relative;min-width:140px;background:#fff;border:1px solid #e7e7ea;border-radius:10px;padding:10px 34px 10px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.tabActive{border-color:#111}.tabTitle{font-weight:800}.tabMeta{font-size:12px;color:#666;margin-top:2px}.tabClose{position:absolute;right:8px;top:8px;border:none;background:transparent;cursor:pointer;font-size:16px;color:#888}.tabClose:hover{color:#a40000}.tabAdd{display:flex;align-items:center;justify-content:center;font-weight:700;color:#111;background:#f7f7f8}.row{align-items:center}.rowTight{display:flex;gap:10px;align-items:flex-end;flex-wrap:nowrap;margin-top:0}.controlLabel{display:block;font-size:12px;margin-bottom:6px;color:#333}.controlSelect,.controlInput,.controlButton{height:36px;padding:8px;border-radius:8px}.controlSelect,.controlInput{border:1px solid #ddd}.controlButton{padding:8px 10px}.controlFixed{width:auto!important}.rowTight{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.topbarLeft{display:flex;align-items:center;gap:10px}.topbarLogo{height:90px}
